diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d5696c123db32..4e9fa9387c9c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,9 +95,9 @@ importers: vanilla-cookieconsent: 2.8.5 devDependencies: '@storybook/addon-a11y': 6.5.12_biqbaboplfbrettd7655fr4n2y - '@storybook/addon-essentials': 6.5.12_txkhxnwx7iliil3hgqqpsbtdkq - '@storybook/builder-vite': 0.2.2_6wxpqpvzr33trunpzsvv567ji4 - '@storybook/react': 6.5.12_j7u5zqcbknxwjz5jkq4oqeocla + '@storybook/addon-essentials': 6.5.12_ehxjltspajcysklsgue4g44hsy + '@storybook/builder-vite': 0.2.2_7dwu2gf4q36hnlqkbgbkgqupdm + '@storybook/react': 6.5.12_ehxjltspajcysklsgue4g44hsy '@testing-library/dom': 8.17.1 '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y @@ -182,14 +182,14 @@ importers: '@types/lossless-json': 1.0.1 eslint: 8.23.0 eslint-config-prettier: 8.5.0_eslint@8.23.0 - eslint-config-react-app: 7.0.1_j2dbjqxyzvzithathogtgf7aly + eslint-config-react-app: 7.0.1_yqf6kl63nyoq5megxukfnom5rm eslint-plugin-prettier: 4.2.1_tgumt6uwl2md3n6uqnggd6wvce husky: 7.0.4 mockttp: 2.7.0 prettier: 2.7.1 size-limit: 7.0.8 ts-auto-guard: 2.4.1 - ts-node: 10.9.1_vnsoxmlgtk2egvrupetmxdngm4 + ts-node: 10.9.1_typescript@4.8.2 tslib: 2.4.0 tsup: 6.2.2_s5ojjbx2isjkawqptqpitvy25q typedoc: 0.23.11_typescript@4.8.2 @@ -243,6 +243,7 @@ importers: wallet: specifiers: '@mysten/sui.js': workspace:* + '@popperjs/core': ^2.11.6 '@reduxjs/toolkit': ^1.8.3 '@scure/bip32': ^1.1.0 '@types/dotenv-webpack': ^7.0.3 @@ -279,6 +280,7 @@ importers: react-dom: ^18.2.0 react-intl: ^6.0.5 react-number-format: ^4.9.3 + react-popper: ^2.3.0 react-redux: ^8.0.2 react-router-dom: ^6.3.0 react-textarea-autosize: ^8.3.4 @@ -306,6 +308,7 @@ importers: yup: ^0.32.11 dependencies: '@mysten/sui.js': link:../sdk/typescript + '@popperjs/core': 2.11.6 '@reduxjs/toolkit': 1.8.5_kkwg4cbsojnjnupd3btipussee '@scure/bip32': 1.1.0 bip39-light: 1.0.7 @@ -318,7 +321,8 @@ importers: react-dom: 18.2.0_react@18.2.0 react-intl: 6.0.8_lcpkensb7jie5krrreeio77aaa react-number-format: 4.9.3_biqbaboplfbrettd7655fr4n2y - react-redux: 8.0.2_3scyx54fe4cnnff6navzqxutae + react-popper: 2.3.0_r6q5zrenym2zg7je7hgi674bti + react-redux: 8.0.2_6hrpdt74nuubt2lijsfizev3cu react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y react-textarea-autosize: 8.3.4_w5j4k42lgipnm43s3brx6h3c34 rxjs: 7.5.6 @@ -394,8 +398,8 @@ importers: vite: ^3.0.9 vite-tsconfig-paths: ^3.5.0 dependencies: - '@emotion/react': 11.10.0_tvco4kzti3wmyzzwa6b4uj5u5m - '@emotion/styled': 11.10.0_73ukamyiorq5zcl5zyuobv4icq + '@emotion/react': 11.10.0_w5j4k42lgipnm43s3brx6h3c34 + '@emotion/styled': 11.10.0_rogfb5w6uoxrjijlhs3ke665fa '@mui/icons-material': 5.8.4_c24pbp3dso6uqkhedl4tzqimk4 '@mui/material': 5.10.1_zu7od5agdonfngvjm2fmoel47y '@mysten/sui.js': link:../sdk/typescript @@ -406,7 +410,7 @@ importers: '@mysten/wallet-adapter-sui-wallet': link:packages/adapters/sui-wallet '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y - '@testing-library/user-event': 13.5.0_wl4iynrlixafokvgqnhzlvigei + '@testing-library/user-event': 13.5.0 '@types/node': 16.11.49 '@types/react': 18.0.20 '@types/react-dom': 18.0.6 @@ -531,6 +535,7 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.15 + dev: true /@ardatan/aggregate-error/0.0.6: resolution: {integrity: sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==} @@ -548,6 +553,7 @@ packages: /@babel/compat-data/7.18.8: resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==} engines: {node: '>=6.9.0'} + dev: true /@babel/core/7.12.9: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} @@ -594,6 +600,7 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: true /@babel/eslint-parser/7.18.9_vpm4f2cg7baehg25txksxfh2hy: resolution: {integrity: sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==} @@ -616,6 +623,7 @@ packages: '@babel/types': 7.18.10 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 + dev: true /@babel/helper-annotate-as-pure/7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} @@ -632,6 +640,18 @@ packages: '@babel/types': 7.18.10 dev: true + /@babel/helper-compilation-targets/7.18.9: + resolution: {integrity: sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.3 + semver: 6.3.0 + dev: true + /@babel/helper-compilation-targets/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==} engines: {node: '>=6.9.0'} @@ -643,6 +663,24 @@ packages: '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.3 semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin/7.18.9: + resolution: {integrity: sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.18.9 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true /@babel/helper-create-class-features-plugin/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==} @@ -662,6 +700,16 @@ packages: - supports-color dev: true + /@babel/helper-create-regexp-features-plugin/7.18.6: + resolution: {integrity: sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.1.0 + dev: true + /@babel/helper-create-regexp-features-plugin/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==} engines: {node: '>=6.9.0'} @@ -691,6 +739,21 @@ packages: - supports-color dev: true + /@babel/helper-define-polyfill-provider/0.3.2: + resolution: {integrity: sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/helper-compilation-targets': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-define-polyfill-provider/0.3.2_@babel+core@7.18.10: resolution: {integrity: sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==} peerDependencies: @@ -710,6 +773,7 @@ packages: /@babel/helper-environment-visitor/7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-explode-assignable-expression/7.18.6: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} @@ -724,12 +788,14 @@ packages: dependencies: '@babel/template': 7.18.10 '@babel/types': 7.18.10 + dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.18.10 + dev: true /@babel/helper-member-expression-to-functions/7.18.9: resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} @@ -758,6 +824,7 @@ packages: '@babel/types': 7.18.10 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-optimise-call-expression/7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} @@ -774,6 +841,20 @@ packages: resolution: {integrity: sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==} engines: {node: '>=6.9.0'} + /@babel/helper-remap-async-to-generator/7.18.9: + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.18.11 + '@babel/types': 7.18.10 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} @@ -807,6 +888,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.18.10 + dev: true /@babel/helper-skip-transparent-expression-wrappers/7.18.9: resolution: {integrity: sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==} @@ -820,6 +902,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.18.10 + dev: true /@babel/helper-string-parser/7.18.10: resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} @@ -832,6 +915,7 @@ packages: /@babel/helper-validator-option/7.18.6: resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-wrap-function/7.18.11: resolution: {integrity: sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==} @@ -854,6 +938,7 @@ packages: '@babel/types': 7.18.10 transitivePeerDependencies: - supports-color + dev: true /@babel/highlight/7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -869,6 +954,16 @@ packages: hasBin: true dependencies: '@babel/types': 7.18.10 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6: + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} @@ -880,6 +975,17 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.9: + resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 + '@babel/plugin-proposal-optional-chaining': 7.18.9 + dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} engines: {node: '>=6.9.0'} @@ -892,6 +998,20 @@ packages: '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-async-generator-functions/7.18.10: + resolution: {integrity: sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-remap-async-to-generator': 7.18.9 + '@babel/plugin-syntax-async-generators': 7.8.4 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-proposal-async-generator-functions/7.18.10_@babel+core@7.18.10: resolution: {integrity: sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==} engines: {node: '>=6.9.0'} @@ -907,6 +1027,18 @@ packages: - supports-color dev: true + /@babel/plugin-proposal-class-properties/7.18.6: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-create-class-features-plugin': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} @@ -920,6 +1052,19 @@ packages: - supports-color dev: true + /@babel/plugin-proposal-class-static-block/7.18.6: + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/helper-create-class-features-plugin': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-class-static-block': 7.14.5 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-proposal-class-static-block/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} engines: {node: '>=6.9.0'} @@ -950,6 +1095,16 @@ packages: - supports-color dev: true + /@babel/plugin-proposal-dynamic-import/7.18.6: + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-dynamic-import': 7.8.3 + dev: true + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} @@ -972,6 +1127,16 @@ packages: '@babel/plugin-syntax-export-default-from': 7.18.6_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-export-namespace-from/7.18.9: + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-export-namespace-from': 7.8.3 + dev: true + /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} @@ -983,6 +1148,16 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-json-strings/7.18.6: + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-json-strings': 7.8.3 + dev: true + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} @@ -994,6 +1169,16 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-logical-assignment-operators/7.18.9: + resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4 + dev: true + /@babel/plugin-proposal-logical-assignment-operators/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} engines: {node: '>=6.9.0'} @@ -1005,6 +1190,16 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3 + dev: true + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} @@ -1016,6 +1211,16 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-numeric-separator/7.18.6: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-numeric-separator': 7.10.4 + dev: true + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} @@ -1038,6 +1243,19 @@ packages: '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.12.9 dev: true + /@babel/plugin-proposal-object-rest-spread/7.18.9: + resolution: {integrity: sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/helper-compilation-targets': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-object-rest-spread': 7.8.3 + '@babel/plugin-transform-parameters': 7.18.8 + dev: true + /@babel/plugin-proposal-object-rest-spread/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==} engines: {node: '>=6.9.0'} @@ -1052,6 +1270,16 @@ packages: '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-optional-catch-binding/7.18.6: + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3 + dev: true + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} @@ -1063,6 +1291,17 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-optional-chaining/7.18.9: + resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 + '@babel/plugin-syntax-optional-chaining': 7.8.3 + dev: true + /@babel/plugin-proposal-optional-chaining/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} engines: {node: '>=6.9.0'} @@ -1075,6 +1314,18 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.10 dev: true + /@babel/plugin-proposal-private-methods/7.18.6: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-create-class-features-plugin': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} @@ -1088,6 +1339,20 @@ packages: - supports-color dev: true + /@babel/plugin-proposal-private-property-in-object/7.18.6: + resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-private-property-in-object': 7.14.5 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} engines: {node: '>=6.9.0'} @@ -1103,6 +1368,16 @@ packages: - supports-color dev: true + /@babel/plugin-proposal-unicode-property-regex/7.18.6: + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-create-regexp-features-plugin': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} @@ -1114,6 +1389,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-async-generators/7.8.4: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.18.10: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -1123,6 +1406,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-class-properties/7.12.13: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.10: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -1132,6 +1423,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-class-static-block/7.14.5: + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.18.10: resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -1152,17 +1452,25 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.18.10: + /@babel/plugin-syntax-dynamic-import/7.8.3: resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 dev: true - /@babel/plugin-syntax-export-default-from/7.18.6_@babel+core@7.18.10: - resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==} + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.18.10: + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.10 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + + /@babel/plugin-syntax-export-default-from/7.18.6_@babel+core@7.18.10: + resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1171,6 +1479,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-export-namespace-from/7.8.3: + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.18.10: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -1180,6 +1496,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-flow/7.18.6: + resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} engines: {node: '>=6.9.0'} @@ -1190,6 +1515,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-import-assertions/7.18.6: + resolution: {integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-import-assertions/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==} engines: {node: '>=6.9.0'} @@ -1200,6 +1534,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-json-strings/7.8.3: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.18.10: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1218,6 +1560,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-jsx/7.18.6: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} @@ -1226,6 +1576,15 @@ packages: dependencies: '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.18.10: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1236,6 +1595,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.18.10: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -1245,6 +1612,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-numeric-separator/7.10.4: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.18.10: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -1254,6 +1629,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-object-rest-spread/7.8.3: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.9: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1272,6 +1655,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-optional-catch-binding/7.8.3: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.10: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1281,6 +1672,14 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-optional-chaining/7.8.3: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.18.10: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1290,6 +1689,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-private-property-in-object/7.14.5: + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.18.10: resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -1300,6 +1708,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-syntax-top-level-await/7.14.5: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.18.10: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -1320,6 +1737,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-arrow-functions/7.18.6: + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} engines: {node: '>=6.9.0'} @@ -1330,6 +1756,19 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-async-to-generator/7.18.6: + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-remap-async-to-generator': 7.18.9 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-async-to-generator/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} engines: {node: '>=6.9.0'} @@ -1344,6 +1783,15 @@ packages: - supports-color dev: true + /@babel/plugin-transform-block-scoped-functions/7.18.6: + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} @@ -1354,6 +1802,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-block-scoping/7.18.9: + resolution: {integrity: sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-block-scoping/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==} engines: {node: '>=6.9.0'} @@ -1364,6 +1821,24 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-classes/7.18.9: + resolution: {integrity: sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.18.9 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-replace-supers': 7.18.9 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-classes/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==} engines: {node: '>=6.9.0'} @@ -1383,6 +1858,15 @@ packages: - supports-color dev: true + /@babel/plugin-transform-computed-properties/7.18.9: + resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-computed-properties/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} engines: {node: '>=6.9.0'} @@ -1393,6 +1877,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-destructuring/7.18.9: + resolution: {integrity: sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-destructuring/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==} engines: {node: '>=6.9.0'} @@ -1403,6 +1896,16 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-dotall-regex/7.18.6: + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-create-regexp-features-plugin': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} @@ -1414,6 +1917,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-duplicate-keys/7.18.9: + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} @@ -1424,6 +1936,16 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-exponentiation-operator/7.18.6: + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} @@ -1435,6 +1957,16 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-flow-strip-types/7.18.9: + resolution: {integrity: sha512-+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-flow': 7.18.6 + dev: true + /@babel/plugin-transform-flow-strip-types/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A==} engines: {node: '>=6.9.0'} @@ -1446,6 +1978,15 @@ packages: '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.10 dev: true + /@babel/plugin-transform-for-of/7.18.8: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.18.10: resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} engines: {node: '>=6.9.0'} @@ -1456,6 +1997,17 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-function-name/7.18.9: + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-compilation-targets': 7.18.9 + '@babel/helper-function-name': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} @@ -1468,6 +2020,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-literals/7.18.9: + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-literals/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} @@ -1478,6 +2039,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-member-expression-literals/7.18.6: + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} @@ -1488,6 +2058,19 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-modules-amd/7.18.6: + resolution: {integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-module-transforms': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-modules-amd/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==} engines: {node: '>=6.9.0'} @@ -1502,6 +2085,20 @@ packages: - supports-color dev: true + /@babel/plugin-transform-modules-commonjs/7.18.6: + resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-module-transforms': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-simple-access': 7.18.6 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-modules-commonjs/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} engines: {node: '>=6.9.0'} @@ -1517,6 +2114,21 @@ packages: - supports-color dev: true + /@babel/plugin-transform-modules-systemjs/7.18.9: + resolution: {integrity: sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-validator-identifier': 7.18.6 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-modules-systemjs/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==} engines: {node: '>=6.9.0'} @@ -1533,6 +2145,18 @@ packages: - supports-color dev: true + /@babel/plugin-transform-modules-umd/7.18.6: + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-module-transforms': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} @@ -1546,6 +2170,16 @@ packages: - supports-color dev: true + /@babel/plugin-transform-named-capturing-groups-regex/7.18.6: + resolution: {integrity: sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-create-regexp-features-plugin': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-named-capturing-groups-regex/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==} engines: {node: '>=6.9.0'} @@ -1557,6 +2191,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-new-target/7.18.6: + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} @@ -1567,6 +2210,18 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-object-super/7.18.6: + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-replace-supers': 7.18.9 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} @@ -1580,6 +2235,15 @@ packages: - supports-color dev: true + /@babel/plugin-transform-parameters/7.18.8: + resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.12.9: resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} engines: {node: '>=6.9.0'} @@ -1600,6 +2264,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-property-literals/7.18.6: + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} @@ -1610,6 +2283,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-react-display-name/7.18.6: + resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} engines: {node: '>=6.9.0'} @@ -1620,6 +2302,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-react-jsx-development/7.18.6: + resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/plugin-transform-react-jsx': 7.18.10 + dev: true + /@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} engines: {node: '>=6.9.0'} @@ -1650,6 +2341,19 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-react-jsx/7.18.10: + resolution: {integrity: sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-syntax-jsx': 7.18.6 + '@babel/types': 7.18.10 + dev: true + /@babel/plugin-transform-react-jsx/7.18.10_@babel+core@7.18.10: resolution: {integrity: sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==} engines: {node: '>=6.9.0'} @@ -1664,6 +2368,16 @@ packages: '@babel/types': 7.18.10 dev: true + /@babel/plugin-transform-react-pure-annotations/7.18.6: + resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-react-pure-annotations/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} engines: {node: '>=6.9.0'} @@ -1675,6 +2389,16 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-regenerator/7.18.6: + resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + regenerator-transform: 0.15.0 + dev: true + /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} engines: {node: '>=6.9.0'} @@ -1683,64 +2407,110 @@ packages: dependencies: '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 - regenerator-transform: 0.15.0 + regenerator-transform: 0.15.0 + dev: true + + /@babel/plugin-transform-reserved-words/7.18.6: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.18.10: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.10 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + + /@babel/plugin-transform-runtime/7.18.10_@babel+core@7.18.10: + resolution: {integrity: sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.10 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + babel-plugin-polyfill-corejs2: 0.3.2_@babel+core@7.18.10 + babel-plugin-polyfill-corejs3: 0.5.3_@babel+core@7.18.10 + babel-plugin-polyfill-regenerator: 0.4.0_@babel+core@7.18.10 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-shorthand-properties/7.18.6: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.18.10: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.10 + '@babel/helper-plugin-utils': 7.18.9 dev: true - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.18.10: - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + /@babel/plugin-transform-spread/7.18.9: + resolution: {integrity: sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 dev: true - /@babel/plugin-transform-runtime/7.18.10_@babel+core@7.18.10: - resolution: {integrity: sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==} + /@babel/plugin-transform-spread/7.18.9_@babel+core@7.18.10: + resolution: {integrity: sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.10 - '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.18.9 - babel-plugin-polyfill-corejs2: 0.3.2_@babel+core@7.18.10 - babel-plugin-polyfill-corejs3: 0.5.3_@babel+core@7.18.10 - babel-plugin-polyfill-regenerator: 0.4.0_@babel+core@7.18.10 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 dev: true - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.18.10: - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + /@babel/plugin-transform-sticky-regex/7.18.6: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 dev: true - /@babel/plugin-transform-spread/7.18.9_@babel+core@7.18.10: - resolution: {integrity: sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==} + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.18.10: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 dev: true - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.18.10: - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + /@babel/plugin-transform-template-literals/7.18.9: + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 dev: true @@ -1754,6 +2524,15 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-typeof-symbol/7.18.9: + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.18.10: resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} @@ -1778,6 +2557,15 @@ packages: - supports-color dev: true + /@babel/plugin-transform-unicode-escapes/7.18.10: + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.18.10: resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} @@ -1788,6 +2576,16 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/plugin-transform-unicode-regex/7.18.6: + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-create-regexp-features-plugin': 7.18.6 + '@babel/helper-plugin-utils': 7.18.9 + dev: true + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} @@ -1799,6 +2597,91 @@ packages: '@babel/helper-plugin-utils': 7.18.9 dev: true + /@babel/preset-env/7.18.10: + resolution: {integrity: sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/helper-compilation-targets': 7.18.9 + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9 + '@babel/plugin-proposal-async-generator-functions': 7.18.10 + '@babel/plugin-proposal-class-properties': 7.18.6 + '@babel/plugin-proposal-class-static-block': 7.18.6 + '@babel/plugin-proposal-dynamic-import': 7.18.6 + '@babel/plugin-proposal-export-namespace-from': 7.18.9 + '@babel/plugin-proposal-json-strings': 7.18.6 + '@babel/plugin-proposal-logical-assignment-operators': 7.18.9 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6 + '@babel/plugin-proposal-numeric-separator': 7.18.6 + '@babel/plugin-proposal-object-rest-spread': 7.18.9 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.9 + '@babel/plugin-proposal-private-methods': 7.18.6 + '@babel/plugin-proposal-private-property-in-object': 7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4 + '@babel/plugin-syntax-class-properties': 7.12.13 + '@babel/plugin-syntax-class-static-block': 7.14.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3 + '@babel/plugin-syntax-export-namespace-from': 7.8.3 + '@babel/plugin-syntax-import-assertions': 7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4 + '@babel/plugin-syntax-object-rest-spread': 7.8.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3 + '@babel/plugin-syntax-private-property-in-object': 7.14.5 + '@babel/plugin-syntax-top-level-await': 7.14.5 + '@babel/plugin-transform-arrow-functions': 7.18.6 + '@babel/plugin-transform-async-to-generator': 7.18.6 + '@babel/plugin-transform-block-scoped-functions': 7.18.6 + '@babel/plugin-transform-block-scoping': 7.18.9 + '@babel/plugin-transform-classes': 7.18.9 + '@babel/plugin-transform-computed-properties': 7.18.9 + '@babel/plugin-transform-destructuring': 7.18.9 + '@babel/plugin-transform-dotall-regex': 7.18.6 + '@babel/plugin-transform-duplicate-keys': 7.18.9 + '@babel/plugin-transform-exponentiation-operator': 7.18.6 + '@babel/plugin-transform-for-of': 7.18.8 + '@babel/plugin-transform-function-name': 7.18.9 + '@babel/plugin-transform-literals': 7.18.9 + '@babel/plugin-transform-member-expression-literals': 7.18.6 + '@babel/plugin-transform-modules-amd': 7.18.6 + '@babel/plugin-transform-modules-commonjs': 7.18.6 + '@babel/plugin-transform-modules-systemjs': 7.18.9 + '@babel/plugin-transform-modules-umd': 7.18.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.18.6 + '@babel/plugin-transform-new-target': 7.18.6 + '@babel/plugin-transform-object-super': 7.18.6 + '@babel/plugin-transform-parameters': 7.18.8 + '@babel/plugin-transform-property-literals': 7.18.6 + '@babel/plugin-transform-regenerator': 7.18.6 + '@babel/plugin-transform-reserved-words': 7.18.6 + '@babel/plugin-transform-shorthand-properties': 7.18.6 + '@babel/plugin-transform-spread': 7.18.9 + '@babel/plugin-transform-sticky-regex': 7.18.6 + '@babel/plugin-transform-template-literals': 7.18.9 + '@babel/plugin-transform-typeof-symbol': 7.18.9 + '@babel/plugin-transform-unicode-escapes': 7.18.10 + '@babel/plugin-transform-unicode-regex': 7.18.6 + '@babel/preset-modules': 0.1.5 + '@babel/types': 7.18.10 + babel-plugin-polyfill-corejs2: 0.3.2 + babel-plugin-polyfill-corejs3: 0.5.3 + babel-plugin-polyfill-regenerator: 0.4.0 + core-js-compat: 3.24.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/preset-env/7.18.10_@babel+core@7.18.10: resolution: {integrity: sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==} engines: {node: '>=6.9.0'} @@ -1885,16 +2768,27 @@ packages: - supports-color dev: true - /@babel/preset-flow/7.18.6_@babel+core@7.18.10: + /@babel/preset-flow/7.18.6: resolution: {integrity: sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.18.10 '@babel/helper-plugin-utils': 7.18.9 '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-transform-flow-strip-types': 7.18.9_@babel+core@7.18.10 + '@babel/plugin-transform-flow-strip-types': 7.18.9 + dev: true + + /@babel/preset-modules/0.1.5: + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6 + '@babel/types': 7.18.10 + esutils: 2.0.3 dev: true /@babel/preset-modules/0.1.5_@babel+core@7.18.10: @@ -1910,6 +2804,20 @@ packages: esutils: 2.0.3 dev: true + /@babel/preset-react/7.18.6: + resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-plugin-utils': 7.18.9 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-transform-react-display-name': 7.18.6 + '@babel/plugin-transform-react-jsx': 7.18.10 + '@babel/plugin-transform-react-jsx-development': 7.18.6 + '@babel/plugin-transform-react-pure-annotations': 7.18.6 + dev: true + /@babel/preset-react/7.18.6_@babel+core@7.18.10: resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} engines: {node: '>=6.9.0'} @@ -1974,6 +2882,7 @@ packages: '@babel/code-frame': 7.18.6 '@babel/parser': 7.18.11 '@babel/types': 7.18.10 + dev: true /@babel/traverse/7.18.11: resolution: {integrity: sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==} @@ -1991,6 +2900,7 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: true /@babel/types/7.18.10: resolution: {integrity: sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==} @@ -2452,14 +3362,13 @@ packages: is-negated-glob: 1.0.0 dev: true - /@emotion/babel-plugin/11.10.0_@babel+core@7.18.10: + /@emotion/babel-plugin/11.10.0: resolution: {integrity: sha512-xVnpDAAbtxL1dsuSelU5A7BnY/lftws0wUexNJZTPsvX/1tM4GZJbclgODhvW4E+NH7E5VFcH0bBn30NvniPJA==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.18.10 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.10 + '@babel/plugin-syntax-jsx': 7.18.6 '@babel/runtime': 7.18.9 '@emotion/hash': 0.9.0 '@emotion/memoize': 0.8.0 @@ -2496,7 +3405,7 @@ packages: resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} dev: false - /@emotion/react/11.10.0_tvco4kzti3wmyzzwa6b4uj5u5m: + /@emotion/react/11.10.0_w5j4k42lgipnm43s3brx6h3c34: resolution: {integrity: sha512-K6z9zlHxxBXwN8TcpwBKcEsBsOw4JWCCmR+BeeOWgqp8GIU1yA2Odd41bwdAAr0ssbQrbJbVnndvv7oiv1bZeQ==} peerDependencies: '@babel/core': ^7.0.0 @@ -2508,9 +3417,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/core': 7.18.10 '@babel/runtime': 7.18.9 - '@emotion/babel-plugin': 11.10.0_@babel+core@7.18.10 + '@emotion/babel-plugin': 11.10.0 '@emotion/cache': 11.10.1 '@emotion/serialize': 1.1.0 '@emotion/utils': 1.2.0 @@ -2534,7 +3442,7 @@ packages: resolution: {integrity: sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==} dev: false - /@emotion/styled/11.10.0_73ukamyiorq5zcl5zyuobv4icq: + /@emotion/styled/11.10.0_rogfb5w6uoxrjijlhs3ke665fa: resolution: {integrity: sha512-V9oaEH6V4KePeQpgUE83i8ht+4Ri3E8Djp/ZPJ4DQlqWhSKITvgzlR3/YQE2hdfP4Jw3qVRkANJz01LLqK9/TA==} peerDependencies: '@babel/core': ^7.0.0 @@ -2547,11 +3455,10 @@ packages: '@types/react': optional: true dependencies: - '@babel/core': 7.18.10 '@babel/runtime': 7.18.9 - '@emotion/babel-plugin': 11.10.0_@babel+core@7.18.10 + '@emotion/babel-plugin': 11.10.0 '@emotion/is-prop-valid': 1.2.0 - '@emotion/react': 11.10.0_tvco4kzti3wmyzzwa6b4uj5u5m + '@emotion/react': 11.10.0_w5j4k42lgipnm43s3brx6h3c34 '@emotion/serialize': 1.1.0 '@emotion/utils': 1.2.0 '@types/react': 18.0.20 @@ -2904,6 +3811,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 + dev: true /@jridgewell/gen-mapping/0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} @@ -3152,8 +4060,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.18.9 - '@emotion/react': 11.10.0_tvco4kzti3wmyzzwa6b4uj5u5m - '@emotion/styled': 11.10.0_73ukamyiorq5zcl5zyuobv4icq + '@emotion/react': 11.10.0_w5j4k42lgipnm43s3brx6h3c34 + '@emotion/styled': 11.10.0_rogfb5w6uoxrjijlhs3ke665fa '@mui/base': 5.0.0-alpha.93_7ey2zzynotv32rpkwno45fsx4e '@mui/core-downloads-tracker': 5.10.1 '@mui/system': 5.10.1_maiwdqbdhbns5hauqn3m4lqcpi @@ -3238,8 +4146,8 @@ packages: dependencies: '@babel/runtime': 7.18.9 '@emotion/cache': 11.10.1 - '@emotion/react': 11.10.0_tvco4kzti3wmyzzwa6b4uj5u5m - '@emotion/styled': 11.10.0_73ukamyiorq5zcl5zyuobv4icq + '@emotion/react': 11.10.0_w5j4k42lgipnm43s3brx6h3c34 + '@emotion/styled': 11.10.0_rogfb5w6uoxrjijlhs3ke665fa csstype: 3.1.1 prop-types: 15.8.1 react: 18.2.0 @@ -3262,8 +4170,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.18.9 - '@emotion/react': 11.10.0_tvco4kzti3wmyzzwa6b4uj5u5m - '@emotion/styled': 11.10.0_73ukamyiorq5zcl5zyuobv4icq + '@emotion/react': 11.10.0_w5j4k42lgipnm43s3brx6h3c34 + '@emotion/styled': 11.10.0_rogfb5w6uoxrjijlhs3ke665fa '@mui/private-theming': 5.9.3_w5j4k42lgipnm43s3brx6h3c34 '@mui/styled-engine': 5.10.1_rq3l25qc4qpq3j4w6o4x7hatzy '@mui/types': 7.1.5_@types+react@18.0.20 @@ -3597,7 +4505,7 @@ packages: dependencies: immer: 9.0.15 react: 18.2.0 - react-redux: 8.0.2_3scyx54fe4cnnff6navzqxutae + react-redux: 8.0.2_6hrpdt74nuubt2lijsfizev3cu redux: 4.2.0 redux-thunk: 2.4.1_redux@4.2.0 reselect: 4.1.6 @@ -3873,7 +4781,7 @@ packages: - webpack-command dev: true - /@storybook/addon-docs/6.5.12_txkhxnwx7iliil3hgqqpsbtdkq: + /@storybook/addon-docs/6.5.12_ehxjltspajcysklsgue4g44hsy: resolution: {integrity: sha512-T+QTkmF7QlMVfXHXEberP8CYti/XMTo9oi6VEbZLx+a2N3qY4GZl7X2g26Sf5V4Za+xnapYKBMEIiJ5SvH9weQ==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -3887,8 +4795,8 @@ packages: react-dom: optional: true dependencies: - '@babel/plugin-transform-react-jsx': 7.18.10_@babel+core@7.18.10 - '@babel/preset-env': 7.18.10_@babel+core@7.18.10 + '@babel/plugin-transform-react-jsx': 7.18.10 + '@babel/preset-env': 7.18.10 '@jest/transform': 26.6.2 '@mdx-js/react': 1.6.22_react@18.2.0 '@storybook/addons': 6.5.12_biqbaboplfbrettd7655fr4n2y @@ -3898,14 +4806,14 @@ packages: '@storybook/core-events': 6.5.12 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.12_biqbaboplfbrettd7655fr4n2y - '@storybook/mdx1-csf': 0.0.1_@babel+core@7.18.10 + '@storybook/mdx1-csf': 0.0.1 '@storybook/node-logger': 6.5.12 '@storybook/postinstall': 6.5.12 '@storybook/preview-web': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/source-loader': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/store': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/theming': 6.5.12_biqbaboplfbrettd7655fr4n2y - babel-loader: 8.2.5_xc6oct4hcywdrbo4ned6ytbybm + babel-loader: 8.2.5 core-js: 3.22.8 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -3928,7 +4836,7 @@ packages: - webpack-command dev: true - /@storybook/addon-essentials/6.5.12_txkhxnwx7iliil3hgqqpsbtdkq: + /@storybook/addon-essentials/6.5.12_ehxjltspajcysklsgue4g44hsy: resolution: {integrity: sha512-4AAV0/mQPSk3V0Pie1NIqqgBgScUc0VtBEXDm8BgPeuDNVhPEupnaZgVt+I3GkzzPPo6JjdCsp2L11f3bBSEjw==} peerDependencies: '@babel/core': ^7.9.6 @@ -3985,11 +4893,10 @@ packages: webpack: optional: true dependencies: - '@babel/core': 7.18.10 '@storybook/addon-actions': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/addon-backgrounds': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/addon-controls': 6.5.12_ehxjltspajcysklsgue4g44hsy - '@storybook/addon-docs': 6.5.12_txkhxnwx7iliil3hgqqpsbtdkq + '@storybook/addon-docs': 6.5.12_ehxjltspajcysklsgue4g44hsy '@storybook/addon-measure': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/addon-outline': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/addon-toolbars': 6.5.12_biqbaboplfbrettd7655fr4n2y @@ -4003,7 +4910,6 @@ packages: react-dom: 18.2.0_react@18.2.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 - webpack: 5.74.0 transitivePeerDependencies: - '@storybook/mdx2-csf' - eslint @@ -4158,7 +5064,7 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/builder-vite/0.2.2_6wxpqpvzr33trunpzsvv567ji4: + /@storybook/builder-vite/0.2.2_7dwu2gf4q36hnlqkbgbkgqupdm: resolution: {integrity: sha512-kFY/Rbk+Bu5KmXOCP8CMxp6gfbNGGyNZwikWZe21NHcrVzwHg/aTs+MR37maRqlWcpJvTZmbkKMHak0+vDqpvw==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -4170,7 +5076,7 @@ packages: '@joshwooding/vite-plugin-react-docgen-typescript': 0.0.5_dl5nou5ldq7zlftzutsw4wm3t4 '@rollup/pluginutils': 4.2.1 '@storybook/core-common': 6.5.12_ehxjltspajcysklsgue4g44hsy - '@storybook/mdx1-csf': 0.0.4_byq7oc57qftat37gkdlgphtura + '@storybook/mdx1-csf': 0.0.4_react@18.2.0 '@storybook/node-logger': 6.5.12 '@storybook/source-loader': 6.5.12_biqbaboplfbrettd7655fr4n2y '@vitejs/plugin-react': 2.0.1_vite@3.0.9 @@ -4719,6 +5625,25 @@ packages: - webpack-command dev: true + /@storybook/mdx1-csf/0.0.1: + resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==} + dependencies: + '@babel/generator': 7.18.12 + '@babel/parser': 7.18.11 + '@babel/preset-env': 7.18.10 + '@babel/types': 7.18.10 + '@mdx-js/mdx': 1.6.22 + '@types/lodash': 4.14.183 + js-string-escape: 1.0.1 + loader-utils: 2.0.2 + lodash: 4.17.21 + prettier: 2.3.0 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + /@storybook/mdx1-csf/0.0.1_@babel+core@7.18.10: resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==} dependencies: @@ -4738,12 +5663,12 @@ packages: - supports-color dev: true - /@storybook/mdx1-csf/0.0.4_byq7oc57qftat37gkdlgphtura: + /@storybook/mdx1-csf/0.0.4_react@18.2.0: resolution: {integrity: sha512-xxUEMy0D+0G1aSYxbeVNbs+XBU5nCqW4I7awpBYSTywXDv/MJWeC6FDRpj5P1pgfq8j8jWDD5ZDvBQ7syFg0LQ==} dependencies: '@babel/generator': 7.18.12 '@babel/parser': 7.18.11 - '@babel/preset-env': 7.18.10_@babel+core@7.18.10 + '@babel/preset-env': 7.18.10 '@babel/types': 7.18.10 '@mdx-js/mdx': 1.6.22 '@mdx-js/react': 1.6.22_react@18.2.0 @@ -4820,7 +5745,7 @@ packages: - supports-color dev: true - /@storybook/react/6.5.12_j7u5zqcbknxwjz5jkq4oqeocla: + /@storybook/react/6.5.12_ehxjltspajcysklsgue4g44hsy: resolution: {integrity: sha512-1tG8EdSfp+OZAKAWPT2UrexF4o007jEMwQFFXw1atIQrQOADzSnZ7lTYJ08o5TyJwksswtr18tH3oJJ9sG3KPw==} engines: {node: '>=10.13.0'} hasBin: true @@ -4848,9 +5773,8 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.18.10 - '@babel/preset-flow': 7.18.6_@babel+core@7.18.10 - '@babel/preset-react': 7.18.6_@babel+core@7.18.10 + '@babel/preset-flow': 7.18.6 + '@babel/preset-react': 7.18.6 '@pmmmwh/react-refresh-webpack-plugin': 0.5.7_metx475lqcp4j5c75za4zf7xbi '@storybook/addons': 6.5.12_biqbaboplfbrettd7655fr4n2y '@storybook/client-logger': 6.5.12 @@ -4883,7 +5807,6 @@ packages: react-refresh: 0.11.0 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 - require-from-string: 2.0.2 ts-dedent: 2.2.0 typescript: 4.8.2 util-deprecate: 1.0.2 @@ -5260,14 +6183,13 @@ packages: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - /@testing-library/user-event/13.5.0_wl4iynrlixafokvgqnhzlvigei: + /@testing-library/user-event/13.5.0: resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==} engines: {node: '>=10', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: '@babel/runtime': 7.18.9 - '@testing-library/dom': 8.17.1 dev: false /@testing-library/user-event/14.4.3_wl4iynrlixafokvgqnhzlvigei: @@ -6564,10 +7486,8 @@ packages: ajv: 6.12.6 dev: true - /ajv-formats/2.1.1_ajv@8.11.0: + /ajv-formats/2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -7066,22 +7986,20 @@ packages: resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} dev: true - /babel-loader/8.2.5_5ouqwanl7jnotevpn4w6qovjqm: + /babel-loader/8.2.5: resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.18.10 find-cache-dir: 3.3.2 loader-utils: 2.0.2 make-dir: 3.1.0 schema-utils: 2.7.0 - webpack: 4.46.0 dev: true - /babel-loader/8.2.5_xc6oct4hcywdrbo4ned6ytbybm: + /babel-loader/8.2.5_5ouqwanl7jnotevpn4w6qovjqm: resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==} engines: {node: '>= 8.9'} peerDependencies: @@ -7093,7 +8011,7 @@ packages: loader-utils: 2.0.2 make-dir: 3.1.0 schema-utils: 2.7.0 - webpack: 5.74.0 + webpack: 4.46.0 dev: true /babel-plugin-add-react-displayname/0.0.5: @@ -7143,6 +8061,18 @@ packages: cosmiconfig: 7.0.1 resolve: 1.22.1 + /babel-plugin-polyfill-corejs2/0.3.2: + resolution: {integrity: sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/helper-define-polyfill-provider': 0.3.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs2/0.3.2_@babel+core@7.18.10: resolution: {integrity: sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==} peerDependencies: @@ -7168,6 +8098,17 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-corejs3/0.5.3: + resolution: {integrity: sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-define-polyfill-provider': 0.3.2 + core-js-compat: 3.24.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs3/0.5.3_@babel+core@7.18.10: resolution: {integrity: sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==} peerDependencies: @@ -7180,6 +8121,16 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-regenerator/0.4.0: + resolution: {integrity: sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-define-polyfill-provider': 0.3.2 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-regenerator/0.4.0_@babel+core@7.18.10: resolution: {integrity: sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==} peerDependencies: @@ -8945,6 +9896,7 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: true /debug/4.3.4_supports-color@8.1.1: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -10112,41 +11064,6 @@ packages: eslint: 8.23.0 dev: true - /eslint-config-react-app/7.0.1_j2dbjqxyzvzithathogtgf7aly: - resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} - engines: {node: '>=14.0.0'} - peerDependencies: - eslint: ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@babel/core': 7.18.10 - '@babel/eslint-parser': 7.18.9_vpm4f2cg7baehg25txksxfh2hy - '@rushstack/eslint-patch': 1.1.4 - '@typescript-eslint/eslint-plugin': 5.36.1_igikwj7h7sdylrb42zly4eg334 - '@typescript-eslint/parser': 5.33.1_yqf6kl63nyoq5megxukfnom5rm - babel-preset-react-app: 10.0.1 - confusing-browser-globals: 1.0.11 - eslint: 8.23.0 - eslint-plugin-flowtype: 8.0.3_xnr5m7kv2ic24htweuxsnnmjpu - eslint-plugin-import: 2.26.0_o3lufpuzf7r4o6gqqyvujixnre - eslint-plugin-jest: 25.7.0_vj2biyzi5xv6yshnzimrvgmo7e - eslint-plugin-jsx-a11y: 6.6.1_eslint@8.23.0 - eslint-plugin-react: 7.30.1_eslint@8.23.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.23.0 - eslint-plugin-testing-library: 5.6.0_yqf6kl63nyoq5megxukfnom5rm - typescript: 4.8.2 - transitivePeerDependencies: - - '@babel/plugin-syntax-flow' - - '@babel/plugin-transform-react-jsx' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - dev: true - /eslint-config-react-app/7.0.1_yqf6kl63nyoq5megxukfnom5rm: resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} @@ -10233,21 +11150,6 @@ packages: string-natural-compare: 3.0.1 dev: true - /eslint-plugin-flowtype/8.0.3_xnr5m7kv2ic24htweuxsnnmjpu: - resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@babel/plugin-syntax-flow': ^7.14.5 - '@babel/plugin-transform-react-jsx': ^7.14.9 - eslint: ^8.1.0 - dependencies: - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.10 - '@babel/plugin-transform-react-jsx': 7.18.10_@babel+core@7.18.10 - eslint: 8.23.0 - lodash: 4.17.21 - string-natural-compare: 3.0.1 - dev: true - /eslint-plugin-header/3.1.1_eslint@8.23.0: resolution: {integrity: sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==} peerDependencies: @@ -11572,6 +12474,7 @@ packages: /gensync/1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + dev: true /get-caller-file/2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -11792,6 +12695,7 @@ packages: /globals/11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + dev: true /globals/13.17.0: resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} @@ -13330,6 +14234,7 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + dev: true /json-buffer/3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -13377,6 +14282,7 @@ packages: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} hasBin: true + dev: true /jsonc-parser/3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -14453,6 +15359,7 @@ packages: /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -15770,7 +16677,7 @@ packages: optional: true dependencies: lilconfig: 2.0.6 - ts-node: 10.9.1_vnsoxmlgtk2egvrupetmxdngm4 + ts-node: 10.9.1_typescript@4.8.2 yaml: 1.10.2 dev: true @@ -16573,6 +17480,10 @@ packages: resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==} dev: false + /react-fast-compare/3.2.0: + resolution: {integrity: sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==} + dev: false + /react-ga4/1.4.1: resolution: {integrity: sha512-ioBMEIxd4ePw4YtaloTUgqhQGqz5ebDdC4slEpLgy2sLx1LuZBC9iYCwDymTXzcntw6K1dHX183ulP32nNdG7w==} dev: false @@ -16631,7 +17542,21 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /react-redux/8.0.2_3scyx54fe4cnnff6navzqxutae: + /react-popper/2.3.0_r6q5zrenym2zg7je7hgi674bti: + resolution: {integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==} + peerDependencies: + '@popperjs/core': ^2.0.0 + react: ^16.8.0 || ^17 || ^18 + react-dom: ^16.8.0 || ^17 || ^18 + dependencies: + '@popperjs/core': 2.11.6 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-fast-compare: 3.2.0 + warning: 4.0.3 + dev: false + + /react-redux/8.0.2_6hrpdt74nuubt2lijsfizev3cu: resolution: {integrity: sha512-nBwiscMw3NoP59NFCXFf02f8xdo+vSHT/uZ1ldDwF7XaTpzm+Phk97VT4urYBl5TYAPNVaFm12UHAEyzkpNzRA==} peerDependencies: '@types/react': ^16.8 || ^17.0 || ^18.0 @@ -16661,7 +17586,6 @@ packages: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-is: 18.2.0 - redux: 4.2.0 use-sync-external-store: 1.2.0_react@18.2.0 dev: false @@ -17432,7 +18356,7 @@ packages: dependencies: '@types/json-schema': 7.0.11 ajv: 8.11.0 - ajv-formats: 2.1.1_ajv@8.11.0 + ajv-formats: 2.1.1 ajv-keywords: 5.1.0_ajv@8.11.0 dev: true @@ -17451,6 +18375,7 @@ packages: /semver/6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true + dev: true /semver/7.0.0: resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} @@ -19078,6 +20003,36 @@ packages: code-block-writer: 10.1.1 dev: true + /ts-node/10.9.1_typescript@4.8.2: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + acorn: 8.8.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.8.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /ts-node/10.9.1_vnsoxmlgtk2egvrupetmxdngm4: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -20115,6 +21070,12 @@ packages: makeerror: 1.0.12 dev: true + /warning/4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + dev: false + /watchpack-chokidar2/2.0.1: resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} requiresBuild: true diff --git a/wallet/font-icons/output/sui-icons.eot b/wallet/font-icons/output/sui-icons.eot index e126388c93fb3..86a406bb82641 100644 Binary files a/wallet/font-icons/output/sui-icons.eot and b/wallet/font-icons/output/sui-icons.eot differ diff --git a/wallet/font-icons/output/sui-icons.scss b/wallet/font-icons/output/sui-icons.scss index b5dfb3615c8c9..775208d1afb33 100644 --- a/wallet/font-icons/output/sui-icons.scss +++ b/wallet/font-icons/output/sui-icons.scss @@ -27,23 +27,24 @@ .sui-icons-arrow-left:before { content: "\ea0a"; } .sui-icons-arrow-right:before { content: "\ea0b"; } .sui-icons-checkmark:before { content: "\ea0c"; } -.sui-icons-clipboard:before { content: "\ea0d"; } -.sui-icons-close:before { content: "\ea0e"; } -.sui-icons-coins:before { content: "\ea0f"; } -.sui-icons-globe:before { content: "\ea10"; } -.sui-icons-hand-coins:before { content: "\ea11"; } -.sui-icons-history:before { content: "\ea12"; } -.sui-icons-logout:before { content: "\ea13"; } -.sui-icons-nfts:before { content: "\ea14"; } -.sui-icons-percentage-polygon:before { content: "\ea15"; } -.sui-icons-person:before { content: "\ea16"; } -.sui-icons-search:before { content: "\ea17"; } -.sui-icons-sui-chevron-right:before { content: "\ea18"; } -.sui-icons-sui-logo-icon:before { content: "\ea19"; } -.sui-icons-sui-logo-txt:before { content: "\ea1a"; } -.sui-icons-swap:before { content: "\ea1b"; } -.sui-icons-tokens:before { content: "\ea1c"; } -.sui-icons-version-icon:before { content: "\ea1d"; } +.sui-icons-chevron-down:before { content: "\ea0d"; } +.sui-icons-clipboard:before { content: "\ea0e"; } +.sui-icons-close:before { content: "\ea0f"; } +.sui-icons-coins:before { content: "\ea10"; } +.sui-icons-globe:before { content: "\ea11"; } +.sui-icons-hand-coins:before { content: "\ea12"; } +.sui-icons-history:before { content: "\ea13"; } +.sui-icons-logout:before { content: "\ea14"; } +.sui-icons-nfts:before { content: "\ea15"; } +.sui-icons-percentage-polygon:before { content: "\ea16"; } +.sui-icons-person:before { content: "\ea17"; } +.sui-icons-search:before { content: "\ea18"; } +.sui-icons-sui-chevron-right:before { content: "\ea19"; } +.sui-icons-sui-logo-icon:before { content: "\ea1a"; } +.sui-icons-sui-logo-txt:before { content: "\ea1b"; } +.sui-icons-swap:before { content: "\ea1c"; } +.sui-icons-tokens:before { content: "\ea1d"; } +.sui-icons-version-icon:before { content: "\ea1e"; } $sui-icons-Buy: "\ea01"; $sui-icons-Download: "\ea02"; @@ -57,21 +58,22 @@ $sui-icons-apps: "\ea09"; $sui-icons-arrow-left: "\ea0a"; $sui-icons-arrow-right: "\ea0b"; $sui-icons-checkmark: "\ea0c"; -$sui-icons-clipboard: "\ea0d"; -$sui-icons-close: "\ea0e"; -$sui-icons-coins: "\ea0f"; -$sui-icons-globe: "\ea10"; -$sui-icons-hand-coins: "\ea11"; -$sui-icons-history: "\ea12"; -$sui-icons-logout: "\ea13"; -$sui-icons-nfts: "\ea14"; -$sui-icons-percentage-polygon: "\ea15"; -$sui-icons-person: "\ea16"; -$sui-icons-search: "\ea17"; -$sui-icons-sui-chevron-right: "\ea18"; -$sui-icons-sui-logo-icon: "\ea19"; -$sui-icons-sui-logo-txt: "\ea1a"; -$sui-icons-swap: "\ea1b"; -$sui-icons-tokens: "\ea1c"; -$sui-icons-version-icon: "\ea1d"; +$sui-icons-chevron-down: "\ea0d"; +$sui-icons-clipboard: "\ea0e"; +$sui-icons-close: "\ea0f"; +$sui-icons-coins: "\ea10"; +$sui-icons-globe: "\ea11"; +$sui-icons-hand-coins: "\ea12"; +$sui-icons-history: "\ea13"; +$sui-icons-logout: "\ea14"; +$sui-icons-nfts: "\ea15"; +$sui-icons-percentage-polygon: "\ea16"; +$sui-icons-person: "\ea17"; +$sui-icons-search: "\ea18"; +$sui-icons-sui-chevron-right: "\ea19"; +$sui-icons-sui-logo-icon: "\ea1a"; +$sui-icons-sui-logo-txt: "\ea1b"; +$sui-icons-swap: "\ea1c"; +$sui-icons-tokens: "\ea1d"; +$sui-icons-version-icon: "\ea1e"; diff --git a/wallet/font-icons/output/sui-icons.svg b/wallet/font-icons/output/sui-icons.svg index 6b4b8e20b8094..f5098c4012445 100644 --- a/wallet/font-icons/output/sui-icons.svg +++ b/wallet/font-icons/output/sui-icons.svg @@ -43,56 +43,59 @@ - + diff --git a/wallet/font-icons/output/sui-icons.ts b/wallet/font-icons/output/sui-icons.ts index a71ab17b7a92f..cc3b29af384a7 100644 --- a/wallet/font-icons/output/sui-icons.ts +++ b/wallet/font-icons/output/sui-icons.ts @@ -14,6 +14,7 @@ export enum SuiIcons { ArrowLeft = "sui-icons-arrow-left", ArrowRight = "sui-icons-arrow-right", Checkmark = "sui-icons-checkmark", + ChevronDown = "sui-icons-chevron-down", Clipboard = "sui-icons-clipboard", Close = "sui-icons-close", Coins = "sui-icons-coins", @@ -33,6 +34,6 @@ export enum SuiIcons { VersionIcon = "sui-icons-version-icon" } -export type SuiIconsClassname = "sui-icons-Buy" | "sui-icons-Download" | "sui-icons-Info" | "sui-icons-Plus" | "sui-icons-Preview" | "sui-icons-ThumbsUp" | "sui-icons-Union" | "sui-icons-activity" | "sui-icons-apps" | "sui-icons-arrow-left" | "sui-icons-arrow-right" | "sui-icons-checkmark" | "sui-icons-clipboard" | "sui-icons-close" | "sui-icons-coins" | "sui-icons-globe" | "sui-icons-hand-coins" | "sui-icons-history" | "sui-icons-logout" | "sui-icons-nfts" | "sui-icons-percentage-polygon" | "sui-icons-person" | "sui-icons-search" | "sui-icons-sui-chevron-right" | "sui-icons-sui-logo-icon" | "sui-icons-sui-logo-txt" | "sui-icons-swap" | "sui-icons-tokens" | "sui-icons-version-icon" -export type SuiIconsIcon = "Buy" | "Download" | "Info" | "Plus" | "Preview" | "ThumbsUp" | "Union" | "activity" | "apps" | "arrow-left" | "arrow-right" | "checkmark" | "clipboard" | "close" | "coins" | "globe" | "hand-coins" | "history" | "logout" | "nfts" | "percentage-polygon" | "person" | "search" | "sui-chevron-right" | "sui-logo-icon" | "sui-logo-txt" | "swap" | "tokens" | "version-icon" -export const SuiIconsPrefix = "sui-icons-" \ No newline at end of file +export type SuiIconsClassname = "sui-icons-Buy" | "sui-icons-Download" | "sui-icons-Info" | "sui-icons-Plus" | "sui-icons-Preview" | "sui-icons-ThumbsUp" | "sui-icons-Union" | "sui-icons-activity" | "sui-icons-apps" | "sui-icons-arrow-left" | "sui-icons-arrow-right" | "sui-icons-checkmark" | "sui-icons-chevron-down" | "sui-icons-clipboard" | "sui-icons-close" | "sui-icons-coins" | "sui-icons-globe" | "sui-icons-hand-coins" | "sui-icons-history" | "sui-icons-logout" | "sui-icons-nfts" | "sui-icons-percentage-polygon" | "sui-icons-person" | "sui-icons-search" | "sui-icons-sui-chevron-right" | "sui-icons-sui-logo-icon" | "sui-icons-sui-logo-txt" | "sui-icons-swap" | "sui-icons-tokens" | "sui-icons-version-icon" +export type SuiIconsIcon = "Buy" | "Download" | "Info" | "Plus" | "Preview" | "ThumbsUp" | "Union" | "activity" | "apps" | "arrow-left" | "arrow-right" | "checkmark" | "chevron-down" | "clipboard" | "close" | "coins" | "globe" | "hand-coins" | "history" | "logout" | "nfts" | "percentage-polygon" | "person" | "search" | "sui-chevron-right" | "sui-logo-icon" | "sui-logo-txt" | "swap" | "tokens" | "version-icon" +export const SuiIconsPrefix = "sui-icons-" diff --git a/wallet/font-icons/output/sui-icons.ttf b/wallet/font-icons/output/sui-icons.ttf index 00a0692d9ea52..66576cce69f3c 100644 Binary files a/wallet/font-icons/output/sui-icons.ttf and b/wallet/font-icons/output/sui-icons.ttf differ diff --git a/wallet/font-icons/output/sui-icons.woff b/wallet/font-icons/output/sui-icons.woff index a7516e0907916..8ee7dd28ac2bb 100644 Binary files a/wallet/font-icons/output/sui-icons.woff and b/wallet/font-icons/output/sui-icons.woff differ diff --git a/wallet/font-icons/output/sui-icons.woff2 b/wallet/font-icons/output/sui-icons.woff2 index 66c0b7fa82f9c..e7c19bba0c4e8 100644 Binary files a/wallet/font-icons/output/sui-icons.woff2 and b/wallet/font-icons/output/sui-icons.woff2 differ diff --git a/wallet/font-icons/svgs/chevron-down.svg b/wallet/font-icons/svgs/chevron-down.svg new file mode 100644 index 0000000000000..1b0e61269a7f4 --- /dev/null +++ b/wallet/font-icons/svgs/chevron-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/wallet/package.json b/wallet/package.json index c22c5c9b177ef..75e20dea365aa 100644 --- a/wallet/package.json +++ b/wallet/package.json @@ -77,6 +77,7 @@ }, "dependencies": { "@mysten/sui.js": "workspace:*", + "@popperjs/core": "^2.11.6", "@reduxjs/toolkit": "^1.8.3", "@scure/bip32": "^1.1.0", "bip39-light": "^1.0.7", @@ -89,6 +90,7 @@ "react-dom": "^18.2.0", "react-intl": "^6.0.5", "react-number-format": "^4.9.3", + "react-popper": "^2.3.0", "react-redux": "^8.0.2", "react-router-dom": "^6.3.0", "react-textarea-autosize": "^8.3.4", diff --git a/wallet/src/background/Permissions.ts b/wallet/src/background/Permissions.ts index 610e84473f0f3..e0b438f82d7a6 100644 --- a/wallet/src/background/Permissions.ts +++ b/wallet/src/background/Permissions.ts @@ -224,6 +224,16 @@ class Permissions { ); } + public async delete(origin: string) { + const allPermissions = await this.getPermissions(); + if (origin in allPermissions) { + delete allPermissions[origin]; + await Browser.storage.local.set({ + [PERMISSIONS_STORAGE_KEY]: allPermissions, + }); + } + } + private async createPermissionRequest( origin: string, permissionTypes: readonly PermissionType[], diff --git a/wallet/src/background/connections/UiConnection.ts b/wallet/src/background/connections/UiConnection.ts index a4968ecef27a0..916002563ddd7 100644 --- a/wallet/src/background/connections/UiConnection.ts +++ b/wallet/src/background/connections/UiConnection.ts @@ -14,6 +14,7 @@ import { isTransactionRequestResponse } from '_payloads/transactions/ui/Transact import Permissions from '_src/background/Permissions'; import Tabs from '_src/background/Tabs'; import Transactions from '_src/background/Transactions'; +import { isDisconnectApp } from '_src/shared/messaging/messages/payloads/permissions/DisconnectApp'; import type { Message } from '_messages'; import type { PortChannelName } from '_messaging/PortChannelName'; @@ -68,6 +69,9 @@ export class UiConnection extends Connection { Object.values(await Transactions.getTransactionRequests()), id ); + } else if (isDisconnectApp(payload)) { + await Permissions.delete(payload.origin); + this.send(createMessage({ type: 'done' }, id)); } } diff --git a/wallet/src/shared/messaging/messages/payloads/BasePayload.ts b/wallet/src/shared/messaging/messages/payloads/BasePayload.ts index 6738b338783cf..625c808c8ceb7 100644 --- a/wallet/src/shared/messaging/messages/payloads/BasePayload.ts +++ b/wallet/src/shared/messaging/messages/payloads/BasePayload.ts @@ -18,7 +18,9 @@ export type PayloadType = | 'get-transaction-requests' | 'get-transaction-requests-response' | 'transaction-request-response' - | 'update-active-origin'; + | 'update-active-origin' + | 'disconnect-app' + | 'done'; export interface BasePayload { type: PayloadType; diff --git a/wallet/src/shared/messaging/messages/payloads/permissions/DisconnectApp.ts b/wallet/src/shared/messaging/messages/payloads/permissions/DisconnectApp.ts new file mode 100644 index 0000000000000..80fc768abd1bb --- /dev/null +++ b/wallet/src/shared/messaging/messages/payloads/permissions/DisconnectApp.ts @@ -0,0 +1,15 @@ +// Copyright (c) 2022, Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { isBasePayload } from '_payloads'; + +import type { BasePayload, Payload } from '_payloads'; + +export interface DisconnectApp extends BasePayload { + type: 'disconnect-app'; + origin: string; +} + +export function isDisconnectApp(payload: Payload): payload is DisconnectApp { + return isBasePayload(payload) && payload.type === 'disconnect-app'; +} diff --git a/wallet/src/ui/app/background-client/index.ts b/wallet/src/ui/app/background-client/index.ts index 4763470210c18..696fa6e836f1c 100644 --- a/wallet/src/ui/app/background-client/index.ts +++ b/wallet/src/ui/app/background-client/index.ts @@ -18,6 +18,7 @@ import type { GetPermissionRequests, PermissionResponse, } from '_payloads/permissions'; +import type { DisconnectApp } from '_payloads/permissions/DisconnectApp'; import type { GetTransactionRequests } from '_payloads/transactions/ui/GetTransactionRequests'; import type { TransactionRequestResponse } from '_payloads/transactions/ui/TransactionRequestResponse'; import type { AppDispatch } from '_store'; @@ -94,6 +95,14 @@ export class BackgroundClient { ); } + public async disconnectApp(origin: string) { + await lastValueFrom( + this.sendMessage( + createMessage({ type: 'disconnect-app', origin }) + ).pipe(take(1)) + ); + } + private handleIncomingMessage(msg: Message) { if (!this._initialized || !this._dispatch) { throw new Error( diff --git a/wallet/src/ui/app/hooks/useOnClickOutside.ts b/wallet/src/ui/app/hooks/useOnClickOutside.ts index f18872884092c..cd660049d3d71 100644 --- a/wallet/src/ui/app/hooks/useOnClickOutside.ts +++ b/wallet/src/ui/app/hooks/useOnClickOutside.ts @@ -14,19 +14,19 @@ const useOnClickOutside = ( useEffect(() => { const listener = (event: Event) => { const el = ref?.current; - if (!el || el.contains((event?.target as Node) || null)) { + if (!el || el.contains(event?.target as Node)) { return; } handler(event); // Call the handler only if the click is outside of the element passed. }; - document.addEventListener('mousedown', listener); - document.addEventListener('touchstart', listener); + document.addEventListener('click', listener, true); + document.addEventListener('touchstart', listener, true); return () => { - document.removeEventListener('mousedown', listener); - document.removeEventListener('touchstart', listener); + document.removeEventListener('click', listener, true); + document.removeEventListener('touchstart', listener, true); }; }, [ref, handler]); // Reload only if ref or handler changes }; diff --git a/wallet/src/ui/app/shared/dapp-status/DappStatus.module.scss b/wallet/src/ui/app/shared/dapp-status/DappStatus.module.scss index 53c13ac8373cc..86738410e9792 100644 --- a/wallet/src/ui/app/shared/dapp-status/DappStatus.module.scss +++ b/wallet/src/ui/app/shared/dapp-status/DappStatus.module.scss @@ -1,6 +1,10 @@ @use '_values/colors'; @use '_utils'; +.wrapper { + display: contents; +} + .container { display: flex; flex-flow: row; @@ -14,6 +18,7 @@ cursor: default; overflow: hidden; flex: 0 1 auto; + transition: all 150ms ease-in-out; @include utils.typography('Primary/BodySmall-M'); @@ -29,7 +34,7 @@ } &:active, - &.acive { + &.active { color: colors.$sui-blue; border: none; } @@ -50,3 +55,81 @@ @include utils.overflow-ellipsis; } + +.chevron { + margin-left: 6px; + font-size: 11px; +} + +.popup { + position: absolute; + background: colors.$gray-100; + border-radius: 6px; + padding: 10px 12px; + z-index: 999; + max-width: 55%; +} + +.popup-content { + display: flex; + flex-flow: column nowrap; + align-items: center; +} + +.popup-arrow { + position: absolute; + z-index: -1; + top: -5px; + + &::before { + content: ''; + background: colors.$gray-100; + transform: rotate(45deg); + height: 12px; + width: 12px; + display: block; + } +} + +.origin-container { + display: flex; + flex-flow: row nowrap; + align-items: center; +} + +.favicon { + width: 22px; + height: 22px; + border-radius: 6px; + background-color: colors.$gray-85; + margin-right: 8px; + padding: 2px; +} + +.origin-text { + @include utils.overflow-ellipsis; + @include utils.typography('Primary/SubtitleSmall-M'); + + color: colors.$success; +} + +.origin-url { + @include utils.typography('Primary/BodySmall-SB'); +} + +.divider { + height: 1px; + background-color: colors.$gray-90; + margin: 8px 0; + align-self: stretch; +} + +.disconnect { + background: none; + outline: none; + border: none; + color: colors.$issue; + cursor: pointer; + + @include utils.typography('Primary/BodySmall-M'); +} diff --git a/wallet/src/ui/app/shared/dapp-status/actions/index.ts b/wallet/src/ui/app/shared/dapp-status/actions/index.ts new file mode 100644 index 0000000000000..69a7461a33933 --- /dev/null +++ b/wallet/src/ui/app/shared/dapp-status/actions/index.ts @@ -0,0 +1,18 @@ +// Copyright (c) 2022, Mysten Labs, Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { createAsyncThunk } from '@reduxjs/toolkit'; + +import type { AppThunkConfig } from '_redux/store/thunk-extras'; + +export const appDisconnect = createAsyncThunk< + void, + { origin: string }, + AppThunkConfig +>( + 'dapp-status-app-disconnect', + async ({ origin }, { extra: { background } }) => { + await background.disconnectApp(origin); + await background.sendGetPermissionRequests(); + } +); diff --git a/wallet/src/ui/app/shared/dapp-status/index.tsx b/wallet/src/ui/app/shared/dapp-status/index.tsx index 61d36280fd592..8501283eccf82 100644 --- a/wallet/src/ui/app/shared/dapp-status/index.tsx +++ b/wallet/src/ui/app/shared/dapp-status/index.tsx @@ -2,37 +2,144 @@ // SPDX-License-Identifier: Apache-2.0 import cn from 'classnames'; -import { memo, useMemo } from 'react'; +import { memo, useCallback, useMemo, useRef, useState } from 'react'; +import { usePopper } from 'react-popper'; -import Icon from '_components/icon'; -import { useAppSelector } from '_hooks'; +import { appDisconnect } from './actions'; +import Icon, { SuiIcons } from '_components/icon'; +import Loading from '_components/loading'; +import { useAppDispatch, useAppSelector, useOnClickOutside } from '_hooks'; import { createDappStatusSelector } from '_redux/slices/permissions'; import st from './DappStatus.module.scss'; function DappStatus() { - const activeOrigin = useAppSelector(({ app }) => app.activeOrigin); + const dispatch = useAppDispatch(); + const activeOriginUrl = useAppSelector(({ app }) => app.activeOrigin); + const activeOrigin = useMemo( + () => (activeOriginUrl && new URL(activeOriginUrl).hostname) || null, + [activeOriginUrl] + ); + const activeOriginFavIcon = useAppSelector( + ({ app }) => app.activeOriginFavIcon + ); const dappStatusSelector = useMemo( - () => createDappStatusSelector(activeOrigin), - [activeOrigin] + () => createDappStatusSelector(activeOriginUrl), + [activeOriginUrl] ); const isConnected = useAppSelector(dappStatusSelector); + const [disconnecting, setDisconnecting] = useState(false); + const [visible, setVisible] = useState(false); const Component = isConnected ? 'button' : 'span'; + const [referenceElement, setReferenceElement] = + useState(null); + const [popperElement, setPopperElement] = useState( + null + ); + const [arrowElement, setArrowElement] = useState( + null + ); + const { styles, attributes } = usePopper(referenceElement, popperElement, { + placement: 'bottom', + modifiers: [ + { name: 'arrow', options: { element: arrowElement } }, + { name: 'offset', options: { offset: [0, 10] } }, + ], + }); + const onHandleClick = useCallback(() => { + if (!disconnecting) { + setVisible((isVisible) => !isVisible); + } + }, [disconnecting]); + const onHandleClickOutside = useCallback( + (e: Event) => { + if (visible) { + e.stopPropagation(); + e.preventDefault(); + e.stopImmediatePropagation(); + if (!disconnecting) { + setVisible(false); + } + } + }, + [visible, disconnecting] + ); + const wrapperRef = useRef(null); + useOnClickOutside(wrapperRef, onHandleClickOutside); + const onHandleDisconnect = useCallback(async () => { + if (!disconnecting && isConnected && activeOriginUrl) { + setDisconnecting(true); + await dispatch(appDisconnect({ origin: activeOriginUrl })).unwrap(); + setVisible(false); + setDisconnecting(false); + } + }, [disconnecting, isConnected, activeOriginUrl, dispatch]); return ( - - - - {isConnected && activeOrigin - ? new URL(activeOrigin).hostname - : 'Not connected'} - - +
+ + + + {(isConnected && activeOrigin) || 'Not connected'} + + {isConnected ? ( + + ) : null} + + {visible && isConnected ? ( +
+
+
+ {activeOriginFavIcon ? ( + App Icon + ) : null} + +
Connected to
+
+ {activeOrigin} +
+
+
+
+ + + +
+
+
+ ) : null} +
); } diff --git a/wallet/src/ui/styles/utils/index.scss b/wallet/src/ui/styles/utils/index.scss index a340f932e3981..e5ecf15e2e3cf 100644 --- a/wallet/src/ui/styles/utils/index.scss +++ b/wallet/src/ui/styles/utils/index.scss @@ -161,5 +161,14 @@ $main-extra-space: sizing.$main-bottom-space; font-weight: 500; line-height: 13px; letter-spacing: 0; + } @else if $type == 'Primary/SubtitleSmall-M' { + font-size: 11px; + font-weight: 500; + line-height: 11px; + letter-spacing: 0; + } @else if $type == 'Primary/BodySmall-SB' { + font-size: 13px; + font-weight: 600; + line-height: 13px; } }