diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000000000000000000000000000000000..dd84ea7824f11be1eeda22377549cbc1aec7f980 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000000000000000000000000000000000000..bbcbbe7d61558adde3cbfd0c7a63a67c27ed6d30 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000000000000000000000000000000000..290ad02837ac3dc052d04c0ce1a9bd26e4fd904a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: +- package-ecosystem: npm + directory: "/" + schedule: + interval: daily + time: "10:00" + open-pull-requests-limit: 10 diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000000000000000000000000000000000000..826155f6307296dab6cb0127bd18cde7d96463df --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,30 @@ +# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run test:coveralls diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000000000000000000000000000000000000..2686b7eac80fbd57b7a1b8bc195edf5bbe124cd6 --- /dev/null +++ b/.npmignore @@ -0,0 +1,23 @@ +.github +.storybook +examples +node_modules +storybook-static +src +stories +test +.eslintrc +.gitignore +.coveralls.yml +DEV-part2.MD + +postinstallSSJ.js +process.md +README.md +CHANGELOG.md +rollup.config.js +./.travis.yml +tempackage.json +Dropzone-ui.txt +CODE_OF_CONDICT.md +CONTRIBUTING.md \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..adcd720e83bec12911581006a407746bc64bb471 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 files-ui + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 043281bb48094f1bb2b376d93afba160187b9dd7..c44636bf4179596cf1873d44255a284daaa3099a 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,10 @@ <p align="center"> <img src="https://user-images.githubusercontent.com/43678736/226257748-6ba2f8cf-59c5-40d1-a545-a388ddab0f68.png" width="150" height="150" alt="fui-logo"/> </p> -<h1 align="center">Files ui</h1> +<h1 align="center">Files ui - core</h1> -<div align="center"> +Base code for **Files UI** -[](https://github.com/dropzone-ui/react/blob/HEAD/LICENSE) -[](https://www.npmjs.com/package/@dropzone-ui/react) -[](https://openbase.com/js/@dropzone-ui/react?utm_source=embedded&utm_medium=badge&utm_campaign=rate-badge) -[](https://kandi.openweaver.com/typescript/dropzone-ui/dropzone-ui-react) -[](https://github.com/dropzone-ui/dropzone-ui-react) -[](https://app.travis-ci.com/dropzone-ui/dropzone-ui-react) - -[](https://snyk.io/test/github/dropzone-ui/react) -[](https://packagequality.com/#?package=dropzone-ui) -[](https://packagephobia.com/result?p=@dropzone-ui/react) -[](http://isitmaintained.com/project/dropzone-ui/react) -[](http://makeapullrequest.com) -[](https://github.com/dropzone-ui/react) - -</div> -**Files UI** is a complete library for handling files in the UI. You can validate and upload them. - -<a href="https://github.com/dropzone-ui/react#readme"> -<img align="center" width="100%" src="https://user-images.githubusercontent.com/43678736/139614260-602b512c-cf78-48fe-ae57-1057e7ec8135.gif" alt="files-ui-preview"> -</a> - -## Requirement - -`@files-ui/react` is based on [React Hooks](https://reactjs.org/docs/hooks-intro.html). It requires `react v16.8+`. ## Installation @@ -36,28 +12,15 @@ ```sh // with npm -npm i @files-ui/react +npm i @files-ui/core ``` ```sh // with yarn -yarn add @files-ui/react +yarn add @files-ui/core ``` ## License This project is licensed under the terms of the [MIT license](/LICENSE). - -<p align="center"> -<a href="https://github.com/files-ui/files-ui-react#"> -<img src="http://randojs.com/images/barsSmallTransparentBackground.gif" alt="Animated footer bars" width="100%"/> -</a> -</p> - -<br/> -<p align="center"> -<a href="https://github.com/files-ui/files-ui-react#readme"> -<img src="http://randojs.com/images/backToTopButtonTransparentBackground.png" alt="Back to top" height="28"/> -</a> -</p> diff --git a/bugs.md b/bugs.md deleted file mode 100644 index 1702ce601403e8214da874510587f79f78138114..0000000000000000000000000000000000000000 --- a/bugs.md +++ /dev/null @@ -1,29 +0,0 @@ -# BUGS - -## File Item (mosaic) - -- [SOLVED]on change progress the loader is reredered again and again, I think that the 3 states or layers must be there from the begining - "preparing", "uploading", "result" - on cancel, the 2nd layer will dissapear, it will not be any big deal -- [SOLVED] After uploading, progress must be reiitialized to 0 -- [SOLVED] FileItemMainLayer WORKS STRANGE AT THE TIME NEW fILEiTEM IS ADDED - - -## Dropzone -- [SOLVED] When no validation, upload removes all files. - -- [SOLVED]: action buttons rendered again and again since they were created again every time "value" prop changed -- [SOLVED]: Uploading works in 2 times (first time stops after setting progress = UPLOADING.progrss), but fails to recover from the manager. [UPDATED]: Problem is at `useDropzoneFileListUpdater.ts` file. The problem is that hook for updating when user wants to interrupt preparing, is called at the begining of the upload process, with value of undefined in all files. It is probably the last update on localFiles outside Dropzone component. - -- [DONE] When file is set from preparing to undefined it can be deleted, however, will appear again if onDelete is called. It would be great to add a reconciliation procedure to support different array sizes in updater hook. Or "canceled" upload status could be added and file Item should not show the "X" button when uploading and canceled. After Upload process, all files with "canceled" upload status should be set to "undefined" again. This can be a workaround. (`Using the extraData for keeping track if a Filemosaic was deleted`) - -- [SOLVED] Dropzone is afected by adding more files as children -- offset should not be used, instead a padding, given header or footer -- [SOLVED] When layer is visible, border in the root container must dissapear - -## Tooltip - -- prints console.log() every time I hover FileItem, even when no message is sent - -## Drop Layer - -- prints the classname everytime I drop files o select files diff --git a/features.md b/features.md deleted file mode 100644 index 323db2a719516e05a0f03a81d0de32eb6dc17890..0000000000000000000000000000000000000000 --- a/features.md +++ /dev/null @@ -1,37 +0,0 @@ -# Files-ui Features - -## Upload to a server - -- Upload File object -- Upload Form Data -- Upload ExtFile -- Upload with custom headers -- Upload with additional data -- Upload adding callbacks for progress and abort and load - -## Valid - -- Validate with accept prop -- Validate with maxFileSize prop -- Validate with maxFiles prop -- custom validation - -## Read - -- Read as URL -- Read as text -- Read as base64 -- Read adding callbacks for abort and progress and load -- reduce the size of an image (not size , but resolution, other word) - -## UI Components - -- Dropzone -- InputButon -- Avatar -- ImagePreview -- VideoPreview -- PDFPreview -- JsonPreview [DONE]fix rc-highlight -- FullScreenPreview => FullScreen -- DropLayer diff --git a/future-features.md b/future-features.md deleted file mode 100644 index 84361025cd4bc841a7dd12c0da7c7616f118a21a..0000000000000000000000000000000000000000 --- a/future-features.md +++ /dev/null @@ -1,35 +0,0 @@ -# Future Possible Features - -## DROP - -WHen data transfer only text or iimage in string, event -files dissapear in "replace". create a text file in memoory - -## UTILS - -- custom icons -- menu icon for FileItem ( FileOptions (menu collapsed from click in option icon) ) -- [DONE]: Outside actions or buttons for Dropzone -- [DONE]:header and footer custom props -- [NOT_YET]: FileItem: checkbox support -- [DONE] FileItem: ( smart prop ) detect when width of image is greater than height or viceversa in order to decide the orientation - -## Upload - -- upload multiple files -- chuncked uploads -- upload concurrent - -## Integrations upload - -- aws S3 -- azure -- google cloud platform (drive) -- dropbox -- firebase -- Java spring - -## dont know if context would be a good idea - -- maybe yes for props like custom buttons for file mosaci -- custom file thumbnails diff --git a/guides.txt b/guides.txt deleted file mode 100644 index 07e189b4ffaa69418eb0f8fc2cdcaccf8d2c1500..0000000000000000000000000000000000000000 --- a/guides.txt +++ /dev/null @@ -1,21 +0,0 @@ -We're kicking it off with the most powerful - Data Grid on the market.. - - - - -Production-ready -in minutes - - -Fully built -templates for your app. - - -Superiorly designed software - -Superiorly designed software - - - - diff --git a/ideas.md b/ideas.md deleted file mode 100644 index df16a14c4c864045a820295c4d7c14139e55120e..0000000000000000000000000000000000000000 --- a/ideas.md +++ /dev/null @@ -1,19 +0,0 @@ -# Files UI Ideas - -## video - --small videos for each feature tutorial, after compilig .... "unstopable from Sia" - -- dragon ball OST - -## Phrases - -- Stop pain with developing a complex widget, don't need to create a file upload component from scratch [landingpage_section_3] -- If you need to do it from scratch, there is an example [show some basic code] Bellow main page component[landing_sec_3_pat_2] - - - -## MIgrating from dropzone-ui -[landing_Sec_3_or_4] - -## Migrating from react-dropzone diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000000000000000000000000000000000000..30e130ee872a01c9f564a02f52a1393d98818587 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,14 @@ +const config = { + roots: ["<rootDir>/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + preset: "ts-jest", + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node", "d.ts"], + moduleNameMapper: { + "^.+\\.(css|less|scss)$": "identity-obj-proxy", + }, + testEnvironment: "jsdom", +}; +module.exports = config; diff --git a/package-lock.json b/package-lock.json index 948b32348a8fbd8fe709461b786c71546bb17083..27c5869f9febcffe92ef4a77856fd730952d720c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,44 +1,42 @@ { - "name": "files-ui-webpage", - "version": "0.1.0", + "name": "@files-ui/react", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "files-ui-webpage", - "version": "0.1.0", + "name": "@files-ui/react", + "version": "1.0.0", + "license": "MIT", "dependencies": { - "@dynamicss/dynamicss": "^2.2.8", - "@emotion/react": "^11.10.5", - "@emotion/styled": "^11.10.5", - "@mui/icons-material": "^5.10.14", - "@mui/material": "^5.10.14", - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "@types/react": "^18.0.25", - "axios": "^1.3.1", - "node-sass": "^7.0.3", - "rc-highlight": "^2.5.6", "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router": "^6.4.3", - "react-router-dom": "^6.4.3", - "react-scripts": "5.0.1", - "sweetalert": "^2.1.2", - "typescript": "^4.9.3", - "web-vitals": "^2.1.4" + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-node-resolve": "^15.0.1", + "@testing-library/jest-dom": "^5.16.5", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "rollup-plugin-peer-deps-external": "^2.2.4", + "rollup-plugin-sass": "^1.12.19", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-typescript2": "^0.34.1", + "ts-jest": "^29.0.5", + "typescript": "^5.0.2" } }, "node_modules/@adobe/css-tools": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", - "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz", + "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==", + "dev": true }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -51,6 +49,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -59,32 +58,34 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", - "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "dev": true, "dependencies": { - "@ampproject/remapping": "^2.1.0", + "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.2", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.1", - "@babel/parser": "^7.20.2", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2", + "@babel/generator": "^7.21.3", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.3", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", + "json5": "^2.2.2", "semver": "^6.3.0" }, "engines": { @@ -95,54 +96,21 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", - "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "dev": true, "dependencies": { - "@babel/types": "^7.20.2", + "@babel/types": "^7.21.3", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -153,6 +121,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -162,37 +131,16 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.0", + "@babel/compat-data": "^7.20.5", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -202,99 +150,23 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", - "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dependencies": { - "@babel/types": "^7.18.6" - }, + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -304,6 +176,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -311,21 +184,11 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -334,29 +197,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dependencies": { - "@babel/types": "^7.18.6" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" }, "engines": { "node": ">=6.9.0" @@ -366,38 +219,7 @@ "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - }, + "dev": true, "engines": { "node": ">=6.9.0" } @@ -406,6 +228,7 @@ "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, "dependencies": { "@babel/types": "^7.20.2" }, @@ -413,21 +236,11 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -439,6 +252,7 @@ "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -447,40 +261,29 @@ "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -490,6 +293,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -499,405 +303,120 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", - "bin": { - "parser": "bin/babel-parser.js" + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "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" - }, + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" + "node": ">=0.8.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=4" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "node_modules/@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.2.tgz", - "integrity": "sha512-nkBH96IBmgKnbHQ5gXFrcmez+Z9S2EIDKDQGp005ROqBigc88Tky4rzCnlP/lnlj245dCEQl4/YyV0V1kYh5dw==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", - "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", - "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -907,6 +426,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -918,6 +438,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -929,6 +450,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -943,6 +465,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -954,6 +477,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -965,6 +489,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -976,6 +501,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -987,6 +513,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -998,6 +525,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1005,24 +533,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1037,6 +552,7 @@ "version": "7.20.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.19.0" }, @@ -1047,1500 +563,1350 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@babel/traverse": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", - "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", + "node_modules/@babel/types": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "node_modules/@jest/console": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", + "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "node_modules/@jest/core": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", + "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "node_modules/@jest/environment": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", + "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "node_modules/@jest/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@jest/expect-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "jest-get-type": "^29.4.3" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@jest/fake-timers": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", + "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/@jest/globals": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", + "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "node_modules/@jest/reporters": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", + "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", + "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=6.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "*" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": "*" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@jest/schemas": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", + "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@sinclair/typebox": "^0.25.16" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@jest/source-map": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", + "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz", - "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==", + "node_modules/@jest/test-result": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", + "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "node_modules/@jest/test-sequencer": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", + "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", - "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "node_modules/@jest/transform": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", + "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "node_modules/@jest/types": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", + "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" + "@jest/schemas": "^29.4.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "node_modules/@rollup/plugin-commonjs": { + "version": "24.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz", + "integrity": "sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz", + "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.0", + "is-module": "^1.0.0", + "resolve": "^1.22.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", + "node_modules/@sinclair/typebox": { + "version": "0.25.24", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", + "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "type-detect": "4.0.8" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", + "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@sinonjs/commons": "^2.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "node_modules/@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@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.20.1", - "@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.20.2", - "@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.20.0", - "@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.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@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.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@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.19.0", - "@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.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 10" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "node_modules/@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/types": "^7.0.0" } }, - "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/types": "^7.3.0" } }, - "node_modules/@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.10" - }, - "engines": { - "node": ">=6.9.0" + "@types/node": "*" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz", - "integrity": "sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==", - "dependencies": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.10" - }, - "engines": { - "node": ">=6.9.0" + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", + "node_modules/@types/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "node_modules/@types/node": { + "version": "18.15.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.7.tgz", + "integrity": "sha512-LFmUbFunqmBn26wJZgZPYZPrDR1RwGOu2v79Mgcka1ndO6V0/cwjivPTc4yoK6n9kmw4/ls1r8cLrvh2iMibFA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true }, - "node_modules/@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "dev": true, + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz", + "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==", + "dev": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=0.4.0" } }, - "node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=0.4.0" } }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "debug": "4" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 6.0.0" } }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "type-fest": "^0.21.3" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">= 8" } }, - "node_modules/@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "node_modules/babel-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", + "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.8.0" } }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" + "node": ">=8" } }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0" } }, - "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "node_modules/babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "postcss": "^8.2" + "@babel/core": "^7.0.0" } }, - "node_modules/@csstools/postcss-trigonometric-functions": { + "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "node_modules/@dynamicss/dynamicss": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@dynamicss/dynamicss/-/dynamicss-2.2.8.tgz", - "integrity": "sha512-e6hrGUydr8f+c9E/9fHFSG5LoSLdq/MdZXXfbzEDWIVuzKF2hcdxZE7nHNqUNF2htw1mZ17Pyoshu3A6kFEeFA==", - "hasInstallScript": true - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", - "integrity": "sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/plugin-syntax-jsx": "^7.17.12", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.1.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, - "node_modules/@emotion/babel-plugin/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/@emotion/cache": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", - "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" + "balanced-match": "^1.0.0" } }, - "node_modules/@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "dependencies": { - "@emotion/memoize": "^0.8.0" + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" - }, - "node_modules/@emotion/react": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz", - "integrity": "sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.5", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "@types/react": { - "optional": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", - "dependencies": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" - }, - "node_modules/@emotion/styled": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz", - "integrity": "sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==", + ], "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.5", - "@emotion/is-prop-valid": "^1.2.0", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" - }, - "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "node-int64": "^0.4.0" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "engines": { - "node": ">=12.22" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, "engines": { "node": ">=6" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/caniuse-lite": { + "version": "1.0.30001469", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", + "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "p-limit": "^2.2.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=8" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { "node": ">=8" } }, - "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/@jest/console/node_modules/color-convert": { + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2548,1807 +1914,1765 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/console/node_modules/color-name": { + "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.4.0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", - "dependencies": { - "jest-get-type": "^29.2.0" - }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/expect-utils/node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "node_modules/diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" } }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, + "node_modules/electron-to-chromium": { + "version": "1.4.339", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.339.tgz", + "integrity": "sha512-MSXHBJGcbBydq/DQDlpBeUKnJ6C7aTiNCTRpfDV5Iz0sNr/Ng6RJFloq82AAicp/SrmDq4zF6XsKG0B8Xwn1UQ==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "is-arrayish": "^0.2.1" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dependencies": { - "@sinclair/typebox": "^0.24.1" + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=4" } }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4.0" } }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.8.0" } }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "node_modules/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", + "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } }, - "node_modules/@jest/transform/node_modules/has-flag": { + "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.9.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "node": ">=8" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": ">=6.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "node_modules/@mui/base": { - "version": "5.0.0-alpha.106", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.106.tgz", - "integrity": "sha512-xJQQtwPCPwr6hGWTBdvDwHYwExn3Bw7nPQkN8Fuz8kHpZqoMVWQvvaFS557AIkkI2AFLV3DxVIMjbCvrIntBWg==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.20.1", - "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.1", - "@mui/utils": "^5.10.14", - "@popperjs/core": "^2.11.6", - "clsx": "^1.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/base/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@mui/core-downloads-tracker": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.14.tgz", - "integrity": "sha512-qLgIJNOR9Dre8JiZ/neVzOf4jf88J6YtOkQqugtMrleLjbfRVUSS4LWl9CSOjNq76quYdmYWnSDgfQqOooT2cQ==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@mui/icons-material": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.14.tgz", - "integrity": "sha512-qtH60slQa+7MZRn6kyui8rKuoGDglPqaHX+pzBKNvd8JCOlrnfY5DmGGDdToTXyXl8xJ8nhANZbrbpg7UVKq/Q==", + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.20.1" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">=12" } }, - "node_modules/@mui/material": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.14.tgz", - "integrity": "sha512-HWzKVAykePMx54WtxVwZyL1W4k3xlHYIqwMw0CaXAvgB3UE9yjABZuuGr8vG5Z6CSNWamzd+s1x8u7pQPFl9og==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.20.1", - "@mui/base": "5.0.0-alpha.106", - "@mui/core-downloads-tracker": "^5.10.14", - "@mui/system": "^5.10.14", - "@mui/types": "^7.2.1", - "@mui/utils": "^5.10.14", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "csstype": "^3.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/@mui/material/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@mui/private-theming": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.14.tgz", - "integrity": "sha512-3aIBe8WK65CwAPDY8nB11hYnzE1CZMymi76UnaFrA/DdGDwl5Y8F6uB+StKrkVmsqF1po7Mp2odqVkHj320gXw==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.20.1", - "@mui/utils": "^5.10.14", - "prop-types": "^15.8.1" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/@mui/styled-engine": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.14.tgz", - "integrity": "sha512-bgKdM57ExogWpIfhL/ngSlzF4FhbH00vYF+Y5VALTob4uslFqje0xzoWmbfcCn4cZt2NXxZJIwhsq4vzo5itlw==", - "dependencies": { - "@babel/runtime": "^7.20.1", - "@emotion/cache": "^11.10.5", - "csstype": "^3.1.1", - "prop-types": "^15.8.1" - }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - } + "node": ">=10.17.0" } }, - "node_modules/@mui/system": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.14.tgz", - "integrity": "sha512-2de7XCjRb1j8Od0Stmo0LwFMLpOMNT4wzfINuExXI1TVSuyxXIXUxiC5FEgJW3GMvf/a7SUR8VOiMoKlKWzukw==", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.20.1", - "@mui/private-theming": "^5.10.14", - "@mui/styled-engine": "^5.10.14", - "@mui/types": "^7.2.1", - "@mui/utils": "^5.10.14", - "clsx": "^1.2.1", - "csstype": "^3.1.1", - "prop-types": "^15.8.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@mui/types": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.1.tgz", - "integrity": "sha512-c5mSM7ivD8EsqK6HUi9hQPr5V7TJ/IRThUQ9nWNYPdhCGriTSQV4vL6DflT99LkM+wLiIS1rVjphpEWxERep7A==", - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true }, - "node_modules/@mui/utils": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.14.tgz", - "integrity": "sha512-12p59+wDZpA++XVJmKwqsZmrA1nmUQ5d0a1yQWtcDjxNyER1EDzozYN/db+FY2i5ceQh2TynPTEwGms2mXDwFg==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.20.1", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@mui/utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dependencies": { - "eslint-scope": "5.1.1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=0.8.19" } }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, "engines": { - "node": ">=4.0" + "node": ">=8" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" } }, - "node_modules/@npmcli/fs": { + "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">= 0.4" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.9.tgz", - "integrity": "sha512-7QV4cqUwhkDIHpMAZ9mestSJ2DMIotVTbOUwbiudhjCRTAWWKIaBecELiEM2LT3AHFeOAaHIcFu4dbXjX+9GBA==", + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.3", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <4.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@remix-run/router": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.3.tgz", - "integrity": "sha512-ceuyTSs7PZ/tQqi19YZNBc5X7kj1f8p+4DIyrcIYFY9h+hd1OKm4RqtiWldR9eGEvIiJfsqwM4BsuCtRIuEw6Q==", - "engines": { - "node": ">=14" - } + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" + "has-bigints": "^1.0.1" }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=8" } }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "builtin-modules": "^3.3.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=6" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", - "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=0.10.0" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=8" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=6" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=0.12.0" } }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "@types/estree": "*" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "dependencies": { - "@babel/types": "^7.12.6" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.2" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@testing-library/dom": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz", - "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dependencies": { - "deep-equal": "^2.0.5" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@testing-library/dom/node_modules/color-convert": { + "node_modules/is-weakmap": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { "node": ">=8" } }, - "node_modules/@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" + "node": ">=8" } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dependencies": { - "deep-equal": "^2.0.5" + "node": ">=10" } }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=7.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" + "node_modules/jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "dependencies": { - "@babel/runtime": "^7.12.5" + "node_modules/jest-cli": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", + "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/jest-config": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", + "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" - }, - "node_modules/@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "@babel/types": "^7.3.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "node_modules/jest-config/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "node_modules/jest-diff": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "dev": true, "dependencies": { - "@types/node": "*" + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/eslint": { - "version": "8.4.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", - "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "node_modules/jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "node_modules/jest-each": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", + "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", + "dev": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "node_modules/@types/express": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", - "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.31", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", - "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", - "dependencies": { + "node_modules/jest-environment-jsdom": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.5.0.tgz", + "integrity": "sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/jsdom": "^20.0.0", "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "dependencies": { - "@types/node": "*" + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" + "node_modules/jest-environment-node": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", + "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest": { - "version": "29.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.3.tgz", - "integrity": "sha512-6XwoEbmatfyoCjWRX7z0fKMmgYKe9+/HrviJ5k0X/tjJWHGAezZOfYaxqQKuzG/TvQyr+ktjm4jgbk0s4/oF2w==", + "node_modules/jest-haste-map": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", + "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", + "dev": true, "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/@types/jest/node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "node_modules/jest-leak-detector": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", + "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "dev": true, "dependencies": { - "@sinclair/typebox": "^0.24.1" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "node_modules/jest-matcher-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/jest-message-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/chalk": { + "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -4360,25574 +3684,5914 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/jest-mock": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", + "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@types/jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@types/jest/node_modules/diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", - "dependencies": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/@types/jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "node_modules/jest-resolve": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", + "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", + "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "node_modules/jest-resolve-dependencies": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", + "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" + }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/jest/node_modules/jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", + "node_modules/jest-runner": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", + "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", "chalk": "^4.0.0", + "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", + "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", - "ci-info": "^3.2.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@types/jest/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@types/jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "node_modules/@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" - }, - "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/react": { - "version": "18.0.25", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", - "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/@types/react-dom": { - "version": "18.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", - "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", + "node_modules/jest-snapshot": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", + "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", + "dev": true, "dependencies": { - "@types/react": "*" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/react-is": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", - "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@types/react": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "@types/react": "*" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "@types/node": "*" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dependencies": { - "@types/express": "*" - } + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "node_modules/jest-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", + "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "dev": true, "dependencies": { - "@types/mime": "*", - "@types/node": "*" + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@types/node": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "node_modules/jest-validate": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", + "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", + "dev": true, "dependencies": { - "@types/jest": "*" + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/trusted-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", - "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" - }, - "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "dependencies": { - "@types/node": "*" + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz", - "integrity": "sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/type-utils": "5.43.0", - "@typescript-eslint/utils": "5.43.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.43.0.tgz", - "integrity": "sha512-WkT637CumTJbm/hRbFfnHBMgfUYTKr08LitVsD7gQId7bi6rnkx3pu3jac67lmp5ObW4MpJ9SNFZAIOUB/Qbsw==", + "node_modules/jest-watcher": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", + "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", + "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.43.0" + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.43.0.tgz", - "integrity": "sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==", + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/typescript-estree": "5.43.0", - "debug": "^4.3.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz", - "integrity": "sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==", + "node_modules/jest-worker": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", + "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "dev": true, "dependencies": { - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/visitor-keys": "5.43.0" + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz", - "integrity": "sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.43.0", - "@typescript-eslint/utils": "5.43.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.43.0.tgz", - "integrity": "sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz", - "integrity": "sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==", - "dependencies": { - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/visitor-keys": "5.43.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "canvas": "^2.5.0" }, "peerDependenciesMeta": { - "typescript": { + "canvas": { "optional": true } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.43.0.tgz", - "integrity": "sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/typescript-estree": "5.43.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=4" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz", - "integrity": "sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "dependencies": { - "@typescript-eslint/types": "5.43.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "universalify": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "yallist": "^3.0.2" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 0.6" + "node": ">=8.6" } }, - "node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">= 0.6" } }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" + "mime-db": "1.52.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.6" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "peerDependencies": { - "acorn": "^8" + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=10" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/address": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", - "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">=0.10.0" } }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "path-key": "^3.0.0" }, "engines": { - "node": ">=8.9" + "node": ">=8" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "node_modules/nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/agentkeepalive/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" + "wrappy": "1" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "node": ">=10" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=6.0" + "node": ">=8" } }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "entities": "^4.4.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/arrify": { + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/assert-plus": { + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { - "node": ">=0.8" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, "engines": { - "node": "*" + "node": ">= 6" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 0.8.0" } }, - "node_modules/autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], + "node_modules/pretty-format": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, "engines": { - "node": "*" + "node": ">= 6" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, - "node_modules/axe-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.2.tgz", - "integrity": "sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==", - "engines": { - "node": ">=4" + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/axios": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.1.tgz", - "integrity": "sha512-78pWJsQTceInlyaeBQeYZ/QgZeWS8hGeKiIJiDKQe3hEyBb7sEMq0K4gjx+Va6WHTYO4zI/RRl8qGRzn0YMadA==", + "node_modules/pure-rand": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.1.tgz", + "integrity": "sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "react": "^18.2.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8.10.0" } }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8" } }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, - "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">= 8.9" + "bin": { + "resolve": "bin/resolve" }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=8" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "node_modules/rollup-plugin-peer-deps-external": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.4.tgz", + "integrity": "sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==", + "dev": true, "peerDependencies": { - "@babel/core": "^7.1.0" + "rollup": "*" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "node_modules/rollup-plugin-sass": { + "version": "1.12.19", + "resolved": "https://registry.npmjs.org/rollup-plugin-sass/-/rollup-plugin-sass-1.12.19.tgz", + "integrity": "sha512-gVYQ+fKpwbIeC3tFWbtSw0kVHbDd6bpPHJ+YHpY28YRY1aS8LCrogJZmyb23fDcBn6r8eWzuC1N3jfQbCY3gMQ==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@rollup/pluginutils": "^3 || ^4 || ^5", + "resolve": "^1.5.0", + "sass": "^1.7.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=10" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "rollup": "^2.0.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/rollup-plugin-typescript2": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.34.1.tgz", + "integrity": "sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==", + "dev": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" + "@rollup/pluginutils": "^4.1.2", + "find-cache-dir": "^3.3.2", + "fs-extra": "^10.0.0", + "semver": "^7.3.7", + "tslib": "^2.4.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" } }, - "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "node_modules/rollup-plugin-typescript2/node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + "node": ">= 8.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "node_modules/rollup-plugin-typescript2/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "node_modules/rollup-plugin-typescript2/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 8.0.0" + "node": ">=10" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } + "node_modules/rollup-plugin-typescript2/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/sass": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz", + "integrity": "sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ==", + "dev": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node": ">=12.0.0" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "xmlchars": "^2.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=v12.22.7" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/bonjour-service": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", - "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "loose-envify": "^1.1.0" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "randombytes": "^2.1.0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=8" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "engines": { - "node": ">=6" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bytes": { + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/camelcase-keys/node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/caniuse-api": { + "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/check-types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", - "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/terser": { + "version": "5.16.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz", + "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==", + "dev": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" + "bin": { + "terser": "bin/terser" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "engines": { "node": ">=10" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/ci-info": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", - "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, "engines": { "node": ">=8" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/clean-css": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", - "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { - "source-map": "~0.6.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, "engines": { "node": ">=6" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">= 4.0.0" } }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "punycode": "^2.1.1" }, "engines": { - "node": ">= 4.0" + "node": ">=12" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/ts-jest": { + "version": "29.0.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.5.tgz", + "integrity": "sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==", + "dev": true, "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" + "ts-jest": "cli.js" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "engines": { - "node": ">=4.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node": ">=10" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "engines": { - "node": ">=0.8" - } + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, "dependencies": { - "safe-buffer": "5.2.1" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8.0" } }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", - "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", - "dependencies": { - "browserslist": "^4.21.4" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", - "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "node_modules/typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 8" + "node": ">=12.20" } }, - "node_modules/crypto-random-string": { + "node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 10.0.0" } }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.9" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" + "browserslist-lint": "cli.js" }, "peerDependencies": { - "postcss": "^8.4" + "browserslist": ">= 4.21.0" } }, - "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "node_modules/v8-to-istanbul": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=10.12.0" } }, - "node_modules/css-loader": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.2.tgz", - "integrity": "sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q==", + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.18", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "node": ">=14" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } + "makeerror": "1.0.12" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "iconv-lite": "0.6.3" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=12" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=12" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" + "node-which": "bin/node-which" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 8" } }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "node_modules/cssdb": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.1.0.tgz", - "integrity": "sha512-Sd99PrFgx28ez4GHu8yoQIufc/70h9oYowDf4EjeIKi8mac9whxRjhM3IaMr6EllP6KKKWtJrMfN6C7T9tIWvQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", - "dependencies": { - "cssnano-preset-default": "^5.2.13", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" + "node": ">=10.0.0" }, "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, - "peerDependencies": { - "postcss": "^8.2.15" + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=12" } }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "dev": true, "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=12" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dependencies": { - "cssom": "~0.3.6" - }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } + } + }, + "dependencies": { + "@adobe/css-tools": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz", + "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==", + "dev": true }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } }, - "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" + "@babel/core": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.3", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "@babel/generator": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "engines": { - "node": ">=0.10.0" + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } }, - "node_modules/deep-equal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.1.0.tgz", - "integrity": "sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==", - "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" } }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dependencies": { - "execa": "^5.0.0" + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, - "engines": { - "node": ">= 10" + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } + "@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "engines": { - "node": ">=8" + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" + "@babel/traverse": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", + "debug": "^4.1.0", + "globals": "^11.1.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", - "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" + "@babel/types": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dependencies": { - "webidl-conversions": "^5.0.0" + "@jest/console": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", + "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", + "dev": true, + "requires": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "@jest/core": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", + "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", + "dev": true, + "requires": { + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "engines": { - "node": ">=10" + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "@jest/environment": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", + "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" + "@jest/expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", + "dev": true, + "requires": { + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "@jest/expect-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "dev": true, + "requires": { + "jest-get-type": "^29.4.3" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" + "@jest/fake-timers": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", + "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", + "dev": true, + "requires": { + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" + "@jest/globals": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", + "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, + "@jest/reporters": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", + "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, "dependencies": { - "iconv-lite": "^0.6.2" + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, - "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" + "@jest/schemas": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", + "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.25.16" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "@jest/source-map": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", + "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "engines": { - "node": ">=6" + "@jest/test-result": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", + "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", + "dev": true, + "requires": { + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" + "@jest/test-sequencer": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", + "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", + "dev": true, + "requires": { + "@jest/test-result": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "slash": "^3.0.0" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "@jest/transform": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", + "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.5.0", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, "dependencies": { - "stackframe": "^1.3.4" + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "node_modules/es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "@jest/types": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", + "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "dev": true, + "requires": { + "@jest/schemas": "^29.4.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dependencies": { - "has": "^1.0.3" - } + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, - "node_modules/es6-object-assign": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" + "@rollup/plugin-commonjs": { + "version": "24.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz", + "integrity": "sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "@rollup/plugin-node-resolve": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz", + "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.0", + "is-module": "^1.0.0", + "resolve": "^1.22.1" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" + "@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } + "@sinclair/typebox": { + "version": "0.25.24", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", + "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "dev": true }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "requires": { + "type-detect": "4.0.8" } }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" + "@sinonjs/fake-timers": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", + "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^2.0.0" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "dev": true, + "requires": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" } }, - "node_modules/eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", - "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.0" + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", + "dev": true, + "requires": { + "@types/node": "*" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - }, - "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" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "@types/jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-3Emr5VOl/aoBwnWcH/EFQvlSAmjV+XtV9GGu5mwdYew5vhQh0IUZx/60x0TzHDu09Bi7HMx10t/namdJw5QIcg==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "@types/node": { + "version": "18.15.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.7.tgz", + "integrity": "sha512-LFmUbFunqmBn26wJZgZPYZPrDR1RwGOu2v79Mgcka1ndO6V0/cwjivPTc4yoK6n9kmw4/ls1r8cLrvh2iMibFA==", + "dev": true }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } + "@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", - "dependencies": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } + "@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true }, - "node_modules/eslint-plugin-react": { - "version": "7.31.10", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", - "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", - "dependencies": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "dev": true, + "requires": { + "@types/jest": "*" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@types/yargs": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.23.tgz", + "integrity": "sha512-yuogunc04OnzGQCrfHx+Kk883Q4X0aSwmYZhKjI21m+SVYzjIbrWl8dOOwSv5hf2Um2pdCOXWo9isteZTNXUZQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true }, - "node_modules/eslint-plugin-testing-library": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz", - "integrity": "sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==", - "dependencies": { - "@typescript-eslint/utils": "^5.13.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" - } + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" } }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" - } + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "node_modules/eslint-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" } }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" } }, - "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true }, - "node_modules/eslint-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "babel-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", + "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", + "dev": true, + "requires": { + "@jest/transform": "^29.5.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.5.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "babel-plugin-jest-hoist": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "babel-preset-jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.5.0", + "babel-preset-current-node-syntax": "^1.0.0" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true }, - "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" } }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } + "caniuse-lite": { + "version": "1.0.30001469", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz", + "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==", + "dev": true }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "engines": { - "node": "*" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", - "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dependencies": { - "globule": "^1.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globule": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", - "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", - "dependencies": { - "glob": "~7.1.1", - "lodash": "^4.17.21", - "minimatch": "~3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/globule/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globule/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.16", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz", - "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jake/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "jest": "^27.0.0 || ^28.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dependencies": { - "@jest/schemas": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-watch-typeahead/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-watch-typeahead/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "dependencies": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" - }, - "node_modules/js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.11", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.11.tgz", - "integrity": "sha512-GvsCITGAyDCxxsJ+X6prJexFQEhOCJaIlUbsAvjzSI5o5O7j2dle3jWvz5Z5aOdpOxW6ol3vI1+0ut+641F1+w==", - "dependencies": { - "fs-monkey": "^1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/node-gyp/node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "node_modules/node-sass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz", - "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==", - "hasInstallScript": true, - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^8.4.1", - "npmlog": "^5.0.0", - "request": "^2.88.0", - "sass-graph": "^4.0.1", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/node-sass/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/node-sass/node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-sass/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/node-sass/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/node-sass/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/node-sass/node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-sass/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/node-sass/node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/node-sass/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", - "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", - "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss": { - "version": "8.4.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "browserslist": ">=4", - "postcss": ">=8" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-custom-properties": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.10.tgz", - "integrity": "sha512-U3BHdgrYhCrwTVcByFHs9EOBoqcKq4Lf3kXwbTi4hhq0qWhl/pDWq2THbv/ICX/Fl9KqeHBb8OVrTf2OaYF07A==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "peerDependencies": { - "postcss": "^8.1.4" - } - }, - "node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", - "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, - "node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "dependencies": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "browserslist": ">= 4", - "postcss": ">= 8" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "engines": { - "node": "^12 || ^14 || >=16" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/postcss-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - }, - "node_modules/promise-polyfill": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", - "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ==" - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/promise-retry/node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rc-highlight": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/rc-highlight/-/rc-highlight-2.5.6.tgz", - "integrity": "sha512-2ZniAUY00UxiofYp3kcRuafUMDDNQ7Gcmgv24kJpjyvnsezjaLh1lvrdwPx/sktCcp+Xqj2o6SvvhNzbuhu+QQ==", - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "dependencies": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dev-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.3.tgz", - "integrity": "sha512-BT6DoGn6aV1FVP5yfODMOiieakp3z46P1Fk0RNzJMACzE7C339sFuHebfvWtnB4pzBvXXkHP2vscJzWRuUjTtA==", - "dependencies": { - "@remix-run/router": "1.0.3" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.3.tgz", - "integrity": "sha512-MiaYQU8CwVCaOfJdYvt84KQNjT78VF0TJrA17SIQgNHRvLnXDJO6qsFqq8F/zzB1BWZjCFIrQpu4QxcshitziQ==", - "dependencies": { - "@remix-run/router": "1.0.3", - "react-router": "6.4.3" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - }, - "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" - }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } - } - }, - "node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "node_modules/sass-graph": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", - "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", - "dependencies": { - "glob": "^7.0.0", - "lodash": "^4.17.11", - "scss-tokenizer": "^0.4.3", - "yargs": "^17.2.1" - }, - "bin": { - "sassgraph": "bin/sassgraph" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/sass-graph/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/sass-graph/node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/sass-graph/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/scss-tokenizer": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", - "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", - "dependencies": { - "js-base64": "^2.4.9", - "source-map": "^0.7.3" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", - "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/stdout-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stdout-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/stdout-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/sweetalert": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz", - "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==", - "dependencies": { - "es6-object-assign": "^1.1.0", - "promise-polyfill": "^6.0.2" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "node_modules/tailwindcss": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", - "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", - "dependencies": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "detective": "^5.2.1", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.18", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.10", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/tailwindcss/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dependencies": { - "glob": "^7.1.2" - } - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "dependencies": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "webpack": "^4.44.2 || ^5.47.0" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-background-sync": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", - "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", - "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-build": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", - "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", - "dependencies": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.5.4", - "workbox-broadcast-update": "6.5.4", - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-google-analytics": "6.5.4", - "workbox-navigation-preload": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-range-requests": "6.5.4", - "workbox-recipes": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4", - "workbox-streams": "6.5.4", - "workbox-sw": "6.5.4", - "workbox-window": "6.5.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "dependencies": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/workbox-build/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/workbox-build/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/workbox-build/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/workbox-build/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/workbox-build/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", - "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-core": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" - }, - "node_modules/workbox-expiration": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", - "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-google-analytics": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", - "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", - "dependencies": { - "workbox-background-sync": "6.5.4", - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", - "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-precaching": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", - "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", - "dependencies": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "node_modules/workbox-range-requests": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", - "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-recipes": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", - "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", - "dependencies": { - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "node_modules/workbox-routing": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", - "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-strategies": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", - "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-streams": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", - "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", - "dependencies": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4" - } - }, - "node_modules/workbox-sw": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" - }, - "node_modules/workbox-webpack-plugin": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", - "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", - "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.5.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/workbox-window": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", - "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", - "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.4" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@adobe/css-tools": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", - "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==" - }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" - }, - "@babel/core": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", - "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.2", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.1", - "@babel/parser": "^7.20.2", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/eslint-parser": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", - "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", - "requires": { - "@babel/types": "^7.20.2", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", - "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.2.tgz", - "integrity": "sha512-nkBH96IBmgKnbHQ5gXFrcmez+Z9S2EIDKDQGp005ROqBigc88Tky4rzCnlP/lnlj245dCEQl4/YyV0V1kYh5dw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.19.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", - "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", - "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz", - "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", - "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@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.20.1", - "@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.20.2", - "@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.20.0", - "@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.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@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.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@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.19.0", - "@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.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", - "requires": { - "regenerator-runtime": "^0.13.10" - } - }, - "@babel/runtime-corejs3": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz", - "integrity": "sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==", - "requires": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.10" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "requires": {} - }, - "@dynamicss/dynamicss": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@dynamicss/dynamicss/-/dynamicss-2.2.8.tgz", - "integrity": "sha512-e6hrGUydr8f+c9E/9fHFSG5LoSLdq/MdZXXfbzEDWIVuzKF2hcdxZE7nHNqUNF2htw1mZ17Pyoshu3A6kFEeFA==" - }, - "@emotion/babel-plugin": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", - "integrity": "sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/plugin-syntax-jsx": "^7.17.12", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.1.3" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "@emotion/cache": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", - "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", - "requires": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" - } - }, - "@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", - "requires": { - "@emotion/memoize": "^0.8.0" - } - }, - "@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" - }, - "@emotion/react": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz", - "integrity": "sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.5", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", - "requires": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" - }, - "@emotion/styled": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz", - "integrity": "sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.5", - "@emotion/is-prop-valid": "^1.2.0", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0" - } - }, - "@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" - }, - "@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" - }, - "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - }, - "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", - "requires": { - "jest-get-type": "^29.2.0" - }, - "dependencies": { - "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" - } - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@mui/base": { - "version": "5.0.0-alpha.106", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.106.tgz", - "integrity": "sha512-xJQQtwPCPwr6hGWTBdvDwHYwExn3Bw7nPQkN8Fuz8kHpZqoMVWQvvaFS557AIkkI2AFLV3DxVIMjbCvrIntBWg==", - "requires": { - "@babel/runtime": "^7.20.1", - "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.1", - "@mui/utils": "^5.10.14", - "@popperjs/core": "^2.11.6", - "clsx": "^1.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@mui/core-downloads-tracker": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.14.tgz", - "integrity": "sha512-qLgIJNOR9Dre8JiZ/neVzOf4jf88J6YtOkQqugtMrleLjbfRVUSS4LWl9CSOjNq76quYdmYWnSDgfQqOooT2cQ==" - }, - "@mui/icons-material": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.14.tgz", - "integrity": "sha512-qtH60slQa+7MZRn6kyui8rKuoGDglPqaHX+pzBKNvd8JCOlrnfY5DmGGDdToTXyXl8xJ8nhANZbrbpg7UVKq/Q==", - "requires": { - "@babel/runtime": "^7.20.1" - } - }, - "@mui/material": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.14.tgz", - "integrity": "sha512-HWzKVAykePMx54WtxVwZyL1W4k3xlHYIqwMw0CaXAvgB3UE9yjABZuuGr8vG5Z6CSNWamzd+s1x8u7pQPFl9og==", - "requires": { - "@babel/runtime": "^7.20.1", - "@mui/base": "5.0.0-alpha.106", - "@mui/core-downloads-tracker": "^5.10.14", - "@mui/system": "^5.10.14", - "@mui/types": "^7.2.1", - "@mui/utils": "^5.10.14", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "csstype": "^3.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@mui/private-theming": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.14.tgz", - "integrity": "sha512-3aIBe8WK65CwAPDY8nB11hYnzE1CZMymi76UnaFrA/DdGDwl5Y8F6uB+StKrkVmsqF1po7Mp2odqVkHj320gXw==", - "requires": { - "@babel/runtime": "^7.20.1", - "@mui/utils": "^5.10.14", - "prop-types": "^15.8.1" - } - }, - "@mui/styled-engine": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.14.tgz", - "integrity": "sha512-bgKdM57ExogWpIfhL/ngSlzF4FhbH00vYF+Y5VALTob4uslFqje0xzoWmbfcCn4cZt2NXxZJIwhsq4vzo5itlw==", - "requires": { - "@babel/runtime": "^7.20.1", - "@emotion/cache": "^11.10.5", - "csstype": "^3.1.1", - "prop-types": "^15.8.1" - } - }, - "@mui/system": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.14.tgz", - "integrity": "sha512-2de7XCjRb1j8Od0Stmo0LwFMLpOMNT4wzfINuExXI1TVSuyxXIXUxiC5FEgJW3GMvf/a7SUR8VOiMoKlKWzukw==", - "requires": { - "@babel/runtime": "^7.20.1", - "@mui/private-theming": "^5.10.14", - "@mui/styled-engine": "^5.10.14", - "@mui/types": "^7.2.1", - "@mui/utils": "^5.10.14", - "clsx": "^1.2.1", - "csstype": "^3.1.1", - "prop-types": "^15.8.1" - } - }, - "@mui/types": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.1.tgz", - "integrity": "sha512-c5mSM7ivD8EsqK6HUi9hQPr5V7TJ/IRThUQ9nWNYPdhCGriTSQV4vL6DflT99LkM+wLiIS1rVjphpEWxERep7A==", - "requires": {} - }, - "@mui/utils": { - "version": "5.10.14", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.14.tgz", - "integrity": "sha512-12p59+wDZpA++XVJmKwqsZmrA1nmUQ5d0a1yQWtcDjxNyER1EDzozYN/db+FY2i5ceQh2TynPTEwGms2mXDwFg==", - "requires": { - "@babel/runtime": "^7.20.1", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "requires": { - "eslint-scope": "5.1.1" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "requires": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.9.tgz", - "integrity": "sha512-7QV4cqUwhkDIHpMAZ9mestSJ2DMIotVTbOUwbiudhjCRTAWWKIaBecELiEM2LT3AHFeOAaHIcFu4dbXjX+9GBA==", - "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.3", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - } - }, - "@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" - }, - "@remix-run/router": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.3.tgz", - "integrity": "sha512-ceuyTSs7PZ/tQqi19YZNBc5X7kj1f8p+4DIyrcIYFY9h+hd1OKm4RqtiWldR9eGEvIiJfsqwM4BsuCtRIuEw6Q==" - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sinonjs/commons": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", - "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@testing-library/dom": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz", - "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", - "requires": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" - } - }, - "@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" - }, - "@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.4.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", - "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "@types/express": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", - "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.31", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", - "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "requires": { - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.3.tgz", - "integrity": "sha512-6XwoEbmatfyoCjWRX7z0fKMmgYKe9+/HrviJ5k0X/tjJWHGAezZOfYaxqQKuzG/TvQyr+ktjm4jgbk0s4/oF2w==", - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", - "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==" - }, - "expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", - "requires": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" - }, - "jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", - "requires": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "18.0.25", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", - "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz", - "integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-is": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", - "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", - "requires": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "requires": { - "@types/jest": "*" - } - }, - "@types/trusted-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", - "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" - }, - "@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz", - "integrity": "sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA==", - "requires": { - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/type-utils": "5.43.0", - "@typescript-eslint/utils": "5.43.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.43.0.tgz", - "integrity": "sha512-WkT637CumTJbm/hRbFfnHBMgfUYTKr08LitVsD7gQId7bi6rnkx3pu3jac67lmp5ObW4MpJ9SNFZAIOUB/Qbsw==", - "requires": { - "@typescript-eslint/utils": "5.43.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.43.0.tgz", - "integrity": "sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==", - "requires": { - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/typescript-estree": "5.43.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz", - "integrity": "sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==", - "requires": { - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/visitor-keys": "5.43.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz", - "integrity": "sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==", - "requires": { - "@typescript-eslint/typescript-estree": "5.43.0", - "@typescript-eslint/utils": "5.43.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.43.0.tgz", - "integrity": "sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz", - "integrity": "sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==", - "requires": { - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/visitor-keys": "5.43.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.43.0.tgz", - "integrity": "sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==", - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/typescript-estree": "5.43.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz", - "integrity": "sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==", - "requires": { - "@typescript-eslint/types": "5.43.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", - "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - } - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axe-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.5.2.tgz", - "integrity": "sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==" - }, - "axios": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.1.tgz", - "integrity": "sha512-78pWJsQTceInlyaeBQeYZ/QgZeWS8hGeKiIJiDKQe3hEyBb7sEMq0K4gjx+Va6WHTYO4zI/RRl8qGRzn0YMadA==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", - "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" - } - } - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "check-types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", - "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", - "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==" - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - }, - "clean-css": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", - "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==" - }, - "core-js-compat": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", - "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", - "requires": { - "browserslist": "^4.21.4" - } - }, - "core-js-pure": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", - "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "requires": {} - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.2.tgz", - "integrity": "sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.18", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "requires": {} - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "cssdb": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.1.0.tgz", - "integrity": "sha512-Sd99PrFgx28ez4GHu8yoQIufc/70h9oYowDf4EjeIKi8mac9whxRjhM3IaMr6EllP6KKKWtJrMfN6C7T9tIWvQ==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", - "requires": { - "cssnano-preset-default": "^5.2.13", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" - } - } - }, - "decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-equal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.1.0.tgz", - "integrity": "sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==", - "requires": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.8" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "requires": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", - "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-object-assign": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", - "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", - "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - } - }, - "eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", - "requires": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react": { - "version": "7.31.10", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", - "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", - "requires": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.9.1.tgz", - "integrity": "sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==", - "requires": { - "@typescript-eslint/utils": "^5.13.0" - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", - "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "requires": { - "globule": "^1.0.0" - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "globule": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", - "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", - "requires": { - "glob": "~7.1.1", - "lodash": "^4.17.21", - "minimatch": "~3.0.2" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, - "html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - }, - "immer": { - "version": "9.0.16", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.16.tgz", - "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "requires": { - "@jest/schemas": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - } - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - } - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" } }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" - }, - "js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==" + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "color-name": "~1.1.4" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, - "json-stable-stringify-without-jsonify": { + "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" } }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "ms": "2.1.2" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true }, - "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" + "deep-equal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "requires": { - "language-subtag-registry": "~0.3.2" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, - "leven": { + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "diff-sequences": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", + "dev": true + }, + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "webidl-conversions": "^7.0.0" } }, - "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" + "electron-to-chromium": { + "version": "1.4.339", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.339.tgz", + "integrity": "sha512-MSXHBJGcbBydq/DQDlpBeUKnJ6C7aTiNCTRpfDV5Iz0sNr/Ng6RJFloq82AAicp/SrmDq4zF6XsKG0B8Xwn1UQ==", + "dev": true }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "is-arrayish": "^0.2.1" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, "requires": { - "p-locate": "^5.0.0" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "expect": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", + "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" } }, - "lower-case": { + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, "requires": { - "tslib": "^2.0.3" + "bser": "2.1.1" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { - "yallist": "^4.0.0" + "to-regex-range": "^5.0.1" } }, - "lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, "requires": { - "sourcemap-codec": "^1.4.8" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "requires": { - "tmpl": "1.0.5" + "is-callable": "^1.1.3" } }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.4.11", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.11.tgz", - "integrity": "sha512-GvsCITGAyDCxxsJ+X6prJexFQEhOCJaIlUbsAvjzSI5o5O7j2dle3jWvz5Z5aOdpOxW6ol3vI1+0ut+641F1+w==", + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "requires": { - "fs-monkey": "^1.0.3" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" - } + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, "requires": { - "mime-db": "1.52.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true }, - "mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "is-glob": "^4.0.1" } }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - } + "get-intrinsic": "^1.1.3" } }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { - "yallist": "^4.0.0" + "function-bind": "^1.1.1" } }, - "minipass-collect": { + "has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "requires": { - "minipass": "^3.0.0" + "get-intrinsic": "^1.1.1" } }, - "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - } + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, "requires": { - "minipass": "^3.0.0" + "has-symbols": "^1.0.2" } }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, "requires": { - "minipass": "^3.0.0" + "whatwg-encoding": "^2.0.0" } }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, "requires": { - "minipass": "^3.0.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" } }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "agent-base": "6", + "debug": "4" } }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, "requires": { - "minimist": "^1.2.6" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" } }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "dependencies": { - "make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - } - } + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, - "node-sass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz", - "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==", + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^8.4.1", - "npmlog": "^5.0.0", - "request": "^2.88.0", - "sass-graph": "^4.0.1", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-bigints": "^1.0.1" } }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "requires": { - "abbrev": "1" + "binary-extensions": "^2.0.0" } }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, "requires": { - "path-key": "^3.0.0" + "builtin-modules": "^3.3.0" } }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "has": "^1.0.3" } }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, "requires": { - "boolbase": "^1.0.0" + "has-tostringtag": "^1.0.0" } }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true }, - "object-hash": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "is-extglob": "^2.1.1" } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, - "object.getownpropertydescriptors": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", - "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "has-tostringtag": "^1.0.0" } }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@types/estree": "*" } }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "has-tostringtag": "^1.0.0" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, "requires": { - "ee-first": "1.1.1" + "call-bind": "^1.0.2" } }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "requires": { - "wrappy": "1" + "has-tostringtag": "^1.0.0" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "requires": { - "mimic-fn": "^2.1.0" + "has-symbols": "^1.0.2" } }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" } }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, "requires": { - "yocto-queue": "^0.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" } }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, "requires": { - "callsites": "^3.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "jest": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", + "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", + "import-local": "^3.0.2", + "jest-cli": "^29.5.0" } }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "jest-changed-files": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", + "dev": true, "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "execa": "^5.0.0", + "p-limit": "^3.1.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + "jest-cli": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", + "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", + "dev": true, + "requires": { + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" + "jest-config": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", + "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { - "p-locate": "^4.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "requires": { - "p-try": "^2.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "requires": { - "p-limit": "^2.2.0" + "brace-expansion": "^1.1.7" } } } }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "jest-diff": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "dev": true, "requires": { - "find-up": "^3.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { - "p-limit": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" } } }, - "postcss": { - "version": "8.4.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "jest-docblock": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", + "dev": true, "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "detect-newline": "^3.0.0" } }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "jest-each": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", + "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "@jest/types": "^29.5.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "requires": {} + "jest-environment-jsdom": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.5.0.tgz", + "integrity": "sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0", + "jsdom": "^20.0.0" + } }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "jest-environment-node": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", + "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" } }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "dev": true + }, + "jest-haste-map": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", + "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "@jest/types": "^29.5.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" } }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "jest-leak-detector": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", + "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" } }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "jest-matcher-utils": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "chalk": "^4.0.0", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "jest-message-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.5.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.5.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "jest-mock": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", + "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", + "dev": true, "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "@jest/types": "^29.5.0", + "@types/node": "*", + "jest-util": "^29.5.0" } }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", + "dev": true + }, + "jest-resolve": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", + "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "jest-resolve-dependencies": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", + "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" } }, - "postcss-custom-properties": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.10.tgz", - "integrity": "sha512-U3BHdgrYhCrwTVcByFHs9EOBoqcKq4Lf3kXwbTi4hhq0qWhl/pDWq2THbv/ICX/Fl9KqeHBb8OVrTf2OaYF07A==", - "requires": { - "postcss-value-parser": "^4.2.0" + "jest-runner": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", + "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "dev": true, + "requires": { + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "requires": { - "postcss-selector-parser": "^6.0.4" + "jest-runtime": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", + "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "jest-snapshot": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", + "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.5.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.5.0", + "semver": "^7.3.5" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} + "jest-util": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", + "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "dev": true, + "requires": { + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} + "jest-validate": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", + "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", + "dev": true, + "requires": { + "@jest/types": "^29.5.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.5.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "jest-watcher": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", + "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", + "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.5.0", + "string-length": "^4.0.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "jest-worker": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", + "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "@types/node": "*", + "jest-util": "^29.5.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.9" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" } }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true }, - "postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "requires": {} + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true }, - "postcss-js": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", - "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "requires": { - "camelcase-css": "^2.0.1" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true }, - "postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "requires": {} + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, - "postcss-media-minmax": { + "locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "p-locate": "^4.1.0" } }, - "postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "postcss-value-parser": "^4.2.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, - "postcss-minify-gradients": { + "lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "yallist": "^3.0.2" } }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "@jridgewell/sourcemap-codec": "^1.4.13" } }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.5" + "semver": "^6.0.0" } }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.4" + "tmpl": "1.0.5" } }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, - "postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, - "postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" + "mime-db": "1.52.0" } }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "brace-expansion": "^2.0.1" } }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "path-key": "^3.0.0" } }, - "postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==" + "nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "requires": {} - }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, - "postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, - "postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" + "wrappy": "1" } }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0" + "mimic-fn": "^2.1.0" } }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "requires": {} - }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" } }, - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "yocto-queue": "^0.1.0" } }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "p-limit": "^2.2.0" }, "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "p-try": "^2.0.0" } } } }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, "requires": { - "postcss-selector-parser": "^6.0.5" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "find-up": "^4.0.0" } }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "dev": true, "requires": { - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.4.3", "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "react-is": "^18.0.0" }, "dependencies": { "ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - }, - "promise-polyfill": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", - "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ==" - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "dependencies": { - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true } } }, @@ -29935,659 +9599,121 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } + "pure-rand": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.1.tgz", + "integrity": "sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg==", + "dev": true }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "rc-highlight": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/rc-highlight/-/rc-highlight-2.5.6.tgz", - "integrity": "sha512-2ZniAUY00UxiofYp3kcRuafUMDDNQ7Gcmgv24kJpjyvnsezjaLh1lvrdwPx/sktCcp+Xqj2o6SvvhNzbuhu+QQ==", - "requires": {} - }, "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - }, - "react-router": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.3.tgz", - "integrity": "sha512-BT6DoGn6aV1FVP5yfODMOiieakp3z46P1Fk0RNzJMACzE7C339sFuHebfvWtnB4pzBvXXkHP2vscJzWRuUjTtA==", - "requires": { - "@remix-run/router": "1.0.3" - } - }, - "react-router-dom": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.3.tgz", - "integrity": "sha512-MiaYQU8CwVCaOfJdYvt84KQNjT78VF0TJrA17SIQgNHRvLnXDJO6qsFqq8F/zzB1BWZjCFIrQpu4QxcshitziQ==", - "requires": { - "@remix-run/router": "1.0.3", - "react-router": "6.4.3" - } - }, - "react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "requires": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "fsevents": "^2.3.2", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - } - }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "requires": { - "pify": "^2.3.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - } + "loose-envify": "^1.1.0" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" } }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "requires": { "picomatch": "^2.2.1" } }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - } - }, "redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, "requires": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" } }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true }, "regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "functions-have-names": "^1.2.2" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - }, - "regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, "requires": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -30598,6 +9724,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, "requires": { "resolve-from": "^5.0.0" } @@ -30605,76 +9732,48 @@ "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true }, "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true }, "rollup": { "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "peer": true, "requires": { "fsevents": "~2.3.2" } }, + "rollup-plugin-peer-deps-external": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.4.tgz", + "integrity": "sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==", + "dev": true, + "requires": {} + }, + "rollup-plugin-sass": { + "version": "1.12.19", + "resolved": "https://registry.npmjs.org/rollup-plugin-sass/-/rollup-plugin-sass-1.12.19.tgz", + "integrity": "sha512-gVYQ+fKpwbIeC3tFWbtSw0kVHbDd6bpPHJ+YHpY28YRY1aS8LCrogJZmyb23fDcBn6r8eWzuC1N3jfQbCY3gMQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3 || ^4 || ^5", + "resolve": "^1.5.0", + "sass": "^1.7.2" + } + }, "rollup-plugin-terser": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, "requires": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -30682,132 +9781,96 @@ "terser": "^5.0.0" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" } + } + } + }, + "rollup-plugin-typescript2": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.34.1.tgz", + "integrity": "sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.1.2", + "find-cache-dir": "^3.3.2", + "fs-extra": "^10.0.0", + "semver": "^7.3.7", + "tslib": "^2.4.0" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { - "randombytes": "^2.1.0" + "yallist": "^4.0.0" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "lru-cache": "^6.0.0" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "sass-graph": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", - "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", - "requires": { - "glob": "^7.0.0", - "lodash": "^4.17.11", - "scss-tokenizer": "^0.4.3", - "yargs": "^17.2.1" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "sass": { + "version": "1.60.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz", + "integrity": "sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ==", + "dev": true, "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, "requires": { "xmlchars": "^2.2.0" } @@ -30820,181 +9883,26 @@ "loose-envify": "^1.1.0" } }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "scss-tokenizer": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", - "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", - "requires": { - "js-base64": "^2.4.9", - "source-map": "^0.7.3" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" - } - }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, "requires": { "randombytes": "^2.1.0" } }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "requires": { "shebang-regex": "^3.0.0" } @@ -31002,17 +9910,14 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", - "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -31022,335 +9927,93 @@ "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true }, "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, "stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, "requires": { "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "requires": { - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "internal-slot": "^1.0.4" } }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, "requires": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" } }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" } }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -31358,22 +10021,20 @@ "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, "requires": { "min-indent": "^1.0.0" } @@ -31381,253 +10042,35 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", - "requires": {} - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" } }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - } - } - }, - "sweetalert": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz", - "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==", - "requires": { - "es6-object-assign": "^1.1.0", - "promise-polyfill": "^6.0.2" - } + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "tailwindcss": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", - "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", - "requires": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "detective": "^5.2.1", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.18", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.10", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1" - }, - "dependencies": { - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true }, "terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "version": "5.16.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz", + "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==", + "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -31635,77 +10078,90 @@ "source-map-support": "~0.5.20" }, "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } } } }, - "terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - } - }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, "tough-cookie": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -31716,630 +10172,194 @@ "universalify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true } } }, "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, "requires": { "punycode": "^2.1.1" } }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "requires": { - "glob": "^7.1.2" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "ts-jest": { + "version": "29.0.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.5.tgz", + "integrity": "sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA==", + "dev": true, "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" }, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { - "minimist": "^1.2.0" + "yallist": "^4.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - } - }, - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "prelude-ls": "~1.1.2" } }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" - } + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" - } + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } + "typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "dev": true }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true }, "update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "convert-source-map": "^1.6.0" }, "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true } } }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, "requires": { - "xml-name-validator": "^3.0.0" + "xml-name-validator": "^4.0.0" } }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, "requires": { "makeerror": "1.0.12" } }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "requires": {} - } - } - }, - "webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true }, "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } + "iconv-lite": "0.6.3" } }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true }, "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" } }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "requires": { "isexe": "^2.0.0" } @@ -32348,6 +10368,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -32360,6 +10381,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, "requires": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -32371,6 +10393,7 @@ "version": "1.1.9", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -32380,397 +10403,96 @@ "is-typed-array": "^1.1.10" } }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", - "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "workbox-broadcast-update": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", - "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-build": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", - "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.5.4", - "workbox-broadcast-update": "6.5.4", - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-google-analytics": "6.5.4", - "workbox-navigation-preload": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-range-requests": "6.5.4", - "workbox-recipes": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4", - "workbox-streams": "6.5.4", - "workbox-sw": "6.5.4", - "workbox-window": "6.5.4" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", - "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-core": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" - }, - "workbox-expiration": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", - "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "workbox-google-analytics": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", - "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", - "requires": { - "workbox-background-sync": "6.5.4", - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-navigation-preload": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", - "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-precaching": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", - "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", - "requires": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-range-requests": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", - "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-recipes": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", - "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", - "requires": { - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-routing": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", - "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-strategies": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", - "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-streams": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", - "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", - "requires": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4" - } - }, - "workbox-sw": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" - }, - "workbox-webpack-plugin": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", - "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.5.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } - }, - "workbox-window": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", - "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.4" - } + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, "requires": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" } }, "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, "requires": {} }, "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true }, "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true }, "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "dev": true, "requires": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" } }, "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index f44586799cb2a18badaff5f799b556e4e155f2eb..c82c4a38b70468bb2411cbd7733f59ba06571744 100644 --- a/package.json +++ b/package.json @@ -1,51 +1,64 @@ { - "name": "files-ui-webpage", - "version": "0.1.0", - "private": true, - "dependencies": { - "@dynamicss/dynamicss": "^2.2.8", - "@emotion/react": "^11.10.5", - "@emotion/styled": "^11.10.5", - "@mui/icons-material": "^5.10.14", - "@mui/material": "^5.10.14", - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "@types/react": "^18.0.25", - "axios": "^1.3.1", - "node-sass": "^7.0.3", - "rc-highlight": "^2.5.6", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-router": "^6.4.3", - "react-router-dom": "^6.4.3", - "react-scripts": "5.0.1", - "sweetalert": "^2.1.2", - "typescript": "^4.9.3", - "web-vitals": "^2.1.4" - }, + "name": "@files-ui/react", + "version": "1.0.0", + "description": "UI components and uploader for files with react js / Ui File Upload library", + "main": "./build/index.js", + "module": "./build/index.es.js", + "types": "./build/index.d.ts", "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" + "build": "rollup -c", + "test": "jest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/files-ui/files-ui-react.git" }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] + "keywords": [ + "file", + "upload", + "dropzone", + "file", + "upload", + "typescript", + "drag", + "drop", + "drag-drop", + "preview", + "ui", + "file", + "uploader", + "uploader", + "files", + "material", + "mui", + "framework", + "front-end", + "kamui", + "react", + "react-component" + ], + "author": "JinSSJ3", + "license": "MIT", + "bugs": { + "url": "https://github.com/files-ui/files-ui-react/issues" }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] + "homepage": "https://www.files-ui.com", + "sideEffects": false, + "devDependencies": { + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-node-resolve": "^15.0.1", + "@testing-library/jest-dom": "^5.16.5", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "rollup-plugin-peer-deps-external": "^2.2.4", + "rollup-plugin-sass": "^1.12.19", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-typescript2": "^0.34.1", + "ts-jest": "^29.0.5", + "typescript": "^5.0.2" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" } } diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/files-ui-ico-nb.ico b/public/files-ui-ico-nb.ico deleted file mode 100644 index 121610b8db5afa99b5bb76bc7e70c1474e1692fd..0000000000000000000000000000000000000000 Binary files a/public/files-ui-ico-nb.ico and /dev/null differ diff --git a/public/files-ui-logo-arrow.ico b/public/files-ui-logo-arrow.ico deleted file mode 100644 index 3ba296529f4433fbf9688c4582660d8f1afab76c..0000000000000000000000000000000000000000 Binary files a/public/files-ui-logo-arrow.ico and /dev/null differ diff --git a/public/files-ui-logo.ico b/public/files-ui-logo.ico deleted file mode 100644 index 91d0ae77492e2e82a8b1d15cfe67e185d2f761e8..0000000000000000000000000000000000000000 Binary files a/public/files-ui-logo.ico and /dev/null differ diff --git a/public/icons/files-ui-logo-blue-ico.ico b/public/icons/files-ui-logo-blue-ico.ico deleted file mode 100644 index b4503cc680490fcff8af698f5066f822d432953c..0000000000000000000000000000000000000000 Binary files a/public/icons/files-ui-logo-blue-ico.ico and /dev/null differ diff --git a/public/icons/files-ui-logo-blue-wbg-ico.ico b/public/icons/files-ui-logo-blue-wbg-ico.ico deleted file mode 100644 index 50ec65540e5884704fe0c5e8e0fb68d4856d00c3..0000000000000000000000000000000000000000 Binary files a/public/icons/files-ui-logo-blue-wbg-ico.ico and /dev/null differ diff --git a/public/icons/files-ui-logo-white-bbg-ico.ico b/public/icons/files-ui-logo-white-bbg-ico.ico deleted file mode 100644 index 3f724a1e1df27107addc3f22b618888574e22f4d..0000000000000000000000000000000000000000 Binary files a/public/icons/files-ui-logo-white-bbg-ico.ico and /dev/null differ diff --git a/public/icons/files-ui-logo-white-ico.ico b/public/icons/files-ui-logo-white-ico.ico deleted file mode 100644 index fc80f25948b28e59cb6bd21c9f7fa9b58ef1ea97..0000000000000000000000000000000000000000 Binary files a/public/icons/files-ui-logo-white-ico.ico and /dev/null differ diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 141e4023ea01472600ad38f39feb31ca4116ad6a..0000000000000000000000000000000000000000 --- a/public/index.html +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - - <!-- <script defer src="https://app.embed.im/snow.js"></script> - --> - <meta charset="utf-8" /> - <link rel="icon" href="%PUBLIC_URL%/icons/files-ui-logo-blue-ico.ico" /> - <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="theme-color" content="#000000" /> - <!-- <meta - name="description" - content="Web site created using create-react-app" - /> --> - <link rel="apple-touch-icon" href="%PUBLIC_URL%/icons/files-ui-logo-blue-ico.ico" /> - - <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> - - <title>Files-ui: File upload react library</title> - <meta - name="description" - content="Files UI is a library of React components for managing file uploads, previews and more. Make the file upload task easy for developers and end-users." - /> - </head> - <body> - <!-- <noscript>You need to enable JavaScript to run this app.</noscript> --> - <div id="root"></div> - </body> -</html> diff --git a/public/logo192.png b/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 Binary files a/public/logo192.png and /dev/null differ diff --git a/public/logo512.png b/public/logo512.png deleted file mode 100644 index a4e47a6545bc15971f8f63fba70e4013df88a664..0000000000000000000000000000000000000000 Binary files a/public/logo512.png and /dev/null differ diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index 903467ba6f5e685a222cfb0a5ee86223e6136c42..0000000000000000000000000000000000000000 --- a/public/manifest.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "short_name": "Files ui", - "name": "File upload react library", - "icons": [ - { - "src": "files-ui-ico-nb.ico", - "sizes": "256x256", - "type": "image/x-icon" - }, - { - "src": "files-ui-ico-nb.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "files-ui-ico-nb.ico", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "files-ui-ico-nb.ico", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/public/other_icons/wordicon.png b/public/other_icons/wordicon.png deleted file mode 100644 index 01072ea07990cc634afed1ee1a8d67a0eb6881d3..0000000000000000000000000000000000000000 Binary files a/public/other_icons/wordicon.png and /dev/null differ diff --git a/public/robots.txt b/public/robots.txt deleted file mode 100644 index e9e57dc4d41b9b46e05112e9f45b7ea6ac0ba15e..0000000000000000000000000000000000000000 --- a/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/public/serverside/nodeexpress.jpg b/public/serverside/nodeexpress.jpg deleted file mode 100644 index 673680a111f656712e88f41e49e5867bc73d56e0..0000000000000000000000000000000000000000 Binary files a/public/serverside/nodeexpress.jpg and /dev/null differ diff --git a/public/serverside/springbootjavalogo.png b/public/serverside/springbootjavalogo.png deleted file mode 100644 index 6fa8675befd80a2b29c332c8cd5e9784c6941a4a..0000000000000000000000000000000000000000 Binary files a/public/serverside/springbootjavalogo.png and /dev/null differ diff --git a/public/videodemo/NarutoEN.mp4 b/public/videodemo/NarutoEN.mp4 deleted file mode 100644 index 4b5a4ed9b91b9b0af0af8a5985ded2944c2f6792..0000000000000000000000000000000000000000 Binary files a/public/videodemo/NarutoEN.mp4 and /dev/null differ diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000000000000000000000000000000000000..88df14dd65b57ec35379abb7a858710e1faed391 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,36 @@ +import commonjs from "@rollup/plugin-commonjs"; +import resolve from "@rollup/plugin-node-resolve"; +import peerDepsExternal from "rollup-plugin-peer-deps-external"; +import typescript from "rollup-plugin-typescript2"; +import sass from "rollup-plugin-sass"; +import packageJson from "./package.json"; +//import jsx from 'rollup-plugin-jsx' +//import json from "rollup-plugin-json"; +import { terser } from "rollup-plugin-terser"; +export default { + input: "./src/index.ts", + output: [ + { + file: packageJson.main, + format: "cjs", + sourcemap: true, + }, + { + file: packageJson.module, + format: "esm", + sourcemap: true, + }, + ], + plugins: [ + sass({ insert: true }), + peerDepsExternal(), + resolve( + // { preferBuiltins: true, mainFields: ['browser'] } + ), + commonjs(), + typescript(), + terser(), + //json(), + // jsx( {factory: 'React.createElement'} ), + ], +}; diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 74b5e053450a48a6bdb4d71aad648e7af821975c..0000000000000000000000000000000000000000 --- a/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/App.js b/src/App.js deleted file mode 100644 index 12d1db6f421356b8c658bfb90437b5c4fb48b139..0000000000000000000000000000000000000000 --- a/src/App.js +++ /dev/null @@ -1,34 +0,0 @@ -//import logo from './static/files-ui-logo - arrow-samsung-2.png'; -import './App.css'; - -function App() { - return ( - <div className="App"> - <nav className="filesui-nav"> - - </nav> - <main className="filesui-main"> - - </main> - <footer className="filesui-footer"> - - </footer> - <header className="App-header"> - {/* <img src={logo} className="App-logo" alt="logo" /> - */} <p> - Edit <code className="code">src/App.js</code> and save to reload. - </p> - <a - className="App-link" - href="https://reactjs.org" - target="_blank" - rel="noopener noreferrer" - > - Learn React - </a> - </header> - </div> - ); -} - -export default App; diff --git a/src/App.test.js b/src/App.test.js deleted file mode 100644 index 1f03afeece5ac28064fa3c73a29215037465f789..0000000000000000000000000000000000000000 --- a/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(<App />); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/src/files-ui/Avatar/Avatar.scss b/src/Avatar/Avatar.scss similarity index 100% rename from src/files-ui/Avatar/Avatar.scss rename to src/Avatar/Avatar.scss diff --git a/src/files-ui/Avatar/Avatar.tsx b/src/Avatar/Avatar.tsx similarity index 100% rename from src/files-ui/Avatar/Avatar.tsx rename to src/Avatar/Avatar.tsx diff --git a/src/files-ui/Avatar/AvatarProps.ts b/src/Avatar/AvatarProps.ts similarity index 100% rename from src/files-ui/Avatar/AvatarProps.ts rename to src/Avatar/AvatarProps.ts diff --git a/src/files-ui/Avatar/index.ts b/src/Avatar/index.ts similarity index 100% rename from src/files-ui/Avatar/index.ts rename to src/Avatar/index.ts diff --git a/src/files-ui/Avatar/useAvatarClassName.ts b/src/Avatar/useAvatarClassName.ts similarity index 100% rename from src/files-ui/Avatar/useAvatarClassName.ts rename to src/Avatar/useAvatarClassName.ts diff --git a/src/files-ui/Avatar/useAvatarStyle.ts b/src/Avatar/useAvatarStyle.ts similarity index 100% rename from src/files-ui/Avatar/useAvatarStyle.ts rename to src/Avatar/useAvatarStyle.ts diff --git a/src/files-ui/DownloadHidden/DownloadHidden.tsx b/src/DownloadHidden/DownloadHidden.tsx similarity index 100% rename from src/files-ui/DownloadHidden/DownloadHidden.tsx rename to src/DownloadHidden/DownloadHidden.tsx diff --git a/src/files-ui/DropLayer/components/DropLayer.tsx b/src/DropLayer/components/DropLayer.tsx similarity index 100% rename from src/files-ui/DropLayer/components/DropLayer.tsx rename to src/DropLayer/components/DropLayer.tsx diff --git a/src/files-ui/DropLayer/components/DropLayerProps.scss b/src/DropLayer/components/DropLayerProps.scss similarity index 100% rename from src/files-ui/DropLayer/components/DropLayerProps.scss rename to src/DropLayer/components/DropLayerProps.scss diff --git a/src/files-ui/DropLayer/components/DropLayerProps.ts b/src/DropLayer/components/DropLayerProps.ts similarity index 100% rename from src/files-ui/DropLayer/components/DropLayerProps.ts rename to src/DropLayer/components/DropLayerProps.ts diff --git a/src/files-ui/DropLayer/utils/dropLayerDynamicStyle.ts b/src/DropLayer/utils/dropLayerDynamicStyle.ts similarity index 100% rename from src/files-ui/DropLayer/utils/dropLayerDynamicStyle.ts rename to src/DropLayer/utils/dropLayerDynamicStyle.ts diff --git a/src/files-ui/Dropzone/components/DropzoneButtons/DropzoneButtons.scss b/src/Dropzone/components/DropzoneButtons/DropzoneButtons.scss similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneButtons/DropzoneButtons.scss rename to src/Dropzone/components/DropzoneButtons/DropzoneButtons.scss diff --git a/src/files-ui/Dropzone/components/DropzoneButtons/DropzoneButtons.tsx b/src/Dropzone/components/DropzoneButtons/DropzoneButtons.tsx similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneButtons/DropzoneButtons.tsx rename to src/Dropzone/components/DropzoneButtons/DropzoneButtons.tsx diff --git a/src/files-ui/Dropzone/components/DropzoneChildren/DropzoneChildren.scss b/src/Dropzone/components/DropzoneChildren/DropzoneChildren.scss similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneChildren/DropzoneChildren.scss rename to src/Dropzone/components/DropzoneChildren/DropzoneChildren.scss diff --git a/src/files-ui/Dropzone/components/DropzoneChildren/DropzoneChildren.tsx b/src/Dropzone/components/DropzoneChildren/DropzoneChildren.tsx similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneChildren/DropzoneChildren.tsx rename to src/Dropzone/components/DropzoneChildren/DropzoneChildren.tsx diff --git a/src/files-ui/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss b/src/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss rename to src/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.scss diff --git a/src/files-ui/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx b/src/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx rename to src/Dropzone/components/DropzoneDisabledLayer/DropzoneDisabledLayer.tsx diff --git a/src/files-ui/Dropzone/components/DropzoneFooter/DropzoneFooter.tsx b/src/Dropzone/components/DropzoneFooter/DropzoneFooter.tsx similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneFooter/DropzoneFooter.tsx rename to src/Dropzone/components/DropzoneFooter/DropzoneFooter.tsx diff --git a/src/files-ui/Dropzone/components/DropzoneHeader/DropzoneHeader.tsx b/src/Dropzone/components/DropzoneHeader/DropzoneHeader.tsx similarity index 100% rename from src/files-ui/Dropzone/components/DropzoneHeader/DropzoneHeader.tsx rename to src/Dropzone/components/DropzoneHeader/DropzoneHeader.tsx diff --git a/src/files-ui/Dropzone/components/dropzone/Dropzone.scss b/src/Dropzone/components/dropzone/Dropzone.scss similarity index 100% rename from src/files-ui/Dropzone/components/dropzone/Dropzone.scss rename to src/Dropzone/components/dropzone/Dropzone.scss diff --git a/src/files-ui/Dropzone/components/dropzone/Dropzone.tsx b/src/Dropzone/components/dropzone/Dropzone.tsx similarity index 100% rename from src/files-ui/Dropzone/components/dropzone/Dropzone.tsx rename to src/Dropzone/components/dropzone/Dropzone.tsx diff --git a/src/files-ui/Dropzone/components/dropzone/DropzoneProps.ts b/src/Dropzone/components/dropzone/DropzoneProps.ts similarity index 100% rename from src/files-ui/Dropzone/components/dropzone/DropzoneProps.ts rename to src/Dropzone/components/dropzone/DropzoneProps.ts diff --git a/src/files-ui/Dropzone/components/dropzone/DropzoneRipple.scss b/src/Dropzone/components/dropzone/DropzoneRipple.scss similarity index 100% rename from src/files-ui/Dropzone/components/dropzone/DropzoneRipple.scss rename to src/Dropzone/components/dropzone/DropzoneRipple.scss diff --git a/src/files-ui/Dropzone/index.ts b/src/Dropzone/index.ts similarity index 100% rename from src/files-ui/Dropzone/index.ts rename to src/Dropzone/index.ts diff --git a/src/files-ui/FileCard/FileCard.scss b/src/FileCard/FileCard.scss similarity index 100% rename from src/files-ui/FileCard/FileCard.scss rename to src/FileCard/FileCard.scss diff --git a/src/files-ui/FileCard/FileCard.tsx b/src/FileCard/FileCard.tsx similarity index 100% rename from src/files-ui/FileCard/FileCard.tsx rename to src/FileCard/FileCard.tsx diff --git a/src/files-ui/FileCard/FileCardProps.ts b/src/FileCard/FileCardProps.ts similarity index 100% rename from src/files-ui/FileCard/FileCardProps.ts rename to src/FileCard/FileCardProps.ts diff --git a/src/files-ui/FileCard/components/FileCardInfoLayer.tsx b/src/FileCard/components/FileCardInfoLayer.tsx similarity index 100% rename from src/files-ui/FileCard/components/FileCardInfoLayer.tsx rename to src/FileCard/components/FileCardInfoLayer.tsx diff --git a/src/files-ui/FileCard/components/FileCardPaper.scss b/src/FileCard/components/FileCardPaper.scss similarity index 100% rename from src/files-ui/FileCard/components/FileCardPaper.scss rename to src/FileCard/components/FileCardPaper.scss diff --git a/src/files-ui/FileCard/components/FileCardRightActions.scss b/src/FileCard/components/FileCardRightActions.scss similarity index 100% rename from src/files-ui/FileCard/components/FileCardRightActions.scss rename to src/FileCard/components/FileCardRightActions.scss diff --git a/src/files-ui/FileCard/components/FileCardRightActions.tsx b/src/FileCard/components/FileCardRightActions.tsx similarity index 100% rename from src/files-ui/FileCard/components/FileCardRightActions.tsx rename to src/FileCard/components/FileCardRightActions.tsx diff --git a/src/files-ui/FileCard/components/FileCardUploadLayer.scss b/src/FileCard/components/FileCardUploadLayer.scss similarity index 100% rename from src/files-ui/FileCard/components/FileCardUploadLayer.scss rename to src/FileCard/components/FileCardUploadLayer.scss diff --git a/src/files-ui/FileCard/components/FileCardUploadLayer.tsx b/src/FileCard/components/FileCardUploadLayer.tsx similarity index 100% rename from src/files-ui/FileCard/components/FileCardUploadLayer.tsx rename to src/FileCard/components/FileCardUploadLayer.tsx diff --git a/src/files-ui/FileInputButton/FileInputButton.tsx b/src/FileInputButton/FileInputButton.tsx similarity index 100% rename from src/files-ui/FileInputButton/FileInputButton.tsx rename to src/FileInputButton/FileInputButton.tsx diff --git a/src/files-ui/FileInputButton/InputButtonProps.ts b/src/FileInputButton/InputButtonProps.ts similarity index 100% rename from src/files-ui/FileInputButton/InputButtonProps.ts rename to src/FileInputButton/InputButtonProps.ts diff --git a/src/files-ui/FileInputButton/index.ts b/src/FileInputButton/index.ts similarity index 100% rename from src/files-ui/FileInputButton/index.ts rename to src/FileInputButton/index.ts diff --git a/src/files-ui/FileMosaic/components/FIleMosaicImageLayer/FileMosaicImageLayer.tsx b/src/FileMosaic/components/FIleMosaicImageLayer/FileMosaicImageLayer.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FIleMosaicImageLayer/FileMosaicImageLayer.tsx rename to src/FileMosaic/components/FIleMosaicImageLayer/FileMosaicImageLayer.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.scss b/src/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.scss similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.scss rename to src/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.scss diff --git a/src/files-ui/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.tsx b/src/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.tsx rename to src/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayer.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayerProps.ts b/src/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayerProps.ts similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayerProps.ts rename to src/FileMosaic/components/FileMosaicInfoLayer/FileMosaicInfoLayerProps.ts diff --git a/src/files-ui/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.scss b/src/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.scss similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.scss rename to src/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.scss diff --git a/src/files-ui/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.tsx b/src/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.tsx rename to src/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayer.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayerProps.ts b/src/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayerProps.ts similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayerProps.ts rename to src/FileMosaic/components/FileMosaicMainLayer.tsx/FileMosaicMainLayerProps.ts diff --git a/src/files-ui/FileMosaic/components/FileMosaicName/FileMosaicName.tsx b/src/FileMosaic/components/FileMosaicName/FileMosaicName.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicName/FileMosaicName.tsx rename to src/FileMosaic/components/FileMosaicName/FileMosaicName.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicSize/FileMosaicSize.scss b/src/FileMosaic/components/FileMosaicSize/FileMosaicSize.scss similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicSize/FileMosaicSize.scss rename to src/FileMosaic/components/FileMosaicSize/FileMosaicSize.scss diff --git a/src/files-ui/FileMosaic/components/FileMosaicSize/FileMosaicSize.tsx b/src/FileMosaic/components/FileMosaicSize/FileMosaicSize.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicSize/FileMosaicSize.tsx rename to src/FileMosaic/components/FileMosaicSize/FileMosaicSize.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.scss b/src/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.scss similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.scss rename to src/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.scss diff --git a/src/files-ui/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.tsx b/src/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.tsx rename to src/FileMosaic/components/FileMosaicStatus/FileMosaicStatus.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicStatus/FileMosaicStatusProps.ts b/src/FileMosaic/components/FileMosaicStatus/FileMosaicStatusProps.ts similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicStatus/FileMosaicStatusProps.ts rename to src/FileMosaic/components/FileMosaicStatus/FileMosaicStatusProps.ts diff --git a/src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.scss b/src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.scss similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.scss rename to src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.scss diff --git a/src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.tsx b/src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.tsx rename to src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayer.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.scss b/src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.scss similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.scss rename to src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.scss diff --git a/src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.tsx b/src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.tsx rename to src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerLegacy.tsx diff --git a/src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerProps.ts b/src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerProps.ts similarity index 100% rename from src/files-ui/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerProps.ts rename to src/FileMosaic/components/FileMosaicUploadLayer/FileMosaicUploadLayerProps.ts diff --git a/src/files-ui/FileMosaic/components/file-mosaic-layer/Layer.scss b/src/FileMosaic/components/file-mosaic-layer/Layer.scss similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic-layer/Layer.scss rename to src/FileMosaic/components/file-mosaic-layer/Layer.scss diff --git a/src/files-ui/FileMosaic/components/file-mosaic-layer/Layer.tsx b/src/FileMosaic/components/file-mosaic-layer/Layer.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic-layer/Layer.tsx rename to src/FileMosaic/components/file-mosaic-layer/Layer.tsx diff --git a/src/files-ui/FileMosaic/components/file-mosaic-layer/LayerContainer.scss b/src/FileMosaic/components/file-mosaic-layer/LayerContainer.scss similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic-layer/LayerContainer.scss rename to src/FileMosaic/components/file-mosaic-layer/LayerContainer.scss diff --git a/src/files-ui/FileMosaic/components/file-mosaic-layer/LayerContainer.tsx b/src/FileMosaic/components/file-mosaic-layer/LayerContainer.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic-layer/LayerContainer.tsx rename to src/FileMosaic/components/file-mosaic-layer/LayerContainer.tsx diff --git a/src/files-ui/FileMosaic/components/file-mosaic/FileMosaic.scss b/src/FileMosaic/components/file-mosaic/FileMosaic.scss similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic/FileMosaic.scss rename to src/FileMosaic/components/file-mosaic/FileMosaic.scss diff --git a/src/files-ui/FileMosaic/components/file-mosaic/FileMosaic.tsx b/src/FileMosaic/components/file-mosaic/FileMosaic.tsx similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic/FileMosaic.tsx rename to src/FileMosaic/components/file-mosaic/FileMosaic.tsx diff --git a/src/files-ui/FileMosaic/components/file-mosaic/FileMosaicProps.ts b/src/FileMosaic/components/file-mosaic/FileMosaicProps.ts similarity index 100% rename from src/files-ui/FileMosaic/components/file-mosaic/FileMosaicProps.ts rename to src/FileMosaic/components/file-mosaic/FileMosaicProps.ts diff --git a/src/files-ui/FileMosaic/index.ts b/src/FileMosaic/index.ts similarity index 100% rename from src/files-ui/FileMosaic/index.ts rename to src/FileMosaic/index.ts diff --git a/src/files-ui/FileStatus/AbortedStatus.tsx b/src/FileStatus/AbortedStatus.tsx similarity index 100% rename from src/files-ui/FileStatus/AbortedStatus.tsx rename to src/FileStatus/AbortedStatus.tsx diff --git a/src/files-ui/FileStatus/EmptyStatus.tsx b/src/FileStatus/EmptyStatus.tsx similarity index 100% rename from src/files-ui/FileStatus/EmptyStatus.tsx rename to src/FileStatus/EmptyStatus.tsx diff --git a/src/files-ui/FileStatus/ErrorStatus.tsx b/src/FileStatus/ErrorStatus.tsx similarity index 100% rename from src/files-ui/FileStatus/ErrorStatus.tsx rename to src/FileStatus/ErrorStatus.tsx diff --git a/src/files-ui/FileStatus/FileStatusProps.ts b/src/FileStatus/FileStatusProps.ts similarity index 100% rename from src/files-ui/FileStatus/FileStatusProps.ts rename to src/FileStatus/FileStatusProps.ts diff --git a/src/files-ui/FileStatus/PreparingStatus.tsx b/src/FileStatus/PreparingStatus.tsx similarity index 100% rename from src/files-ui/FileStatus/PreparingStatus.tsx rename to src/FileStatus/PreparingStatus.tsx diff --git a/src/files-ui/FileStatus/SuccessStatus.tsx b/src/FileStatus/SuccessStatus.tsx similarity index 100% rename from src/files-ui/FileStatus/SuccessStatus.tsx rename to src/FileStatus/SuccessStatus.tsx diff --git a/src/files-ui/FileStatus/UploadingStatus.tsx b/src/FileStatus/UploadingStatus.tsx similarity index 100% rename from src/files-ui/FileStatus/UploadingStatus.tsx rename to src/FileStatus/UploadingStatus.tsx diff --git a/src/files-ui/FileStatus/index.ts b/src/FileStatus/index.ts similarity index 100% rename from src/files-ui/FileStatus/index.ts rename to src/FileStatus/index.ts diff --git a/src/files-ui/FilesUiProvider/FilesUIConfig.ts b/src/FilesUiProvider/FilesUIConfig.ts similarity index 100% rename from src/files-ui/FilesUiProvider/FilesUIConfig.ts rename to src/FilesUiProvider/FilesUIConfig.ts diff --git a/src/files-ui/FilesUiProvider/FilesUiContext.ts b/src/FilesUiProvider/FilesUiContext.ts similarity index 100% rename from src/files-ui/FilesUiProvider/FilesUiContext.ts rename to src/FilesUiProvider/FilesUiContext.ts diff --git a/src/files-ui/FilesUiProvider/FilesUiProvider.tsx b/src/FilesUiProvider/FilesUiProvider.tsx similarity index 100% rename from src/files-ui/FilesUiProvider/FilesUiProvider.tsx rename to src/FilesUiProvider/FilesUiProvider.tsx diff --git a/src/files-ui/FilesUiProvider/index.ts b/src/FilesUiProvider/index.ts similarity index 100% rename from src/files-ui/FilesUiProvider/index.ts rename to src/FilesUiProvider/index.ts diff --git a/src/files-ui/FullScreen/FullScreen.scss b/src/FullScreen/FullScreen.scss similarity index 100% rename from src/files-ui/FullScreen/FullScreen.scss rename to src/FullScreen/FullScreen.scss diff --git a/src/files-ui/FullScreen/FullScreen.tsx b/src/FullScreen/FullScreen.tsx similarity index 100% rename from src/files-ui/FullScreen/FullScreen.tsx rename to src/FullScreen/FullScreen.tsx diff --git a/src/files-ui/FullScreen/FullScreenProps.ts b/src/FullScreen/FullScreenProps.ts similarity index 100% rename from src/files-ui/FullScreen/FullScreenProps.ts rename to src/FullScreen/FullScreenProps.ts diff --git a/src/files-ui/ImagePreview/ImagePreview.scss b/src/ImagePreview/ImagePreview.scss similarity index 100% rename from src/files-ui/ImagePreview/ImagePreview.scss rename to src/ImagePreview/ImagePreview.scss diff --git a/src/files-ui/ImagePreview/ImagePreview.tsx b/src/ImagePreview/ImagePreview.tsx similarity index 100% rename from src/files-ui/ImagePreview/ImagePreview.tsx rename to src/ImagePreview/ImagePreview.tsx diff --git a/src/files-ui/ImagePreview/ImagePreviewProps.ts b/src/ImagePreview/ImagePreviewProps.ts similarity index 100% rename from src/files-ui/ImagePreview/ImagePreviewProps.ts rename to src/ImagePreview/ImagePreviewProps.ts diff --git a/src/files-ui/InputHidden/InputHidden.tsx b/src/InputHidden/InputHidden.tsx similarity index 100% rename from src/files-ui/InputHidden/InputHidden.tsx rename to src/InputHidden/InputHidden.tsx diff --git a/src/files-ui/InputHidden/InputHiddenProps.ts b/src/InputHidden/InputHiddenProps.ts similarity index 100% rename from src/files-ui/InputHidden/InputHiddenProps.ts rename to src/InputHidden/InputHiddenProps.ts diff --git a/src/files-ui/MaterialButton/MaterialButton.scss b/src/MaterialButton/MaterialButton.scss similarity index 100% rename from src/files-ui/MaterialButton/MaterialButton.scss rename to src/MaterialButton/MaterialButton.scss diff --git a/src/files-ui/MaterialButton/MaterialButton.tsx b/src/MaterialButton/MaterialButton.tsx similarity index 100% rename from src/files-ui/MaterialButton/MaterialButton.tsx rename to src/MaterialButton/MaterialButton.tsx diff --git a/src/files-ui/MaterialButton/MaterialButtonProps.ts b/src/MaterialButton/MaterialButtonProps.ts similarity index 100% rename from src/files-ui/MaterialButton/MaterialButtonProps.ts rename to src/MaterialButton/MaterialButtonProps.ts diff --git a/src/files-ui/MaterialButton/hooks/useMaterialButtonClassName.ts b/src/MaterialButton/hooks/useMaterialButtonClassName.ts similarity index 100% rename from src/files-ui/MaterialButton/hooks/useMaterialButtonClassName.ts rename to src/MaterialButton/hooks/useMaterialButtonClassName.ts diff --git a/src/files-ui/MaterialButton/index.ts b/src/MaterialButton/index.ts similarity index 100% rename from src/files-ui/MaterialButton/index.ts rename to src/MaterialButton/index.ts diff --git a/src/files-ui/MaterialButton/utils/MaterialButtonStyleManager.ts b/src/MaterialButton/utils/MaterialButtonStyleManager.ts similarity index 100% rename from src/files-ui/MaterialButton/utils/MaterialButtonStyleManager.ts rename to src/MaterialButton/utils/MaterialButtonStyleManager.ts diff --git a/src/files-ui/VideoPreview/VideoPreview.scss b/src/VideoPreview/VideoPreview.scss similarity index 100% rename from src/files-ui/VideoPreview/VideoPreview.scss rename to src/VideoPreview/VideoPreview.scss diff --git a/src/files-ui/VideoPreview/VideoPreview.tsx b/src/VideoPreview/VideoPreview.tsx similarity index 100% rename from src/files-ui/VideoPreview/VideoPreview.tsx rename to src/VideoPreview/VideoPreview.tsx diff --git a/src/files-ui/VideoPreview/VideoPreviewProps.ts b/src/VideoPreview/VideoPreviewProps.ts similarity index 100% rename from src/files-ui/VideoPreview/VideoPreviewProps.ts rename to src/VideoPreview/VideoPreviewProps.ts diff --git a/src/components/MainMenu/MainMenuSideBar.tsx b/src/components/MainMenu/MainMenuSideBar.tsx deleted file mode 100644 index bb7568892e40a71aa68b89b92aab85b5fcb34d23..0000000000000000000000000000000000000000 --- a/src/components/MainMenu/MainMenuSideBar.tsx +++ /dev/null @@ -1,377 +0,0 @@ -import * as React from "react"; -import ListSubheader from "@mui/material/ListSubheader"; -import List from "@mui/material/List"; -import ListItemButton from "@mui/material/ListItemButton"; -import ListItemIcon from "@mui/material/ListItemIcon"; -import ListItemText from "@mui/material/ListItemText"; -import Collapse from "@mui/material/Collapse"; - -import { MainMenuSideBarItems, MainMenuSideBarProps } from "./MenuSideBarProps"; -import ElectricBoltIcon from "@mui/icons-material/ElectricBolt"; -import { useNavigateToTop } from "../../hooks/useNavigateToTop"; - -import ExpandLess from "@mui/icons-material/ExpandLess"; -import ExpandMore from "@mui/icons-material/ExpandMore"; - -export default function MainMenuSideBar(props: MainMenuSideBarProps) { - const { /* items, */ selectedIndex /* setSelectedIndex */ } = props; - const navigate = useNavigateToTop(); - - const quickStartItemsIni: MainMenuSideBarItems[] = [ - { - label: "Getting started", - index: 0, - onClick: () => navigate("/getting-started"), - }, - { - label: "Usage - Basic & Advanced example", - index: 1, - onClick: () => navigate("/usage"), - }, - ]; - - const RegularItemsIni: MainMenuSideBarItems[] = [ - { - //Icon: <FileOpenIcon />, - label: "Components", - index: 2, - isOpen: false, - subMenu: [ - { - label: "Dropzone", - index: 21, - onClick: () => navigate("/components/dropzone"), - }, - { - label: "FileMosaic", - index: 22, - onClick: () => navigate("/components/filemosaic"), - }, - { - label: "FileInputButton", - index: 23, - onClick: () => navigate("/components/fileinputbutton"), - }, - { - label: "FileCard", - index: 24, - onClick: () => navigate("/components/filecard"), - }, - { - label: "Avatar", - index: 25, - onClick: () => navigate("/components/avatar"), - }, - { - label: "FullScreen (Img & Vid)", - index: 26, - onClick: () => navigate("/components/fullscreen"), - }, - ], - }, - { - // Icon: <DocumentScannerIcon />, - label: "API documentation", - index: 3, - - subMenu: [ - { - label: "Avatar", - index: 31, - onClick: () => navigate("/api/avatar"), - }, - { - label: "Dropzone", - index: 32, - onClick: () => navigate("/api/dropzone"), - }, - - { - label: "FileInputButton", - index: 33, - onClick: () => navigate("/api/fileinputbutton"), - }, - { - label: "FileCard", - index: 34, - onClick: () => navigate("/api/filecard"), - }, - { - label: "FileMosaic", - index: 35, - onClick: () => navigate("/api/filemosaic"), - }, - { - label: "FullScreen", - index: 36, - onClick: () => navigate("/api/fullscreen"), - }, - { - label: "ImagePreview", - index: 37, - onClick: () => navigate("/api/imagepreview"), - }, - { - label: "VideoPreview", - index: 38, - onClick: () => navigate("/api/videopreview"), - }, - ], - }, - { - label: "File icons", - index: 4, - onClick: () => navigate("/file-icons"), - }, - { - label: "Localization", - index: 5, - onClick: () => navigate("/localization"), - }, - - /* { - label: "Code Generator", - index: 7, - onClick: () => navigate("/code-generator"), - }, */ - { - label: "Types", - index: 7, - onClick: () => navigate("/types"), - }, - { - label: "Server side", - index: 6, - onClick: () => navigate("/server-side"), - }, - /* { - label: "File readers", - index: 8, - onClick: () => navigate("/file-reader"), - }, - */ - { - label: "File download", - index: 9, - onClick: () => navigate("/file-download"), - }, - { - label: "Global config", - index: 10, - onClick: () => navigate("/global-config"), - }, - ]; - - const [quickStartItems /* setQuickStartItems */] = - React.useState(quickStartItemsIni); - - const [regularItems, setRegularItemsIni] = React.useState( - RegularItemsIni.map((x) => { - return { ...x, isOpen: x.subMenu && x.index === selectedIndex }; - }) - ); - - - /* const handleClick = () => { - //setOpen(!open); - }; */ - - /* const handleCLickItem = ( - e: React.MouseEvent<HTMLDivElement, MouseEvent>, - onClick: Function | undefined - ): void => { - onClick?.(); - }; */ - - //const [selectedIndex, setSelectedIndex] = React.useState(1); - function handler(ev:React.MouseEvent<HTMLDivElement, MouseEvent>) { - console.log('CTRL pressed during click:', ev.ctrlKey); - } - const handleListItemClick = ( - event: React.MouseEvent<HTMLDivElement, MouseEvent>, - index: number, - onClick: Function | undefined, - withSubMenu?: boolean - ) => { - handler(event); - - //setSelectedIndex(index); - console.log("newIndex",index, withSubMenu); - if (!withSubMenu) { - onClick?.(); - } else { - setRegularItemsIni((arr) => - arr.map((item) => { - /* if (item.subMenu) { - const newSubMenu = item.subMenu.map((x) => { - if (x.index === index) { - return { ...x , }; - } else { - return { ...x }; - } - }); - return { ...item, subMenu: newSubMenu }; - } else */ - - - if (item.index === index) { - return { ...item, isOpen: !item.isOpen }; - } - return { ...item }; - }) - ); - } - }; - - return ( - <React.Fragment> - <List - sx={{ width: "100%", maxWidth: 400, bgcolor: "background.paper" }} - component="nav" - aria-labelledby="nested-list-subheader" - subheader={ - <ListSubheader component="div" id="nested-list-subheader"> - <ElectricBoltIcon /> Quick Start - </ListSubheader> - } - > - {quickStartItems && - quickStartItems.map( - ({ Icon, label, onClick, index, subMenu, isOpen }, indexBase) => ( - <React.Fragment key={indexBase}> - <ListItemButton - style={{ padding: "2px 20px" }} - key={indexBase} - selected={subMenu === undefined && selectedIndex === index} - //selected={selectedIndex === index} - onClick={(event) => - handleListItemClick( - event, - index, - onClick, - subMenu !== undefined - ) - } - > - {Icon && ( - <ListItemIcon - style={{ minWidth: "30px", marginLeft: "5px" }} - > - {Icon} - </ListItemIcon> - )} - <ListItemText - primary={label || ""} - primaryTypographyProps={{ fontWeight: "600" }} - /> - </ListItemButton> - - {subMenu && ( - <Collapse - in={isOpen} - timeout="auto" - unmountOnExit - key={"collapse-submenu" + indexBase} - > - <List component="div" disablePadding> - {subMenu.map( - ({ Icon, label, onClick, index }, index2) => ( - <ListItemButton - sx={{ pl: 4 }} - selected={selectedIndex === index} - key={index2 + indexBase} - onClick={(event) => - handleListItemClick(event, index, onClick) - } - > - {Icon && <ListItemIcon>{Icon}</ListItemIcon>} - <ListItemText primary={label || ""} /> - </ListItemButton> - ) - )} - </List> - </Collapse> - )} - </React.Fragment> - ) - )} - </List> - <List - sx={{ width: "100%", maxWidth: 400, bgcolor: "background.paper" }} - component="nav" - aria-labelledby="nested-list-subheader" - subheader={ - <ListSubheader component="div" id="nested-list-subheader"> - Full documentation - </ListSubheader> - } - > - {regularItems && - regularItems.map( - ({ Icon, label, onClick, index, subMenu, isOpen }, indexBase) => ( - <React.Fragment key={indexBase}> - <ListItemButton - style={{ padding: "2px 20px" }} - key={indexBase} - // selected={subMenu === undefined && selectedIndex === index} - selected={ - (subMenu === undefined || isOpen) && selectedIndex === index - } - onClick={(event) => - handleListItemClick( - event, - index, - onClick, - subMenu !== undefined - ) - } - > - {Icon && ( - <ListItemIcon - style={{ minWidth: "30px", marginLeft: "5px" }} - > - {Icon} - </ListItemIcon> - )} - <ListItemText - primary={label || ""} - primaryTypographyProps={{ fontWeight: "600" }} - /> - {subMenu && <>{isOpen ? <ExpandLess /> : <ExpandMore />}</>} - </ListItemButton> - - {subMenu && ( - <Collapse - in={isOpen} - timeout="auto" - unmountOnExit - key={"collapse-submenu" + indexBase} - > - <List component="div" disablePadding> - {subMenu.map( - ({ Icon, label, onClick, index }, index2) => ( - <ListItemButton - style={{ paddingTop: 0 }} - sx={{ pl: 4 }} - //selected={selectedIndex === index} - selected={selectedIndex === index} - key={index2 + indexBase} - onClick={(event) => - handleListItemClick(event, index, onClick) - } - > - {Icon && <ListItemIcon>{Icon}</ListItemIcon>} - <ListItemText primary={label || ""} /> - </ListItemButton> - ) - )} - </List> - </Collapse> - )} - </React.Fragment> - ) - )} - </List> - </React.Fragment> - ); -} diff --git a/src/components/MainMenu/MenuSideBarProps.ts b/src/components/MainMenu/MenuSideBarProps.ts deleted file mode 100644 index be74a5870e621c1ad49dc662d94a87a2edca41ff..0000000000000000000000000000000000000000 --- a/src/components/MainMenu/MenuSideBarProps.ts +++ /dev/null @@ -1,21 +0,0 @@ -export interface MainMenuSideBarPropsIndividual { - label?: string, - Icon?: any, - onClick?: Function, - index: number -} - -export type MainMenuSideBarItems = { - label?: string, - Icon?: any, - onClick?: Function, - index: number, - subMenu?: Array<MainMenuSideBarPropsIndividual>, - isOpen?:boolean; -} - -export type MainMenuSideBarProps = { - items: MainMenuSideBarItems[], - selectedIndex:number, - setSelectedIndex:Function, -} \ No newline at end of file diff --git a/src/components/MainPage/Badges.jsx b/src/components/MainPage/Badges.jsx deleted file mode 100644 index b0ccdf1f5f072dfed8e55e4cb3765ed923dc5950..0000000000000000000000000000000000000000 --- a/src/components/MainPage/Badges.jsx +++ /dev/null @@ -1,96 +0,0 @@ -import React from "react"; -const styles = { - badge: { padding: "0 4px", margin:0 }, -}; -const Badges = (props) => { - return ( - <div - style={{ - display: "flex", - flexDirection: "row", - flexWrap: "wrap", - alignItems: "center", - justifyContent: "center", - margin:"10px 0" - }} - > - <a - style={styles.badge} - href="https://www.npmjs.com/package/@dropzone-ui/react" - > - <img - src="https://img.shields.io/npm/v/@dropzone-ui/react.svg?logo=npm&logoColor=fff&label=NPM+package&color=limegreen" - alt="npm latest package" - /> - </a> - - <a - style={styles.badge} - href="https://openbase.com/js/@dropzone-ui/react?utm_source=embedded&utm_medium=badge&utm_campaign=rate-badge" - > - <img - src="https://badges.openbase.com/js/rating/@dropzone-ui/react.svg" - alt="Rate on Openbase" - /> - </a> - - <a - style={styles.badge} - href="https://github.com/dropzone-ui/react-dropzone" - > - <img - src="https://github.com/dropzone-ui/react-dropzone/actions/workflows/node.js.yml/badge.svg" - alt="Build Status" - /> - </a> - - <a - style={styles.badge} - href="https://lgtm.com/projects/g/dropzone-ui/dropzone-ui/context:javascript" - > - <img - src="https://img.shields.io/lgtm/grade/javascript/g/dropzone-ui/dropzone-ui.svg?logo=lgtm&logoWidth=18" - alt="Language grade: JavaScript" - /> - </a> - - {/* <a - style={styles.badge} - href="https://snyk.io/test/github/dropzone-ui/react" - > - <img - src="https://snyk.io/test/github/dropzone-ui/react/badge.svg" - alt="Known Vulnerabilities" - /> - </a> */} - - {/* <a - style={styles.badge} - href="https://packagequality.com/#?package=dropzone-ui" - > - <img - src="https://packagequality.com/shield/dropzone-ui.svg" - alt="Package Quality" - /> - </a> */} - - {/* <a - style={styles.badge} - href="https://packagephobia.com/result?p=@dropzone-ui/react" - > - <img - src="https://packagephobia.com/badge?p=@dropzone-ui/react" - alt="install size" - /> - </a> */} - - {/* <a style={styles.badge} href="http://makeapullrequest.com"> - <img - src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" - alt="PRs Welcome" - /> - </a> */} - </div> - ); -}; -export default Badges; diff --git a/src/components/MainPage/DarkModeLightModeButton.jsx b/src/components/MainPage/DarkModeLightModeButton.jsx deleted file mode 100644 index 9de2811ccb58257f1e892917633ab0d949e01bb3..0000000000000000000000000000000000000000 --- a/src/components/MainPage/DarkModeLightModeButton.jsx +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from "react"; -import DarkModeIcon from "@mui/icons-material/DarkMode"; -import LightModeIcon from "@mui/icons-material/LightMode"; -import { IconButton, Tooltip } from "@mui/material"; - -const DarkModeLightModeButton = ({ darkModeOn, onChangeDarkMode }) => { - //const [darkModeOn, setDarkModeOn] = React.useState(false); - const handleDarkMode = () => { - //setDarkModeOn((darkModeOn) => { - onChangeDarkMode?.(); - // return !darkModeOn; - //}); - }; - if (darkModeOn) - return ( - <Tooltip title="Turn on the light"> - <IconButton - style={{ borderRadius: "8px", border: "0.5px solid #eaeef3" }} - onClick={handleDarkMode} - color="secondary" - aria-label="upload picture" - component="label" - > - <DarkModeIcon /* htmlColor="white" */ /> - </IconButton> - </Tooltip> - ); - else { - return ( - <Tooltip title="Turn off the light"> - <IconButton - style={{ borderRadius: "8px", border: "0.5px solid #eaeef3" }} - - onClick={handleDarkMode} - color="secondary" - aria-label="upload picture" - component="label" - > - <LightModeIcon /> - </IconButton> - </Tooltip> - ); - } -}; -export default DarkModeLightModeButton; diff --git a/src/components/MainPage/GettingStarted.jsx b/src/components/MainPage/GettingStarted.jsx deleted file mode 100644 index f05ee7ce342ea42b139f1a79f00179a4c71da6da..0000000000000000000000000000000000000000 --- a/src/components/MainPage/GettingStarted.jsx +++ /dev/null @@ -1,115 +0,0 @@ -import * as React from "react"; -import { Button, styled } from "@mui/material"; -import ContentCopyIcon from "@mui/icons-material/ContentCopy"; -import CheckIcon from "@mui/icons-material/Check"; -import "../../styles/GettingStarted.scss"; -import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos"; -//import { useNavigate } from "react-router"; -import { useNavigateToTop } from "../../hooks/useNavigateToTop"; -const CodeButton = styled(Button)({ - display: "flex", - justifyContent: "space-between", - textTransform: "lowercase", - padding: "10px 20px", - borderRadius: "16px", - fontSize: "1rem", - //fontWeight: "700", - // fontFamily: '"Poppins", sans-serif', -}); - -const GettingStarted = ({ darkModeOn }) => { - const navigator = useNavigateToTop(); - - const [copiedNpm, setCopiedNpm] = React.useState(false); - const [copiedYarn, setCopiedYarn] = React.useState(false); - - const handleCopyInstallationNPM = () => { - setCopiedNpm(true); - - setTimeout(() => { - setCopiedNpm(false); - }, 2000); - }; - const handleCopyInstallationYarn = () => { - setCopiedYarn(true); - - setTimeout(() => { - setCopiedYarn(false); - }, 2000); - }; - - const goToGettingStarted = () => { - navigator("/getting-started"); - }; - return ( - <div className="getting-started-container"> - {/* <h2>Getting started:</h2> - <p> - Install Files-ui using{" "} - <a href="https://www.npmjs.com/package/@files-ui/react" target="_blank"> - npm{" "} - </a> - or either using{" "} - <a href="https://yarnpkg.com/package/@files-ui/react" target="_blank"> - yarn - </a> - : - </p> */} - <div className="button-container"> - <Button - onClick={goToGettingStarted} - style={{ - padding: "10px 20px", - //fontFamily: '"Poppins", sans-serif', - flexGrow: 1, - //fontWeight: "700", - textTransform: "capitalize", - fontSize:"16px" - }} - variant="contained" - color={darkModeOn ? "secondary" : "primary"} - //fullWidth - endIcon={ - <ArrowForwardIosIcon - style={{ fontSize: "0.9rem", fontWeight: "800" }} - /> - } - > - {"Get Started"} - </Button> - - <div className="code-button-flex"> - <CodeButton - disableRipple - variant="outlined" - endIcon={ - !copiedNpm ? <ContentCopyIcon /> : <CheckIcon color="success" /> - } - //style={buttonCodeStyle} - fullWidth - onClick={handleCopyInstallationNPM} - color={copiedNpm ? "success" : darkModeOn ? "secondary" : "primary"} - > - {"npm install @files-ui/react"} - </CodeButton> - <CodeButton - disableRipple - variant="outlined" - endIcon={ - !copiedYarn ? <ContentCopyIcon /> : <CheckIcon color="success" /> - } - //style={buttonCodeStyle} - fullWidth - onClick={handleCopyInstallationYarn} - color={ - copiedYarn ? "success" : darkModeOn ? "secondary" : "primary" - } - > - {"yarn add @files-ui/react"} - </CodeButton> - </div> - </div> - </div> - ); -}; -export default GettingStarted; diff --git a/src/components/MainPage/MainFooter.jsx b/src/components/MainPage/MainFooter.jsx deleted file mode 100644 index 701ec8a6117935232b8f6af95764a0dc35eb3859..0000000000000000000000000000000000000000 --- a/src/components/MainPage/MainFooter.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; -import logo_blue from "../../static/files-ui-logo-white.png"; -import logo_white_ext from "../../static/files-ui-logo-text-med-white.png"; -const MainFooter = (props) => { - return ( - <footer className="filesui-footer"> - <div - className={"filesui-main-logo-container darkmode"} - style={{ display: "flex", flexDirection: "row", alignItems: "center" }} - > - <img - className="fui-logo-img" - src={logo_blue} - width="38px" - alt="fui-logo-blue" - /> - <img - className="fui-logo-text-img" - src={logo_white_ext} - height="14px" - alt="fui-logo-text-white" - /> - </div> - <p>{" | "}Copyright © 2023</p> - </footer> - ); -}; -export default MainFooter; diff --git a/src/components/MainPage/MainNavBar.jsx b/src/components/MainPage/MainNavBar.jsx deleted file mode 100644 index d04521603e058d95a8570b418661f34bf202777d..0000000000000000000000000000000000000000 --- a/src/components/MainPage/MainNavBar.jsx +++ /dev/null @@ -1,63 +0,0 @@ -import * as React from "react"; -import DarkModeLightModeButton from "./DarkModeLightModeButton"; -import GitHubIcon from "@mui/icons-material/GitHub"; -import { IconButton, Tooltip } from "@mui/material"; -//import { useNavigate } from "react-router"; -import logo_text_blue from "../../static/files-ui-logo-text-med.png"; -import logo_text_blue_dark from "../../static/files-ui-logo-text-med-dark.png"; -import AnchorToTab from "../util-components/AnchorToTab"; - -const MainNavBar = ({ - darkModeOn, - logo_blue, - logo_blue_dark, - handleDarkMode, -}) => { - /* const handleGoGitRepo = () => { - window.open("https://github.com/files-ui", "_blank"); - }; */ - - return ( - <nav className="filesui-nav"> - <div className="filesui-nav-container"> - <div className="left-part"> - <div className={"filesui-nav-logo-container"}> - <img - className={"filesui-nav-logo"} - // src={!darkModeOn ? logo_blue : logoLight} - src={darkModeOn ? logo_blue_dark : logo_blue} - alt="files-ui-main-logo" - /> - </div> - - <img - height={"18px"} - src={darkModeOn ? logo_text_blue_dark : logo_text_blue} - alt="files-ui-main-logo-text" - /> - </div> - - <div className="right-part"> - <Tooltip title="Go to Files-ui GitHub repo"> - <AnchorToTab href="https://github.com/files-ui"> - <IconButton - style={{ borderRadius: "8px", border: "0.5px solid #eaeef3" }} - //onClick={handleGoGitRepo} - color="secondary" - aria-label="upload picture" - component="label" - > - <GitHubIcon /* htmlColor="white" */ /> - </IconButton> - </AnchorToTab> - </Tooltip> - <DarkModeLightModeButton - darkModeOn={darkModeOn} - onChangeDarkMode={handleDarkMode} - /> - </div> - </div> - </nav> - ); -}; -export default MainNavBar; diff --git a/src/components/MainPage/MainRight/FileMosaicImageVideoPreviews.tsx b/src/components/MainPage/MainRight/FileMosaicImageVideoPreviews.tsx deleted file mode 100644 index a3c990ad865d6d2f79092ca12c0ea97bcf0db15a..0000000000000000000000000000000000000000 --- a/src/components/MainPage/MainRight/FileMosaicImageVideoPreviews.tsx +++ /dev/null @@ -1,255 +0,0 @@ -import * as React from "react"; -import { Stack, Paper } from "@mui/material"; -import { FileMosaic, ExtFile, FileMosaicProps } from "../../../files-ui"; -import DescParagraph from "../../demo-components/desc-paragraph/DescParagraph"; -import { FullScreen, ImagePreview, VideoPreview } from "../../../files-ui"; -import { - // NarutoAndSasukeVsMomoshikiEN, - // NarutoAndSasukeVsMomoshikiES, - // ThorArrivesWakandaEN, - ThorArrivesWakandaES, -} from "../../../data/videoLinks"; - -/* const VIDEO_URL = - "https://srv23.y2mate.is/download?file=cd448fa7c7fe6c301970e890794fb682137140"; */ -interface FileMosaicImageVideoPreviewsProps { - darkMode?: boolean; -} -const FileMosaicImageVideoPreviews: React.FC< - FileMosaicImageVideoPreviewsProps -> = (props: FileMosaicImageVideoPreviewsProps) => { - const { darkMode } = props; - const [imageSrc, setImageSrc] = React.useState<string | undefined>(undefined); - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - - const handleSee = (imageSource: string | undefined) => { - console.log("handleSee-imageSource", imageSource); - setImageSrc(imageSource); - }; - - const handleWatch = (videoSource: File | string | undefined) => { - console.log("handleWatch videoSource", videoSource); - //setVideoSrc(videoSource); - // - setVideoSrc(videoSource); - // setVideoSrc("https://www.w3schools.com/tags/movie.mp4"); - }; - const handleDownload = async ( - fileId: FileMosaicProps["id"], - downloadUrl?: string - ) => { - - console.log("Download fileId", fileId); - console.log("Download fileName", files.filter((x) => x.id === fileId)[0]); - console.log("Download downloadUrl", downloadUrl); - if (!downloadUrl) return; - try { - const image = await fetch(downloadUrl); - const imageBlob = await image.blob(); - const imageURL = URL.createObjectURL(imageBlob); - - const anchor = document.createElement("a"); - anchor.href = imageURL; - anchor.download = "fileName.jpg"; - - document.body.appendChild(anchor); - anchor.click(); - document.body.removeChild(anchor); - URL.revokeObjectURL(imageURL); - /* const resJson = await response.json(); - console.log("Download", resJson); */ - } catch (error) { - console.log("Download error", error); - console.error(error); - } - }; -/* const handleDownloadXHR = async ( - fileId: FileMosaicProps["id"], - downloadUrl?: string - ) => { - console.log("Download fileId", fileId); - console.log( - "Download fileName", - files.filter((x) => x.id === fileId)[0].name - ); - console.log("Download downloadUrl", downloadUrl); - if (!downloadUrl) return; - try { - const request = new XMLHttpRequest(); - request.responseType = "blob"; - request.open("get", downloadUrl, true); - request.send(); - - request.onreadystatechange = function () { - if (this.readyState === 4 && this.status === 200) { - const imageURL = window.URL.createObjectURL(this.response); - - const anchor = document.createElement("a"); - anchor.href = imageURL; - anchor.download = "fileNamess.jpg"; - document.body.appendChild(anchor); - anchor.click(); - } else { - console.log("not yet"); - } - }; - - const image = await fetch(downloadUrl); - const imageBlob = await image.blob(); - const imageURL = URL.createObjectURL(imageBlob); - - const anchor = document.createElement("a"); - anchor.href = imageURL; - anchor.download = "fileName.jpg"; - - document.body.appendChild(anchor); - anchor.click(); - document.body.removeChild(anchor); - URL.revokeObjectURL(imageURL); - // const resJson = await response.json(); - //console.log("Download", resJson); - } catch (error) { - console.log("Download error", error); - } - }; */ - return ( - <div style={{ width: "100%" }}> - <h3>Or check the previews!</h3> - <DescParagraph darkMode={darkMode}> - Add more interacion in your webpage with a full screen preview of images - or videos - </DescParagraph> - <Paper - variant="outlined" - sx={{ - padding: "20px 0", - boxSizing: "border-box", - backgroundColor: darkMode ? "#121212" : "rgba(0, 0, 0, 0.06)", - }} - > - <Stack - direction={"row"} - spacing={2} - alignItems="center" - justifyContent={"space-evenly"} - sx={{ - flexWrap: "wrap", - }} - > - {files.map((f: ExtFile, index: number) => ( - <FileMosaic - key={index} - darkMode={darkMode} - {...f} - onSee={handleSee} - onWatch={handleWatch} - {...f.extraData} - alwaysActive - onDownload={f.downloadUrl ? handleDownload : undefined} - /> - ))} - <FullScreen - open={imageSrc !== undefined} - onClose={() => setImageSrc(undefined)} - > - <ImagePreview src={imageSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </Stack> - </Paper> - </div> - ); -}; -export default FileMosaicImageVideoPreviews; - -const files: ExtFile[] = [ - { - id: 0, - name: "mark45.jpg", - type: "image/jpeg", - size: 282000, - imageUrl: "https://i.ytimg.com/vi/98FO19TuI9A/maxresdefault.jpg", - //downloadUrl: "https://i.ytimg.com/vi/98FO19TuI9A/maxresdefault.jpg", - }, - - { - id: 1, - name: "ThorArrivesWakandaES.mp4", - type: "video/mp4", - size: 282000, - imageUrl: - "https://e0.pxfuel.com/wallpapers/626/685/desktop-wallpaper-avengers-infinity-war-thor-arrives-in-wakanda-bring-me-thanos.jpg", - downloadUrl: ThorArrivesWakandaES, - videoUrl: ThorArrivesWakandaES , - }, - { - id: 3, - name: "downloadable-file.png", - type: "image/png", - size: 282000, - imageUrl: "/static/media/files-ui-logo-blue.e28c57506796630aebb5.png", - downloadUrl: "/static/media/files-ui-logo-blue.e28c57506796630aebb5.png", - extraData: { - backgroundBlurImage: false, - }, - }, - { - id: 1, - name: "facebook logo.png", - type: "image/png", - size: 282000, - downloadUrl: - "https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Facebook_f_logo_%282019%29.svg/768px-Facebook_f_logo_%282019%29.svg.png", - imageUrl: - "https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Facebook_f_logo_%282019%29.svg/768px-Facebook_f_logo_%282019%29.svg.png", - extraData: { - backgroundBlurImage: false, - }, - }, -]; -/* -const videos: ExtFile[] = [ - { - id: 0, - name: "ThorArrivesWakandaEN.mp4", - type: "video/mp4", - size: 282000, - downloadUrl: ThorArrivesWakandaEN, - extraData: { videoUrl: ThorArrivesWakandaEN }, - }, - { - id: 1, - name: "ThorArrivesWakandaES.mp4", - type: "video/mp4", - size: 282000, - imageUrl: - "https://e0.pxfuel.com/wallpapers/626/685/desktop-wallpaper-avengers-infinity-war-thor-arrives-in-wakanda-bring-me-thanos.jpg", - downloadUrl: ThorArrivesWakandaES, - extraData: { videoUrl: ThorArrivesWakandaES }, - }, - - { - id: 1, - name: "NarutoAndSasukeVsMomoshikiEN.mp4", - type: "video/mp4", - size: 282000, - downloadUrl: NarutoAndSasukeVsMomoshikiEN, - extraData: { videoUrl: NarutoAndSasukeVsMomoshikiEN }, - }, - { - id: 1, - name: "NarutoAndSasukeVsMomoshikiES.mp4", - type: "video/mp4", - size: 282000, - downloadUrl: NarutoAndSasukeVsMomoshikiES, - extraData: { videoUrl: NarutoAndSasukeVsMomoshikiES }, - }, -]; - */ diff --git a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPage.tsx b/src/components/MainPage/SecondaryRight/ExtraComponentsMainPage.tsx deleted file mode 100644 index 5427abc021023a99fc7ae495a43f40eb70097b4e..0000000000000000000000000000000000000000 --- a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPage.tsx +++ /dev/null @@ -1,142 +0,0 @@ -import * as React from "react"; -import { Stack, Paper } from "@mui/material"; -import { - FileCard, - ExtFile, - FullScreen, - ImagePreview, - VideoPreview, -} from "../../../files-ui"; -import AnchorToTab from "../../util-components/AnchorToTab"; -import TypeHighlight from "../../typeHighlight/TypeHighlight"; -import { ThorArrivesWakandaES } from "../../../data/videoLinks"; - -interface ExtraComponentsMainPageProps { - darkMode?: boolean; -} -const ExtraComponentsMainPage: React.FC<ExtraComponentsMainPageProps> = ( - props: ExtraComponentsMainPageProps -) => { - const { darkMode } = props; - const [imageSrc, setImageSrc] = React.useState<string | undefined>(undefined); - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - - const handleSee = (imageSource: string | undefined) => { - console.log("handleSee-imageSource", imageSource); - setImageSrc(imageSource); - }; - - const handleWatch = (videoSource: File | string | undefined) => { - console.log("handleWatch videoSource", videoSource); - //setVideoSrc(videoSource); - // - setVideoSrc(videoSource); - // setVideoSrc("https://www.w3schools.com/tags/movie.mp4"); - }; - - return ( - <Paper - variant="outlined" - sx={{ - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent: "space-between", - padding: "20px 0", - boxSizing: "border-box", - backgroundColor: darkMode ? "#121212" : "rgba(0, 0, 0, 0.06)", - height: "100%", - }} - > - <TypeHighlight size="1.1rem"> - <AnchorToTab href="/components/filecard"> - <h3 style={{ margin: 0 }}>{"<FileCard/>"}</h3> - </AnchorToTab> - </TypeHighlight> - <Stack - direction={"column"} - spacing={2} - alignItems="center" - justifyContent={"space-evenly"} - sx={{ - flexWrap: "wrap", - flexGrow: 1, - }} - > - {files.map((f: ExtFile, index: number) => ( - <FileCard - onClick={() => { - alert("haaa"); - }} - key={index} - //darkMode={darkMode} - {...f} - onSee={handleSee} - onWatch={handleWatch} - {...f.extraData} - info - darkMode={darkMode} - /> - ))} - <FullScreen - open={imageSrc !== undefined} - onClose={() => setImageSrc(undefined)} - > - <ImagePreview src={imageSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </Stack> - </Paper> - ); -}; -export default ExtraComponentsMainPage; - -const files: ExtFile[] = [ - /* { - id: 0, - name: "image-preview.png", - type: "image/png", - size: 282000, - imageUrl: "https://i.ytimg.com/vi/98FO19TuI9A/maxresdefault.jpg", - }, */ - - { - id: 2, - name: "ThorArrivesWakandaES.mp4", - type: "video/mp4", - size: 282000, - imageUrl: - "https://e0.pxfuel.com/wallpapers/626/685/desktop-wallpaper-avengers-infinity-war-thor-arrives-in-wakanda-bring-me-thanos.jpg", - downloadUrl: ThorArrivesWakandaES, - extraData: { videoUrl: ThorArrivesWakandaES }, - }, - { - id: 3, - name: "downloadable-file.png", - type: "image/png", - size: 282000, - imageUrl: "/static/media/files-ui-logo-blue.e28c57506796630aebb5.png", - downloadUrl: "/static/media/files-ui-logo-blue.e28c57506796630aebb5.png", - extraData: { - backgroundBlurImage: false, - }, - }, - { - id: 1, - name: "ironman.png", - type: "image/png", - size: 282000, - downloadUrl: - "https://i.pinimg.com/236x/3e/e9/46/3ee946b27fd1cc5eb0b485e4a0669534.jpg", - - imageUrl: - "https://i.pinimg.com/236x/3e/e9/46/3ee946b27fd1cc5eb0b485e4a0669534.jpg", - }, -]; diff --git a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx b/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx deleted file mode 100644 index 34e67feb24cce2bf770fd00ac2bb6dce36880f23..0000000000000000000000000000000000000000 --- a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import * as React from "react"; -import { Stack, Paper } from "@mui/material"; -import { - FileCard, - ExtFile, - FullScreen, - ImagePreview, - VideoPreview, - FileInputButton, - Avatar, - MaterialButton, -} from "../../../files-ui"; -import AnchorToTab from "../../util-components/AnchorToTab"; -import TypeHighlight from "../../typeHighlight/TypeHighlight"; -import { BIA_URL } from "../../../data/imagesURL"; - -interface ExtraComponentsMainPageProps { - darkMode?: boolean; -} -const ExtraComponentsMainPageAvatar: React.FC<ExtraComponentsMainPageProps> = ( - props: ExtraComponentsMainPageProps -) => { - const { darkMode } = props; - const [isUloading, setIsUploading] = React.useState<boolean>(false); - - const [avatarSrc, setAvatarSrc] = React.useState<string | undefined | File>( - BIA_URL - ); - - const handleChange = async (file: File) => { - setAvatarSrc(file); - }; - return ( - <Paper - variant="outlined" - sx={{ - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent: "space-between", - padding: "20px 0", - boxSizing: "border-box", - backgroundColor: darkMode ? "#121212" : "rgba(0, 0, 0, 0.06)", - height: "100%", - flexGrow: 1, - }} - > - <TypeHighlight size="1.1rem"> - <AnchorToTab href="/components/avatar"> - <h3 style={{ margin: 0 }}>{"<Avatar/>"}</h3> - </AnchorToTab> - </TypeHighlight> - <Stack - direction={"column"} - spacing={2} - alignItems="center" - justifyContent={"space-evenly"} - sx={{ - flexWrap: "wrap", - flexGrow: 1, - }} - > - <Avatar - src={avatarSrc} - onChange={handleChange} - isLoading={isUloading} - smartImgFit={"center"} - style={{ width: "170px", height: "170px" }} - //variant={"circle"} - /> - <Avatar - src={avatarSrc} - onChange={handleChange} - isLoading={isUloading} - smartImgFit={"center"} - variant={"circle"} - style={{ width: "170px", height: "170px" }} - /> - <MaterialButton - onClick={() => setAvatarSrc(undefined)} - disabled={avatarSrc === undefined} - > - remove avatar - </MaterialButton> - </Stack> - </Paper> - ); -}; -export default ExtraComponentsMainPageAvatar; - -const sampleFileProps: ExtFile = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; diff --git a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageInputButton.tsx b/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageInputButton.tsx deleted file mode 100644 index b6301ef25ae087874c4d0d8f4d52e9e188c6a0ea..0000000000000000000000000000000000000000 --- a/src/components/MainPage/SecondaryRight/ExtraComponentsMainPageInputButton.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import * as React from "react"; -import { Stack, Paper } from "@mui/material"; -import { - FileCard, - ExtFile, - FullScreen, - ImagePreview, - VideoPreview, - FileInputButton, -} from "../../../files-ui"; -import AnchorToTab from "../../util-components/AnchorToTab"; -import TypeHighlight from "../../typeHighlight/TypeHighlight"; - -interface ExtraComponentsMainPageProps { - darkMode?: boolean; -} -const ExtraComponentsMainPageInputButton: React.FC< - ExtraComponentsMainPageProps -> = (props: ExtraComponentsMainPageProps) => { - const { darkMode } = props; - const [value, setValue] = React.useState<ExtFile | undefined>(undefined); - - const updateFile = (incommingFiles: ExtFile[]) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - - const removeFile = () => { - setValue(undefined); - }; - return ( - <Paper - variant="outlined" - sx={{ - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent:"space-between", - padding: "20px 0", - boxSizing: "border-box", - backgroundColor: darkMode ? "#121212" : "rgba(0, 0, 0, 0.06)", - height: "100%", - }} - > - <TypeHighlight size="1.1rem"> - <AnchorToTab href="/components/fileinputbutton"> - <h3 style={{ margin: 0 }}>{"<FileInputButton/>"}</h3> - </AnchorToTab> - </TypeHighlight> - <Stack - direction={"column"} - spacing={2} - alignItems="center" - justifyContent={"space-evenly"} - sx={{ - flexWrap: "wrap", - flexGrow:1, - //height: "100%", - }} - > - {value ? ( - <FileCard {...value} onDelete={removeFile} info preview darkMode={darkMode}/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileCard {...sampleFileProps} info darkMode={darkMode}/> - </Stack> - </Paper> - ); -}; -export default ExtraComponentsMainPageInputButton; - -const sampleFileProps: ExtFile = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; diff --git a/src/components/RightMenu/RightMenu.scss b/src/components/RightMenu/RightMenu.scss deleted file mode 100644 index 4c907e01289ca4d41abf79bbdc39f0e85d568440..0000000000000000000000000000000000000000 --- a/src/components/RightMenu/RightMenu.scss +++ /dev/null @@ -1,20 +0,0 @@ -.right-menu-anchor-item { - box-sizing: border-box; - text-decoration: none; - padding-left: 5px; - width: 100%; - //word-break: break-all; - - border-left: unset; - color: #6f7e8c; - - &.selected, - &:hover { - border-left-width: 2px; - border-left-style: solid; - color: rgb(0, 114, 229); - &.darkmode { - color: rgb(102, 178, 255); - } - } -} diff --git a/src/components/RightMenu/RightMenu.tsx b/src/components/RightMenu/RightMenu.tsx deleted file mode 100644 index ce6b2e4332a5ea1ccfc3e49d824beacf051e8c0a..0000000000000000000000000000000000000000 --- a/src/components/RightMenu/RightMenu.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import List from "@mui/material/List/List"; -import ListSubheader from "@mui/material/ListSubheader/ListSubheader"; -import * as React from "react"; -import { RightMenuProps } from "./RightMenuProps"; -import "./RightMenu.scss"; -import { UserContext } from "../../globals/contexts/UserContext"; -const RightMenu: React.FC<RightMenuProps> = (props: RightMenuProps) => { - const { items, width, selectedItemProp: selectedItem = 0 } = props; - const [usuario, ] = React.useContext(UserContext); - const darkMode = usuario.darkMode; - - const handleClickAnchor = ( - e: React.MouseEvent<HTMLAnchorElement, MouseEvent>, - onClick: Function | undefined, - id: number - ) => { - onClick?.(); - }; - - const finalSelectedId = selectedItem; - - const darkmodeClassName = darkMode - ? "right-menu-anchor-item darkmode" - : "right-menu-anchor-item"; - //const darkmodeClassName = darkMode?"":""; - return ( - <List - // className="section-container" - sx={{ width: "100%", maxWidth: width, bgcolor: "background.paper" }} - component="nav" - aria-labelledby="nested-list-subheader" - subheader={ - <ListSubheader component="div" id="nested-list-subheader"> - Content - </ListSubheader> - } - > - <ul style={{ listStyle: "none", margin: 0 }}> - {items && - items.map(({ isSelected, label, onClick, referTo, id }, index) => { - const classNameForAnchor: string = - finalSelectedId === id - ? `${darkmodeClassName} selected` - : darkmodeClassName; - return ( - <li key={index} style={{ listStyle: "none", margin: 0 }}> - <a - className={classNameForAnchor} - href={`${referTo}`} - onClick={(e) => handleClickAnchor(e, onClick, id)} - > - {label} - </a> - </li> - ); - })} - </ul> - </List> - ); -}; -export default RightMenu; diff --git a/src/components/RightMenu/RightMenuProps.ts b/src/components/RightMenu/RightMenuProps.ts deleted file mode 100644 index e8d14440ffd7721c8ad8a5818378199fbb01981d..0000000000000000000000000000000000000000 --- a/src/components/RightMenu/RightMenuProps.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface RightMenuItem { - label?: string; - onClick?: Function; - isSelected?: boolean; - referTo?: string; - id: number; -} - -export interface RightMenuProps { - items: RightMenuItem[]; - width: string; - baseUrl?: string; - selectedItemProp?:number; - setSelected?:Function; -} \ No newline at end of file diff --git a/src/components/code-generator/InteractiveCode.jsx b/src/components/code-generator/InteractiveCode.jsx deleted file mode 100644 index b143996a652f6f2e9318c2b8787a5380cf783c44..0000000000000000000000000000000000000000 --- a/src/components/code-generator/InteractiveCode.jsx +++ /dev/null @@ -1,771 +0,0 @@ -import { - FormControl, - FormControlLabel, - FormLabel, - Grid, - Paper, - Radio, - RadioGroup, - Switch, -} from "@mui/material"; -import React, { Fragment, useEffect, useState } from "react"; -import Autocomplete from "@mui/material/Autocomplete"; -import TextField from "@mui/material/TextField"; - import { - Dropzone, - FileItem, - FullScreenPreview, - VideoPreview, -} from "@dropzone-ui/react"; -//import { Dropzone, FileItem, FullScreenPreview, VideoPreview,} from "../../dropzone-ui"; -import "./InteractiveCode.scss"; -import InteractiveGeneratedCode from "./InteractiveGeneratedCode"; -import ElevationSlider from "../../Pages/Components/FileItemProps/ElevationSlider"; -import FileSizeSlider from "../../Pages/Components/DropzoneProps/FileSizeSlider"; -import FileLimitSlider from "../../Pages/Components/DropzoneProps/FileLimitSlider"; -import ElevateAppBar from "../../Templates/ElevateAppBar"; -//import FakeFileItem from "../../Components/FakeFileItem/FakeFileItem"; - -const InteractiveCode = (props) => { - //////////////////// DROPZONE PROPS //////////////// - //color - const [useColor, setUseColor] = useState(undefined); - const [color, setColor] = useState("#071e25"); - useEffect(() => { - if (!useColor) { - setColor(undefined); - } else { - //if (!color) { - setColor(color); - //} - } - }, [useColor, color]); - - const handleChangeColor = (e) => { - setColor(e.target.value); - }; - //maxFileSise - const [maxFileSize, setmaxFileSize] = useState(29300000); - const handleChangeMaxFileSize = (v) => { - setmaxFileSize(v); - // setmaxSize(e.target.value); - }; - //maxFiles - const [maxFiles, setMaxFiles] = useState(29300000); - const handleChangeMaxFiles = (v) => { - setMaxFiles(v); - // setmaxSize(e.target.value); - }; - //label - const [label, setLabel] = useState("Drop Files here or click to browse"); - const handleChangeLabel = (e) => { - if (e.target.value.lenght === 0) { - setLabel(undefined); - } else setLabel(e.target.value); - }; - //display - const [files, setFiles] = useState([]); - const [imageSrc, setImageSrc] = useState(undefined); - const [videoSrc, setVideoSrc] = useState(undefined); - const [controls, setControls] = useState(true); - const [autoplay, setAutoPlay] = useState(true); - const updateFiles = (incommingFiles) => { - setFiles(incommingFiles); - }; - const handleDelete = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const handleSee = (imageSource) => { - setImageSrc(imageSource); - }; - //VIDEOOO PREVIEW - const handleWatch = (vidSrc) => { - console.log("handleWatch", vidSrc); - setVideoSrc(vidSrc); - }; - //localization - const [localization, setLocalization] = useState(undefined); - const hadleSelect = (e, value) => { - //console.log(value); - setLocalization(value?.value); - }; - //accept - const [accept, setAccept] = useState("image/jpeg,.ts, video/*"); - const handleChangeAccept = (e) => { - if (e.target.value.lenght === 0) { - setAccept(undefined); - } else setAccept(e.target.value); - }; - //minHeight - const [minHeight, setMinHeight] = useState("195px"); - const handleMinHeight = (e) => { - if (e.target.value.lenght === 0) { - setMinHeight(undefined); - } else setMinHeight(e.target.value); - }; - //maxHeight - const [maxHeight, setMaxHeight] = useState("500px"); - const handleMaxHeight = (e) => { - if (e.target.value.lenght === 0) { - setMaxHeight(undefined); - } else setMaxHeight(e.target.value); - }; - //view - const [viewValue, setViewValue] = React.useState("unset"); - const handleCheckView = (e, val) => { - setViewValue(val); - }; - const [footerDis, setFooterDis] = React.useState(false); - const [headerDis, setHeaderDis] = React.useState(false); - const [clickableDis, setClickableDis] = React.useState(false); - const [onClean, setOnClean] = React.useState(true); - const [uploadOnDrop, setUploadOnDrop] = React.useState(false); - //inner Upload - - //const [innerUpload, setInnerUpload] = useState(false); - const [url, setUrl] = React.useState(undefined); - const handleUrl = (e) => { - if (e.target.value.lenght === 0) { - setUrl(undefined); - } else { - setUrl(e.target.value); - } - }; - //method - const [method, setMethod] = React.useState(undefined); - const hadleSelectMethod = (e, value) => { - //console.log("method", value); - setMethod(value?.method); - }; - const [fakeupload, setFakeUpload] = React.useState(undefined); - //const [headerDis, setHeaderDis] = React.useState(false); - const [behaviour, setBehaviour] = React.useState("unset"); - const handleCheckBehaviour = (e, val) => { - setBehaviour(val); - }; - //config - const defaultHeader = { - headers: { - "content-type": "multipart/form-data;", - }, - }; - const [config, setConfig] = useState(undefined); - const [useConfig, setUseConfig] = useState(false); - const handleUseConfig = (v) => { - if (v) { - setUseConfig(true); - setConfig( - `{\n\t headers: {\n\t "Authorization": "Bearer YOUR_BEARER_TOKEN_GOES_HERE",\n\t "content-type": "multipart/form-data",\n\t },\n\t}` - ); - } else { - setUseConfig(false); - setConfig(undefined); - } - }; - - // upload message - /* const [uploadingMessage, setUploadingMessage] = useState( - "....Uploading Files, please wait..." - ); */ - const [uploadingMessage, setUploadingMessage] = useState(undefined); - // eslint-disable-next-line - const handleuploadingMessage = (e) => { - if (e.target.value.lenght === 0) { - setUploadingMessage(undefined); - } else setUploadingMessage(e.target.value); - }; - /////// NEW - const [disableScroll, setDisableScroll] = useState(true); - //// //// //// //// FILE ITEM - const [hd, setHd] = React.useState(false); - const [info, setInfo] = React.useState(true); - const [preview, setPreview] = React.useState(true); - const [alwaysActive, setAlwaysActive] = React.useState(true); - const [resultOnTooltip, setResultOnTooltip] = React.useState(true); - const [onSee, setOnSee] = React.useState(false); - const [onDeleteVal, setOnDelete] = React.useState(true); - const [elevation, setElevation] = React.useState(0); - return ( - <Fragment> - <ElevateAppBar /> - <div className="dui-demo-container"> - - <Dropzone - //style={{ fontFamily:`"Roboto","Helvetica","Arial",sans-serif` }} - label={label} - color={color} - minHeight={minHeight} - //maxHeight={maxHeight} - accept={accept} - view={viewValue === "unset" ? undefined : viewValue} - behaviour={behaviour === "unset" ? undefined : behaviour} - localization={localization} - onChange={updateFiles} - value={files} - footer={footerDis ? false : true} - header={headerDis ? false : true} - clickable={clickableDis ? false : true} - onClean={onClean || undefined} - maxFileSize={maxFileSize} - maxFiles={maxFiles} - //upload - uploadOnDrop={uploadOnDrop || undefined} - url={url} - fakeUploading={fakeupload} - config={config ? defaultHeader : undefined} - uploadingMessage={uploadingMessage} - disableScroll={disableScroll} - > - {files.length>0 && files.map((file) => ( - <FileItem - {...file} - key={file.id} - onDelete={onDeleteVal ? handleDelete : undefined} - onSee={onSee ? handleSee : undefined} - localization={localization} - alwaysActive={alwaysActive || undefined} - resultOnTooltip={resultOnTooltip || undefined} - preview={preview ? preview : undefined} - //onlyImage - info={info ? info : undefined} - hd={hd ? hd : undefined} - elevation={elevation} - onWatch={handleWatch} - /> - ))} - </Dropzone> - <FullScreenPreview - imgSource={imageSrc} - openImage={imageSrc} - onClose={(e) => handleSee(undefined)} - /> - <VideoPreview - videoSrc={videoSrc} - openVideo={videoSrc} - onClose={(e) => handleWatch(undefined)} - controls={controls} - autoplay={autoplay} - /> - {/** - * ///////////////////////////// CONTROLS //////////////////////////////////// - */} - <Grid container style={{ padding: "15px 0" }} spacing={1}> - <Grid item md={9} xs={12}> - <h3>{"Dropzone props"}</h3> - <Paper elevation={3} style={{ padding: "15px" }}> - <Grid container spacing={2}> - <Grid item md={6} xs={12}> - <h4 style={{ margin: "10px 5px 0 0" }}>{"Validation"}</h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Accept"} - </FormLabel> - <TextField - fullWidth - id="outlined-basic" - size="small" - //label="Outlined" - variant="outlined" - onChange={handleChangeAccept} - value={accept} - /> - <FileSizeSlider onChange={handleChangeMaxFileSize} /> - <FileLimitSlider onChange={handleChangeMaxFiles} /> - - <h4 style={{ margin: "10px 5px 0 0" }}>Upload process</h4> - <FormLabel component="h2" style={{ marginTop: "8px" }}> - {"Start upload on drop"} - </FormLabel> - <FormControlLabel - control={ - <Switch - onChange={(e, ch) => { - setUploadOnDrop(ch); - }} - /> - } - label="uploadOnDrop" - /> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Url of server"} - </FormLabel> - <TextField - fullWidth - id="outlined-basic" - size="small" - label="url" - variant="outlined" - onChange={handleUrl} - value={url} - /> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Method (POST by default)"} - </FormLabel> - <Autocomplete - //disablePortal - autoSelect - size="small" - //style={{ width: "80%" }} - //fullWidth - onChange={hadleSelectMethod} - id="combo-box-demo" - options={[ - { method: "POST" }, - { method: "PATCH" }, - { method: "PUT" }, - ]} - getOptionLabel={(option) => option.method} - renderInput={(params) => ( - <TextField {...params} label="method" /> - )} - /> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Aditional configuration (e.g. headers, bearer token)"} - </FormLabel> - <FormControlLabel - control={ - <Switch - onChange={(e, ch) => { - handleUseConfig(ch); - }} - /> - } - label="Add config" - /> - {useConfig && ( - <TextField - id="outlined-multiline-flexible" - label="config" - multiline - fullWidth - minRows={3} - value={config} - disabled - //onChange={handleConfig} - /> - )} - {/* <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Uploading Message"} - </FormLabel> - <TextField - fullWidth - id="outlined-basic" - size="small" - label="uploadingMessage" - variant="outlined" - onChange={handleuploadingMessage} - value={uploadingMessage} - /> */} - <h4 style={{ margin: "10px 5px 0 0" }}> - Fake upload (simulate upload process on development) - </h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - { - "Enable fake uploading. It needs a fake url string prop to show the 'upload button'" - } - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={fakeupload} - onChange={(e, ch) => { - setFakeUpload(ch); - }} - /> - } - label="enable fakeUpload" - /> - </Grid> - <Grid item md={6} xs={12}> - <h4 style={{ margin: "10px 5px 0 0" }}>{"Language"}</h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Localization"} - </FormLabel> - <Autocomplete - //disablePortal - autoSelect - size="small" - //style={{ width: "80%" }} - //fullWidth - onChange={hadleSelect} - id="combo-box-demo" - options={languages} - getOptionLabel={(option) => option.idiom} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <h4 style={{ margin: "10px 5px 0 0" }}> - {"Behaviour on drop files"} - </h4> - <FormControl component="fieldset"> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - { - 'Add files or replace the file list ( "add" by default )' - } - </FormLabel> - <RadioGroup - row - aria-label="view" - name="row-radio-buttons-group" - onChange={handleCheckBehaviour} - value={behaviour} - > - <FormControlLabel - value="add" - control={<Radio />} - label="add" - /> - <FormControlLabel - value="replace" - control={<Radio />} - label="replace" - /> - <FormControlLabel - value={"unset"} - control={<Radio />} - label="unset" - /> - </RadioGroup> - </FormControl> - <h4 style={{ margin: "10px 5px 0 0" }}> - {"Display settings"} - </h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Custom Label"} - </FormLabel> - <TextField - fullWidth - id="outlined-basic" - size="small" - //label="Outlined" - variant="outlined" - onChange={handleChangeLabel} - value={label} - /> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"minHeight"} - </FormLabel> - <TextField - fullWidth - id="outlined-basic" - size="small" - //label="Outlined" - variant="outlined" - onChange={handleMinHeight} - value={minHeight} - /> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"maxHeight"} - </FormLabel> - <TextField - fullWidth - id="outlined-basic" - size="small" - //label="Outlined" - variant="outlined" - onChange={handleMaxHeight} - value={maxHeight} - /> - <FormControl component="fieldset"> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"View (FileItems layout)"} - </FormLabel> - <RadioGroup - row - aria-label="gender" - name="row-radio-buttons-group" - onChange={handleCheckView} - value={viewValue} - > - <FormControlLabel - disabled={disableScroll} - value="list" - control={<Radio />} - label="list" - /> - <FormControlLabel - disabled={disableScroll} - value="grid" - control={<Radio />} - label="grid" - /> - <FormControlLabel - disabled={disableScroll} - value={"unset"} - control={<Radio />} - label="unset" - /> - </RadioGroup> - </FormControl> - - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {`Disable scrollbar: ( for optimizing display when using "resultOnTooltip prop on FileItem")`} - </FormLabel> - <a href="https://codesandbox.io/s/dropzone-ui-fileitem-resultontooltip-h6hu7"> - <img - src="https://img.shields.io/badge/new-feature-green.svg" - alt="npm latest package" - /> - </a> - - <FormControlLabel - control={ - <Switch - checked={disableScroll} - onChange={(e, ch) => { - setDisableScroll(ch); - }} - /> - } - label={"disableScroll"} - /> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {`Theme color: ( ${useColor ? color : "unset"} )`} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={useColor} - onChange={(e, ch) => { - setUseColor(ch); - }} - /> - } - label={useColor ? "disable color" : "enable color"} - /> - {useColor && ( - <div> - <input - placeholder="color" - onChange={handleChangeColor} - type="color" - /> - {color} - </div> - )} - <FormLabel component="h2" style={{ marginTop: "8px" }}> - {"Clean not valid files button"} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={onClean} - onChange={(e, ch) => { - setOnClean(ch); - }} - /> - } - label="onClean" - /> - <FormLabel component="h2" style={{ marginTop: "8px" }}> - {"Enable/disable clickable"} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={clickableDis} - onChange={(e, ch) => { - setClickableDis(ch); - }} - /> - } - label="clickable" - /> - <FormLabel component="h2"> - {"Footer and header (true by def.)"} - </FormLabel> - <FormControlLabel - control={ - <Switch - onChange={(e, ch) => { - setHeaderDis(ch); - }} - /> - } - label="disable header" - /> - <FormControlLabel - control={ - <Switch - onChange={(e, ch) => { - setFooterDis(ch); - }} - /> - } - label="disable footer" - /> - </Grid> - </Grid> - </Paper> - </Grid> - - <Grid item md={3} xs={12}> - <h3>{"FileItem props"}</h3> - <Paper elevation={3} style={{ padding: "15px" }}> - <h4 style={{ margin: "10px 5px 0 0" }}>Display</h4> - <FormLabel component="h2" style={{ marginTop: "8px" }}> - {"Show info layer"} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={info} - onChange={(e, ch) => { - setInfo(ch); - }} - /> - } - label="info" - /> - <FormLabel component="h2" style={{ marginTop: "8px" }}> - { - "Always active (show actions and buttons if true. If false, show only on hover)" - } - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={alwaysActive} - onChange={(e, ch) => { - setAlwaysActive(ch); - }} - /> - } - label="alwaysActive" - /> - <FormLabel component="h2" style={{ marginTop: "8px" }}> - { - "Display Result on layer (if true) otherwise, on tooltip on Hover" - } - </FormLabel> - <a href="https://codesandbox.io/s/dropzone-ui-fileitem-resultontooltip-h6hu7"> - <img - src="https://img.shields.io/badge/new-feature-green.svg" - alt="npm latest package" - /> - </a> - <FormControlLabel - control={ - <Switch - checked={resultOnTooltip} - onChange={(e, ch) => { - setResultOnTooltip(ch); - }} - /> - } - label="resultOnTooltip" - /> - resultOnTooltip - <h4 style={{ margin: "10px 5px 0 0" }}> - {"Preview (inside FileItem)"} - </h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {"Show image preview on FleItem if valid"} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={preview} - onChange={(e, ch) => { - setPreview(ch); - }} - /> - } - label="preview" - /> - <h4 style={{ margin: "10px 5px 0 0" }}>Full Screen Preview</h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {" Preview button and add handler"} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={onSee} - onChange={(e, ch) => { - setOnSee(ch); - }} - /> - } - label="onSee" - /> - <FormLabel component="h2" style={{ marginTop: "8px" }}> - {"Show preview in HD"} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={hd} - onChange={(e, ch) => { - setHd(ch); - }} - /> - } - label="hd" - /> - <h4 style={{ margin: "10px 5px 0 0" }}>Delete File</h4> - <FormLabel component="legend" style={{ marginTop: "8px" }}> - {'Show "delete file" button and add handler'} - </FormLabel> - <FormControlLabel - control={ - <Switch - checked={onDeleteVal} - onChange={(e, ch) => { - setOnDelete(ch); - }} - /> - } - label="onDelete" - />{" "} - <ElevationSlider onChange={(v) => setElevation(v)} /> - </Paper> - </Grid> - </Grid> - <InteractiveGeneratedCode - {...{ - accept, - maxHeight, - localization, - minHeight, - hd, - info, - preview, - alwaysActive, - onSee, - onDeleteVal, - viewValue, - footerDis, - headerDis, - elevation, - url, - method, - behaviour, - uploadingMessage, - config, - uploadOnDrop, - fakeupload, - label, - maxFileSize, - maxFiles, - onClean, - color, - clickableDis, - resultOnTooltip, - disableScroll, - }} - /> - </div> - </Fragment> - ); -}; -export default InteractiveCode; - -const languages = [ - { idiom: "Español: ES-es", value: "ES-es" }, - { idiom: "English: EN-en", value: "EN-en" }, - { idiom: "French: FR-fr", value: "FR-fr" }, - { idiom: "Portuguese: PT-pt", value: "PT-pt" }, - { idiom: "Russian: RU-ru", value: "RU-ru" }, - { idiom: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { idiom: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; diff --git a/src/components/code-generator/InteractiveCode.scss b/src/components/code-generator/InteractiveCode.scss deleted file mode 100644 index 627e43aa82ba951a5b3098f2bcc68c43bb18b1b9..0000000000000000000000000000000000000000 --- a/src/components/code-generator/InteractiveCode.scss +++ /dev/null @@ -1,24 +0,0 @@ -.dui-demo-container { - background-color: rgb(234, 238, 243); - //width: 100%; - margin: auto; - margin-top: 10px; - padding: 20px 30px; - border-radius: 10px ; - border: 1px solid rgb(215, 220, 225); - .dui-demo-paper { - background-color: white; - //width: 100%; - } - @media (max-width: 960px) { - width: 90%; - padding: 10px 20px; - - } - @media (max-width: 600px) { - width: 100%; - padding: 5px 10px; - - } - } - \ No newline at end of file diff --git a/src/components/code-generator/InteractiveDemo.jsx b/src/components/code-generator/InteractiveDemo.jsx deleted file mode 100644 index 60189cd00adbbb885aee454c5bc80449e6a79edd..0000000000000000000000000000000000000000 --- a/src/components/code-generator/InteractiveDemo.jsx +++ /dev/null @@ -1,60 +0,0 @@ -import React, { Fragment, useState } from "react"; -import { Dropzone, FileItem, FullScreenPreview } from "../../dropzone-ui"; -import "./InteractiveDemo.scss"; -const InteractiveDemo = (props) => { - const [files, setFiles] = useState([]); - const [imageSrc, setImageSrc] = useState(undefined); - const updateFiles = (incommingFiles) => { - //console.log("incomming files", incommingFiles); - setFiles(incommingFiles); - }; - const onDelete = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const handleSee = (imageSource) => { - setImageSrc(imageSource); - }; - const handleClean = (files) => { - //console.log("list cleaned", files); - }; - return ( - <Fragment> - <Dropzone - style={{ minWidth: "550px" }} - onChange={updateFiles} - minHeight="180px" - onClean={handleClean} - value={files} - maxFiles={10} - maxFileSize={5698000} - accept=".png,image/*" - url="http://ec2-99-99-9-9.compute-1.amazonaws.com:2800/upload-my-file" - //of course this url doens´t work, is only to make upload button visible - uploadOnDrop - fakeUploading - > - {/* files.length > 0 && */ - files.map((file) => ( - <FileItem - {...file} - key={file.id} - onDelete={onDelete} - onSee={handleSee} - preview - info - hd - /> - ))} - </Dropzone>{" "} - <FullScreenPreview - imgSource={imageSrc} - openImage={imageSrc} - onClose={(e) => handleSee(undefined)} - /> - <div className="dui-demo-container"> - <div className="dui-demo-paper"></div> - </div> - </Fragment> - ); -}; -export default InteractiveDemo; diff --git a/src/components/code-generator/InteractiveDemo.scss b/src/components/code-generator/InteractiveDemo.scss deleted file mode 100644 index 09028bcfdf2bed5c598f562e6f689c2b3ab416e4..0000000000000000000000000000000000000000 --- a/src/components/code-generator/InteractiveDemo.scss +++ /dev/null @@ -1,12 +0,0 @@ -.dui-demo-container { - background-color: rgb(234, 238, 243); - width: 50%; - margin: auto; - padding: 4%; - border-radius: 10px ; - border: 1px solid rgb(215, 220, 225); - .dui-demo-paper { - background-color: white; - //width: 100%; - } -} diff --git a/src/components/code-generator/InteractiveGeneratedCode.jsx b/src/components/code-generator/InteractiveGeneratedCode.jsx deleted file mode 100644 index 51de67cfc7457d27872941a82a86775aa7029ce9..0000000000000000000000000000000000000000 --- a/src/components/code-generator/InteractiveGeneratedCode.jsx +++ /dev/null @@ -1,437 +0,0 @@ - -import { Highlighter } from "rc-highlight"; -import React, { Fragment, useEffect, useState } from "react"; -//import { Highlighter } from "../../HIGHLIGHTER"; - -const InteractiveGeneratedCode = (props) => { - const { - accept, - maxHeight, - localization, - minHeight, - hd, - info, - preview, - alwaysActive, - onSee, - onDeleteVal, - viewValue, - footerDis, - headerDis, - elevation, - url, - method, - behaviour, - uploadingMessage, - config, - uploadOnDrop, - fakeupload, - label, - maxFileSize, - maxFiles, - onClean, - color, - clickableDis, - resultOnTooltip, - disableScroll, - } = props; - const [code, setCode] = useState(""); - const makeAccept = (accept) => { - if (!accept || accept.length === 0) { - return ``; - } - return `\n\taccept={"${accept}"}\n`; - }; - const makeLocalization = (localization, item) => { - if (!localization || localization.length === 0) { - return ``; - } - if (item) { - return `\n\t localization={"${localization}"}\n`; - } - return `\n\tlocalization={"${localization}"}\n`; - }; - const makeMinHeight = (minHeight) => { - if (!minHeight || minHeight.length === 0) { - return ``; - } - return `\n\tminHeight={"${minHeight}"}\n`; - }; - const makeMaxHeight = (maxHeight) => { - if (!maxHeight || maxHeight.length === 0) { - return ``; - } - return `\n\tmaxHeight={"${maxHeight}"}\n`; - }; - const makeView = (viewValue) => { - if (viewValue === "unset") { - return ``; - } - return `\n\tviewValue={"${viewValue}"}\n`; - }; - const makeFooter = (footerDis) => { - if (!footerDis) { - return ``; - } - return `\n\tfooter={${!footerDis}}\n`; - }; - const makeHeader = (headerDis) => { - if (!headerDis) { - return ``; - } - return `\n\theader={${!headerDis}}\n`; - }; - function makeUrl(url) { - if (!url) { - return ``; - } - return `\n\turl={"${url}"}\n`; - } - function makeMethod(method) { - if (!method) { - return ``; - } - return `\n\tmethod={"${method}"}\n`; - } - function makeBehaviour(behaviour) { - if (behaviour === "unset") { - return ``; - } - return `\n\tbehaviour={"${behaviour}"}\n`; - } - function makeUploadingMessage(uploadingMessage) { - //console.log("upload message", uploadingMessage); - if (!uploadingMessage) { - return ``; - } - return `\n\tuploadingMessage={"${uploadingMessage}"}\n`; - } - function makeConfig(config) { - if (!config) { - return ``; - } - return `\n\tconfig={${config}}\n`; - } - - function makeUploadOnDrop(uploadOnDrop) { - if (!uploadOnDrop) { - return ``; - } - return `\n\tuploadOnDrop\n`; - } - function makeFakeUpload(fakeupload) { - if (!fakeupload) { - return ``; - } - return `\n\tfakeupload\n`; - } - function makeLabel(label) { - if (!label) { - return ``; - } - return `\n\tlabel={"${label}"}\n`; - } - function makeMaxFileSize(maxFileSize) { - if (!maxFileSize) { - return ``; - } - return `\n\tmaxFileSize={${maxFileSize}}\n`; - } - function makeMaxFiles(maxFiles) { - if (!maxFiles) { - return ``; - } - return `\n\tmaxFiles={${maxFiles}}\n`; - } - function makeonClean(onClean) { - if (!onClean) { - return ``; - } - return `\n\tonClean\n`; - } - function makeColor(color) { - if (!color) { - return ``; - } - return `\n\tcolor={"${color}"}\n`; - } - function makeClickable(clickable) { - if (!clickable) { - return ``; - } - return `\n\tclickable={"${clickable}"}\n`; - } - function makeDisableScroll(disableScroll) { - if (!disableScroll) { - return ``; - } - return `\n\tdisableScroll\n`; - } - ////////////////// FILE ITEM - function makeHd(hd) { - if (hd) { - return `\n\t hd\n`; - } else { - return ``; - } - } - function makePreview(preview) { - if (preview) { - return `\n\t preview\n`; - } else { - return ``; - } - } - function makeInfo(info) { - if (info) { - return `\n\t info\n`; - } else { - return ``; - } - } - function makeAlwaysActive(alwaysActive) { - if (alwaysActive) { - return `\n\t alwaysActive\n`; - } else { - return ``; - } - } - function makeOnSee(onSee) { - if (onSee) { - return `\n\t onSee={handleSee}\n`; - } else { - return ``; - } - } - function makeOnDelete(onDeleteVal) { - if (onDeleteVal) { - return `\n\t onDelete={handleDelete}\n`; - } else { - return ``; - } - } - const makeElevation = (elevation) => { - if (!elevation || elevation === 0) { - return ``; - } else { - return `\n\t elevation={${elevation}}\n`; - } - }; - function makeResultOnTooltip(resultOnTooltip) { - if (resultOnTooltip) { - return `\n\t resultOnTooltip\n`; - } else { - return ``; - } - } - //////// MAIN CODE - const makeCode = ( - accept, - maxHeight, - localization, - minHeight, - hd, - info, - preview, - alwaysActive, - onSee, - onDeleteVal, - viewValue, - footerDis, - headerDis, - elevation, - url, - method, - behaviour, - uploadingMessage, - config, - uploadOnDrop, - fakeupload, - label, - maxFileSize, - maxFiles, - onClean, - color, - clickableDis, - resultOnTooltip,disableScroll, - ) => { - return ( - ` - import { Dropzone, FileItem${ - onSee ? ", FullScreenPreview " : " " - }} from "@dropzone-ui/react"; - import { useState } from "react"; - export default function App() { - const [files, setFiles] = useState([]);` + - makeImgSrcState(onSee) + - ` - const updateFiles = (incommingFiles) => { - console.log("incomming files", incommingFiles); - setFiles(incommingFiles); - };` + - makeOnDeleteHandler(onDeleteVal) + - makeHandleSee(onSee) + - ` - return ( - <Dropzone - onChange={updateFiles} - value={files}` + - makeClickable(clickableDis) + - makeonClean(onClean) + - makeAccept(accept) + - makeMaxFileSize(maxFileSize) + - makeMaxFiles(maxFiles) + - makeLabel(label) + - makeMinHeight(minHeight) + - makeMaxHeight(maxHeight) + - makeLocalization(localization) + - makeView(viewValue) + - makeFooter(footerDis) + - makeHeader(headerDis) + - makeUrl(url) + - makeMethod(method) + - makeUploadingMessage(uploadingMessage) + - makeBehaviour(behaviour) + - makeConfig(config) + - makeUploadOnDrop(uploadOnDrop) + - makeColor(color) + - makeFakeUpload(fakeupload) + - makeDisableScroll(disableScroll)+ - ` - > - {files.length>0 && files.map((file) => ( - <FileItem - {...file} - key={file.id}` + - makeOnDelete(onDeleteVal) + - makeOnSee(onSee) + - makeAlwaysActive(alwaysActive) + - makeLocalization(localization, true) + - makePreview(preview) + - makeInfo(info) + - makeHd(hd) + - makeElevation(elevation) + - makeResultOnTooltip(resultOnTooltip) + - ` - /> - ))}` + - //makeFullScreenOnseeComponent(onSee) + - ` - </Dropzone> - ${makeFullScreenOnseeComponent(onSee)} - ); - } - ` - ); - }; - useEffect(() => { - const codeGenerated = makeCode( - accept, - maxHeight, - localization, - minHeight, - hd, - info, - preview, - alwaysActive, - onSee, - onDeleteVal, - viewValue, - footerDis, - headerDis, - elevation, - url, - method, - behaviour, - uploadingMessage, - config, - uploadOnDrop, - fakeupload, - label, - maxFileSize, - maxFiles, - onClean, - color, - clickableDis, - resultOnTooltip,disableScroll, - ); - setCode(codeGenerated); - // eslint-disable-next-line - }, [ - accept, - maxHeight, - localization, - minHeight, - hd, - info, - preview, - alwaysActive, - onSee, - onDeleteVal, - viewValue, - footerDis, - headerDis, - elevation, - url, - method, - behaviour, - uploadingMessage, - config, - uploadOnDrop, - fakeupload, - label, - maxFileSize, - maxFiles, - onClean, - color, - clickableDis, - resultOnTooltip,disableScroll - ]); - return ( - <Fragment> - <Highlighter - style={{ margin: "10px 0", backgroundColor: "#010409" }} - onCopyToClipboard={(code_) => { - //console.log("copied: " + code_); - }} - > - {code} - </Highlighter> - </Fragment> - ); -}; -export default InteractiveGeneratedCode; -function makeOnDeleteHandler(onDelete) { - if (!onDelete) { - return ``; - } - return ` - const onDelete = (id) => { - setFiles(files.filter((x) => x.id !== id)); - };`; -} -function makeHandleSee(onSee) { - if (!onSee) { - return ``; - } - return `\n const handleSee = (imageSource) => { - setImageSrc(imageSource); - };\n`; -} -function makeImgSrcState(onSee) { - if (!onSee) { - return ``; - } - return `\n const [imageSrc, setImageSrc] = useState(undefined);\n`; -} - -function makeFullScreenOnseeComponent(onSee) { - if (!onSee) { - return ``; - } - return `\n <FullScreenPreview - imgSource={imageSrc} - openImage={imageSrc} - onClose={(e) => handleSee(undefined)} - />\n`; -} diff --git a/src/components/codeHighlight/CodeHighlight.scss b/src/components/codeHighlight/CodeHighlight.scss deleted file mode 100644 index 665381cee39f632effbb87a178062be432155075..0000000000000000000000000000000000000000 --- a/src/components/codeHighlight/CodeHighlight.scss +++ /dev/null @@ -1,12 +0,0 @@ -.code-highlight { - color: #1a2027; - background-color: rgba(102, 178, 255, 0.15); - border-radius: 5px; - font-size: 0.9125rem; - padding: 0px 5px; - line-height: 1.6; - &.darkmode { - color: #fff; - background-color: rgba(102, 178, 255, 0.15); - } -} diff --git a/src/components/codeHighlight/CodeHighlight.tsx b/src/components/codeHighlight/CodeHighlight.tsx deleted file mode 100644 index 0241c3aa7bc8a82ba2ddcd911e1ec2e165b1455a..0000000000000000000000000000000000000000 --- a/src/components/codeHighlight/CodeHighlight.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; -import { UserContext } from "../../globals/contexts/UserContext"; -import "./CodeHighlight.scss"; - -interface CodeHighlightProps { - children?: React.ReactNode; - darkMode?: boolean; -} -const CodeHighlight: React.FC<CodeHighlightProps> = ( - props: CodeHighlightProps -) => { - const { children } = props; - const [usuario, ] = React.useContext(UserContext); - const darkMode = usuario.darkMode; - const finaldarkmodeclassName = !darkMode - ? "code-highlight" - : "code-highlight darkmode"; - - return <code className={finaldarkmodeclassName}>{children}</code>; -}; -export default CodeHighlight; diff --git a/src/components/demo-components/avatar-demo/BasicDemoAvatar.tsx b/src/components/demo-components/avatar-demo/BasicDemoAvatar.tsx deleted file mode 100644 index 094199e6b7fea0972b9c00d757ccf90f527b7ffc..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/BasicDemoAvatar.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../../../files-ui"; -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const BasicDemoAvatar = () => { - return <Avatar readOnly src={imageSrc} alt="Isabella" />; -}; -export default BasicDemoAvatar; diff --git a/src/components/demo-components/avatar-demo/CodeAvatarVariant.tsx b/src/components/demo-components/avatar-demo/CodeAvatarVariant.tsx deleted file mode 100644 index 89b6f6de1a912cbdcca89af1f7e3d8d425b6146d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeAvatarVariant.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -interface CodeDemoAvatarPickFileProps {} -const CodeDemoAvatarVariant: React.FC<CodeDemoAvatarPickFileProps> = ( - props: CodeDemoAvatarPickFileProps -) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarVariant; - -const splittedCodeJS = `<Avatar src={imageSrc} readOnly /> -<Avatar src={imageSrc} variant="circle" readOnly />`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -export default function DemoAvatarVariants = () => { - return ( - <> - <Avatar src={imageSrc} readOnly /> - <Avatar src={imageSrc} variant="circle" readOnly /> - </> - ); -};`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarBasic.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarBasic.tsx deleted file mode 100644 index a393ab469ce29f0d2342cf476cc72cea276498ff..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarBasic.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoAvatarBasic = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarBasic; - -const splittedCodeJS = `<Avatar - readOnly - src={"https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"} - alt="Isabella" -/>`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; - -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const BasicDemoAvatar = () => { - return <Avatar readOnly src={imageSrc} alt="Isabella" />; -}; -export default BasicDemoAvatar;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarFallBack.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarFallBack.tsx deleted file mode 100644 index 3af33160676aa6b9ae4ff0b38acccd3067d9e3bb..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarFallBack.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -interface CodeDemoAvatarPickFileProps {} -const CodeDemoAvatarFallBack: React.FC<CodeDemoAvatarPickFileProps> = ( - props: CodeDemoAvatarPickFileProps -) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarFallBack; - -const splittedCodeJS = `<Avatar - src={imageSource} - readOnly - onError={() => setImageSource(fallBackImage)} - alt="Avatar" -/> -<Avatar - src={imageSource2} - onError={() => setImageSource2(fallBackImage)} - onChange={(imgSource) => setImageSource2(imgSource)} - accept=".pdf, .png" - alt="Avatar2" -/>`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; - -const fallBackImage = - "https://static.vecteezy.com/system/resources/thumbnails/009/292/244/small/default-avatar-icon-of-social-media-user-vector.jpg"; - -export default function DemoAvatarFallBack = () => { - const [imageSource, setImageSource] = React.useState("broken/url"); - const [imageSource2, setImageSource2] = React.useState(undefined); - return ( - <> - <Avatar - src={imageSource} - readOnly - onError={() => setImageSource(fallBackImage)} - alt="Avatar" - /> - <Avatar - src={imageSource2} - onError={() => setImageSource2(fallBackImage)} - onChange={(imgSource) => setImageSource2(imgSource)} - accept=".pdf, .png" - alt="Avatar2" - /> - </> - ); -};`; - -const completeCodeTS = `import * as React from "react"; -import { Avatar, AvatarProps } from "@files-ui/react"; - -const fallBackImage = - "https://static.vecteezy.com/system/resources/thumbnails/009/292/244/small/default-avatar-icon-of-social-media-user-vector.jpg"; - -export default function DemoAvatarFallBack = () => { - const [imageSource, setImageSource] - = React.useState<AvatarProps["src"] | undefined>("/broken/url"); - const [imageSource2, setImageSource2] - = React.useState<AvatarProps["src"] | undefined>(undefined); - return ( - <> - <Avatar - src={imageSource} - readOnly - onError={() => setImageSource(fallBackImage)} - alt="Avatar" - /> - <Avatar - src={imageSource2} - onError={() => setImageSource2(fallBackImage)} - onChange={(imgSource) => setImageSource2(imgSource)} - accept=".pdf, .png" - alt="Avatar2" - /> - </> - ); -};`; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarLabels.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarLabels.tsx deleted file mode 100644 index b6ffa12d3405422a73096e8564171301a2e2a225..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarLabels.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoAvatarLabels = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarLabels; -const splittedCodeJS = `<Avatar - alt="Isabella" - emptyLabel={"You can choose an image..."} - onChange={() => {}} -/> -<Avatar - src={imageSrc} - alt="Isabella" - changeLabel={"Do you want to change this amazing picture?"} - onChange={() => {}} -/> -<Avatar - src={imageSrc} - alt="Isabella" - loadingLabel={"You can drink a cup of coffee in the meanwhile"} - isLoading={true} -/>`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const DemoAvatarLabels = () => { - return ( - <> - <Avatar - alt="Isabella" - emptyLabel={"You can choose an image..."} - onChange={() => {}} - /> - <Avatar - src={imageSrc} - alt="Isabella" - changeLabel={"Do you want to change this amazing picture?"} - onChange={() => {}} - /> - <Avatar - src={imageSrc} - alt="Isabella" - loadingLabel={"You can drink a cup of coffee in the meanwhile"} - isLoading={true} - /> - </> - ); -}; -export default DemoAvatarLabels;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarLoading.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarLoading.tsx deleted file mode 100644 index 2c0abf9534b511df8bdffa2c4209c0f5b62937e8..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarLoading.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -interface CodeDemoAvatarPickFileProps {} -const CodeDemoAvatarLoading: React.FC<CodeDemoAvatarPickFileProps> = ( - props: CodeDemoAvatarPickFileProps -) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarLoading; - -const splittedCodeJS = `<Avatar readOnly src={imageSrc} alt="Isabella" isLoading={true} />`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; - -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const DemoAvatarLoading = () => { - return <Avatar readOnly src={imageSrc} alt="Isabella" isLoading={true} />; -}; -export default DemoAvatarLoading;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarPickFile.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarPickFile.tsx deleted file mode 100644 index 0e7c0cbd31dc5a80e5cd34988fcbfe6227c29e12..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarPickFile.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -interface CodeDemoAvatarPickFileProps{} -const CodeDemoAvatarPickFile:React.FC<CodeDemoAvatarPickFileProps> = (props:CodeDemoAvatarPickFileProps) =>{ - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -} -export default CodeDemoAvatarPickFile; - - -const splittedCodeJS = `<Avatar src={imageSource} alt="Avatar" onChange={handleChangeSource} />`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; - -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -export default function DemoAvatarPickingFile = () => { - const [imageSource, setImageSource] = React.useState(imageSrc); - const handleChangeSource = (selectedFile) => { - setImageSource(selectedFile); - }; - return ( - <Avatar src={imageSource} alt="Avatar" onChange={handleChangeSource} /> - ); -};`; - -const completeCodeTS =`import * as React from "react"; -import { Avatar, AvatarProps } from "@files-ui/react"; - -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -export default function DemoAvatarPickingFile = () => { - const [imageSource, setImageSource] - = React.useState<AvatarProps["src"] | undefined>(imageSrc); - - const handleChangeSource = (selectedFile: File) => { - setImageSource(selectedFile); - }; - return ( - <Avatar src={imageSource} alt="Avatar" onChange={handleChangeSource} /> - ); -};`; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarSmartFit.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarSmartFit.tsx deleted file mode 100644 index 2b62e73fbb5dc1bd6d74f9b9de47447db5d9f778..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarSmartFit.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -interface CodeDemoAvatarPickFileProps {} -const CodeDemoAvatarSmartFit: React.FC<CodeDemoAvatarPickFileProps> = ( - props: CodeDemoAvatarPickFileProps -) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarSmartFit; - -const splittedCodeJS = `<Avatar src={landscapeImage} readOnly smartImgFit={false} /> -<Avatar src={landscapeImage} readOnly smartImgFit={"orientation"} /> -<Avatar src={landscapeImage} readOnly smartImgFit={"center"} /> - -<Avatar src={portraitImage} readOnly smartImgFit={false} /> -<Avatar src={portraitImage} readOnly smartImgFit={"orientation"} /> -<Avatar src={portraitImage} readOnly smartImgFit={"center"} />`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; -const landscapeImage = - "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif"; - -const portraitImage = - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif"; - -export default function DemoAvatarSmartImageFit = () => { - return ( - <> - <Avatar src={landscapeImage} readOnly smartImgFit={false} /> - <Avatar src={landscapeImage} readOnly smartImgFit={"orientation"} /> - <Avatar src={landscapeImage} readOnly smartImgFit={"center"} /> - - <Avatar src={portraitImage} readOnly smartImgFit={false} /> - <Avatar src={portraitImage} readOnly smartImgFit={"orientation"} /> - <Avatar src={portraitImage} readOnly smartImgFit={"center"} /> - </> - ); -};`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/CodeDemoAvatarStyling.tsx b/src/components/demo-components/avatar-demo/CodeDemoAvatarStyling.tsx deleted file mode 100644 index ec55ddd20f86b7863f6fef372b620cdc2cbc8cdd..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/CodeDemoAvatarStyling.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoAvatarStyling = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoAvatarStyling; - -const splittedCodeJS = `<Avatar - readOnly - src={imgSrc} - alt="Isabella" - style={{ width: "100px", height: "100px" }} -/> -<Avatar readOnly src={imgSrc} alt="Isabella" borderRadius={"50px"} />`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Avatar } from "@files-ui/react"; - -const DemoAvatarStyling = () => { - return ( - <Avatar - readOnly - src={imgSrc} - alt="Isabella" - style={{ width: "100px", height: "100px" }} - /> - <Avatar readOnly src={imgSrc} alt="Isabella" borderRadius={"50px"} /> - ); -}; -export default DemoAvatarStyling;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarFallBack.tsx b/src/components/demo-components/avatar-demo/DemoAvatarFallBack.tsx deleted file mode 100644 index eaf7727ebc99f1f7afbf8de7f097b462b74a8754..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DemoAvatarFallBack.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import * as React from "react"; -import { Avatar, AvatarProps } from "../../../files-ui"; -interface DemoAvatarFallBackProps {} -const fallBackImage = - "https://static.vecteezy.com/system/resources/thumbnails/009/292/244/small/default-avatar-icon-of-social-media-user-vector.jpg"; -const DemoAvatarFallBack: React.FC<DemoAvatarFallBackProps> = ( - props: DemoAvatarFallBackProps -) => { - const [imageSource, setImageSource] = React.useState< - AvatarProps["src"] | undefined - >("broken/url"); - const [imageSource2, setImageSource2] = React.useState< - AvatarProps["src"] | undefined - >(undefined); - - return ( - <> - <Avatar - src={imageSource} - readOnly - onError={() => setImageSource(fallBackImage)} - alt="Avatar" - /> - <Avatar - src={imageSource2} - onError={() => setImageSource2(fallBackImage)} - onChange={(imgSource) => setImageSource2(imgSource)} - accept=".pdf, .png" - alt="Avatar2" - /> - </> - ); -}; -export default DemoAvatarFallBack; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarLabels.tsx b/src/components/demo-components/avatar-demo/DemoAvatarLabels.tsx deleted file mode 100644 index 42e504b58c2354b2cb4a3822c91efd3af882ca9d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DemoAvatarLabels.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../../../files-ui"; -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const DemoAvatarLabels = () => { - return ( - <> - <Avatar - alt="Isabella" - emptyLabel={"You can choose an image..."} - onChange={() => {}} - /> - <Avatar - src={imageSrc} - alt="Isabella" - changeLabel={"Do you want to change this amazing picture?"} - onChange={() => {}} - /> - <Avatar - src={imageSrc} - alt="Isabella" - loadingLabel={"You can drink a cup of coffee in the meanwhile"} - isLoading={true} - /> - </> - ); -}; -export default DemoAvatarLabels; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarLoading.tsx b/src/components/demo-components/avatar-demo/DemoAvatarLoading.tsx deleted file mode 100644 index b37556ecabc01c1fe4e9bf339fdc03544d3e3f8a..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DemoAvatarLoading.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../../../files-ui"; - -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const DemoAvatarLoading = () => { - return <Avatar readOnly src={imageSrc} alt="Isabella" isLoading={true} />; -}; -export default DemoAvatarLoading; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarPickFile.tsx b/src/components/demo-components/avatar-demo/DemoAvatarPickFile.tsx deleted file mode 100644 index 77dfb70829db8c58d536836c67b9c04172345bb1..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DemoAvatarPickFile.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; -import { Avatar, AvatarProps } from "../../../files-ui"; -interface DemoAvatarPickFileProps {} -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; - -const DemoAvatarPickFile: React.FC<DemoAvatarPickFileProps> = ( - props: DemoAvatarPickFileProps -) => { - const [imageSource, setImageSource] = React.useState< - AvatarProps["src"] | undefined - >(imageSrc); - - const handleChangeSource = (selectedFile: File) => { - setImageSource(selectedFile); - }; - return ( - <Avatar src={imageSource} alt="Avatar" onChange={handleChangeSource} /> - ); -}; -export default DemoAvatarPickFile; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarStyling.tsx b/src/components/demo-components/avatar-demo/DemoAvatarStyling.tsx deleted file mode 100644 index c30ee9495530407d1415dc8ac533de0b658f6173..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DemoAvatarStyling.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../../../files-ui"; -const imgSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; -const DemoAvatarStyling = () => { - return ( - <> - <Avatar - readOnly - src={imgSrc} - alt="Isabella" - style={{ width: "100px", height: "100px" }} - /> - <Avatar readOnly src={imgSrc} alt="Isabella" borderRadius={"50px"} /> - </> - ); -}; -export default DemoAvatarStyling; diff --git a/src/components/demo-components/avatar-demo/DemoAvatarVarians.tsx b/src/components/demo-components/avatar-demo/DemoAvatarVarians.tsx deleted file mode 100644 index c0ae89cd361f3cecbd6d43a9b5935e102564d427..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DemoAvatarVarians.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../../../files-ui"; - -const imageSrc = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; -const DemoAvatarVariants = () => { - return ( - <> - <Avatar src={imageSrc} readOnly /> - <Avatar src={imageSrc} variant="circle" readOnly /> - </> - ); -}; -export default DemoAvatarVariants; diff --git a/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx b/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx deleted file mode 100644 index d90b41cb5e27653fb2862bc80648a187ce39bf62..0000000000000000000000000000000000000000 --- a/src/components/demo-components/avatar-demo/DmoAvatarSmartImgFit.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../../../files-ui"; -interface DemoAvatarFallBackProps {} - -const landscapeImage = - "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif"; - -const portraitImage = - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif"; - -const DemoAvatarSmartImgFit: React.FC<DemoAvatarFallBackProps> = ( - props: DemoAvatarFallBackProps -) => { - return ( - <> - <Avatar src={landscapeImage} readOnly smartImgFit={false} /> - <Avatar src={landscapeImage} readOnly smartImgFit={"orientation"} /> - <Avatar src={landscapeImage} readOnly smartImgFit={"center"} /> - - <Avatar src={portraitImage} readOnly smartImgFit={false} /> - <Avatar src={portraitImage} readOnly smartImgFit={"orientation"} /> - <Avatar src={portraitImage} readOnly smartImgFit={"center"} /> - </> - ); -}; -export default DemoAvatarSmartImgFit; diff --git a/src/components/demo-components/demo-component/DemoComponentContainer.scss b/src/components/demo-components/demo-component/DemoComponentContainer.scss deleted file mode 100644 index f7a945964c3bc694ea45e03c3dd3c63b543f392a..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-component/DemoComponentContainer.scss +++ /dev/null @@ -1,3 +0,0 @@ -.demo-component-container { - width: 100%; -} diff --git a/src/components/demo-components/demo-component/DemoComponentContainer.tsx b/src/components/demo-components/demo-component/DemoComponentContainer.tsx deleted file mode 100644 index bed5f382ff63878b02857fa1ac7793518b1a723e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-component/DemoComponentContainer.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import * as React from "react"; -import { DemoComponentContainerProps } from "./DemoComponentContainerProps"; - -const DemoComponentContainer:React.FC<DemoComponentContainerProps> = (props:DemoComponentContainerProps) =>{ - return( - <div> - - </div> - ) -} -export default DemoComponentContainer; \ No newline at end of file diff --git a/src/components/demo-components/demo-component/DemoComponentContainerProps.ts b/src/components/demo-components/demo-component/DemoComponentContainerProps.ts deleted file mode 100644 index a8c9dca424163cc16faab825cae10f2d766d44f4..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-component/DemoComponentContainerProps.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface DemoComponentContainerProps{ - -} \ No newline at end of file diff --git a/src/components/demo-components/demo-download/CodeDemoDownload.tsx b/src/components/demo-components/demo-download/CodeDemoDownload.tsx deleted file mode 100644 index 45f33e3bfba31d31fc0efd0553dd84e9a4c3bfb0..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-download/CodeDemoDownload.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoDownload1 = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDownload1; - -const splittedCodeJS = ``; -const splittedCodeTS = ``; - -const completeCodeJS = `import * as React from "react"; -import { FileCard, FileMosaic } from "@files-ui/react"; - -const outsideDownloadUrl = "https://steamuserimages-a.akamaihd.net/ugc/964219647714510750/C4D97B0E1ECCE3E8A505AFBC8EAD8945E2223C41/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"; - -const sampleFile = { - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor.jpeg", - imageUrl: outsideDownloadUrl, - downloadUrl: outsideDownloadUrl, -}; - -const DemoDownloadDifferentOriginDownloadUrl = () => { - return ( - <> - <FileMosaic id={4} {...sampleFile} /> - <FileCard id={4} {...sampleFile} /> - </> - ); -}; -export default DemoDownloadDifferentOriginDownloadUrl;`; - - -const completeCodeTS = `import * as React from "react"; -import { FileCard, FileMosaic, ExtFile } from "../../../files-ui"; - -const outsideDownloadUrl = "https://steamuserimages-a.akamaihd.net/ugc/964219647714510750/C4D97B0E1ECCE3E8A505AFBC8EAD8945E2223C41/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor.jpeg", - imageUrl: outsideDownloadUrl, - downloadUrl: outsideDownloadUrl, -}; - -const DemoDownloadDifferentOriginDownloadUrl = () => { - return ( - <> - <FileMosaic id={4} {...sampleFile} /> - <FileCard id={4} {...sampleFile} /> - </> - ); -}; -export default DemoDownloadDifferentOriginDownloadUrl;`; diff --git a/src/components/demo-components/demo-download/CodeDemoDownload1.tsx b/src/components/demo-components/demo-download/CodeDemoDownload1.tsx deleted file mode 100644 index c959332630c79ff9a10d158e56b5492a7e20ec33..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-download/CodeDemoDownload1.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoDownload1 = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDownload1; - -const splittedCodeJS = ``; -const splittedCodeTS = ``; - -const completeCodeJS = `import * as React from "react"; -import { FileCard, FileMosaic } from "@files-ui/react"; - -const sampleFile = { - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "NarutoAndSasukevsMomoshiiki.mp4", -}; - -const VIDEO_URL = "/videodemo/NarutoEN.mp4"; - -const DemoDownloadSameOrigin = () => { - return ( - <> - <FileMosaic id={4} {...sampleFile} downloadUrl={VIDEO_URL} /> - <FileCard id={4} {...sampleFile} downloadUrl={VIDEO_URL} /> - </> - ); -}; -export default DemoDownloadSameOrigin;`; - - -const completeCodeTS = `import * as React from "react"; -import { FileCard, FileMosaic, ExtFile } from "../../../files-ui"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "NarutoAndSasukevsMomoshiiki.mp4", -}; - -const VIDEO_URL = "/videodemo/NarutoEN.mp4"; - -const DemoDownloadSameOrigin = () => { - return ( - <> - <FileMosaic id={4} {...sampleFile} downloadUrl={VIDEO_URL} /> - <FileCard id={4} {...sampleFile} downloadUrl={VIDEO_URL} /> - </> - ); -}; -export default DemoDownloadSameOrigin;`; diff --git a/src/components/demo-components/demo-download/CodeDemoDownload3.tsx b/src/components/demo-components/demo-download/CodeDemoDownload3.tsx deleted file mode 100644 index 30624c9fcb95e3817f9c3bdf64ff85ef394a35a4..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-download/CodeDemoDownload3.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoDownload1 = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDownload1; - -const splittedCodeJS = ``; -const splittedCodeTS = ``; - -const completeCodeJS = `import * as React from "react"; -import { FileCard, FileMosaic } from "@files-ui/react"; - -const outsideDownloadUrl = - "https://steamuserimages-a.akamaihd.net/ugc/964219647714510750/C4D97B0E1ECCE3E8A505AFBC8EAD8945E2223C41/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"; - -const sampleFile = { - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor.jpeg", - imageUrl: outsideDownloadUrl, - downloadUrl: outsideDownloadUrl, -}; - -const DemoDownloadDifferentOriginOnDownload = () => { - const handleDownload = async (fileId, downloadUrl) => { - console.log("Download fileId", fileId); - console.log("Download downloadUrl", downloadUrl); - if (!downloadUrl) return; - try { - const image = await fetch(downloadUrl); - const imageBlob = await image.blob(); - const imageURL = URL.createObjectURL(imageBlob); - - const anchor = document.createElement("a"); - anchor.href = imageURL; - anchor.download = sampleFile.name || "newFile.jpeg"; - - document.body.appendChild(anchor); - anchor.click(); - document.body.removeChild(anchor); - URL.revokeObjectURL(imageURL); - } catch (error) { - console.log("Download error", error); - console.error(error); - } - }; - return ( - <> - <FileMosaic id={4} {...sampleFile} onDownload={handleDownload} /> - <FileCard id={4} {...sampleFile} onDownload={handleDownload} /> - </> - ); -}; -export default DemoDownloadDifferentOriginOnDownload;`; - - -const completeCodeTS = `import * as React from "react"; -import { FileCard, FileMosaic, ExtFile } from "../../../files-ui"; - -const outsideDownloadUrl = - "https://steamuserimages-a.akamaihd.net/ugc/964219647714510750/C4D97B0E1ECCE3E8A505AFBC8EAD8945E2223C41/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor.jpeg", - imageUrl: outsideDownloadUrl, - downloadUrl: outsideDownloadUrl, -}; - -const DemoDownloadDifferentOriginOnDownload = () => { - const handleDownload = async ( - fileId: string | number | undefined, - downloadUrl?: string | undefined - ) => { - console.log("Download fileId", fileId); - console.log("Download downloadUrl", downloadUrl); - if (!downloadUrl) return; - try { - const image = await fetch(downloadUrl); - const imageBlob = await image.blob(); - const imageURL = URL.createObjectURL(imageBlob); - - const anchor = document.createElement("a"); - anchor.href = imageURL; - anchor.download = sampleFile.name || "newFile.jpeg"; - - document.body.appendChild(anchor); - anchor.click(); - document.body.removeChild(anchor); - URL.revokeObjectURL(imageURL); - } catch (error) { - console.log("Download error", error); - console.error(error); - } - }; - return ( - <> - <FileMosaic id={4} {...sampleFile} onDownload={handleDownload} /> - <FileCard id={4} {...sampleFile} onDownload={handleDownload} /> - </> - ); -}; -export default DemoDownloadDifferentOriginOnDownload;`; diff --git a/src/components/demo-components/demo-download/DemoDownload1.tsx b/src/components/demo-components/demo-download/DemoDownload1.tsx deleted file mode 100644 index ce45e9e2639c5653636e55b49c01b13b870d2017..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-download/DemoDownload1.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; -import { FileCard, FileMosaic, ExtFile } from "../../../files-ui"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "NarutoAndSasukevsMomoshiiki.mp4", -}; - -const VIDEO_URL = "/videodemo/NarutoEN.mp4"; - -const DemoDownloadSameOrigin = () => { - return ( - <> - <FileMosaic id={4} {...sampleFile} downloadUrl={VIDEO_URL} /> - <FileCard id={4} {...sampleFile} downloadUrl={VIDEO_URL} /> - </> - ); -}; -export default DemoDownloadSameOrigin; diff --git a/src/components/demo-components/demo-download/DemoDownload2.tsx b/src/components/demo-components/demo-download/DemoDownload2.tsx deleted file mode 100644 index 91abeed6d408366d9cd9ec18ab33f6279d985bfb..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-download/DemoDownload2.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from "react"; -import { FileCard, FileMosaic, ExtFile } from "../../../files-ui"; - -const outsideDownloadUrl = "https://steamuserimages-a.akamaihd.net/ugc/964219647714510750/C4D97B0E1ECCE3E8A505AFBC8EAD8945E2223C41/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor.jpeg", - imageUrl: outsideDownloadUrl, - downloadUrl: outsideDownloadUrl, -}; - -const DemoDownloadDifferentOriginDownloadUrl = () => { - return ( - <> - <FileMosaic id={4} {...sampleFile} /> - <FileCard id={4} {...sampleFile} /> - </> - ); -}; -export default DemoDownloadDifferentOriginDownloadUrl; diff --git a/src/components/demo-components/demo-download/DemoDownload3.tsx b/src/components/demo-components/demo-download/DemoDownload3.tsx deleted file mode 100644 index 847d23b3783483cbac8885f44a4d251264cf9e9c..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-download/DemoDownload3.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import * as React from "react"; -import { FileCard, FileMosaic, ExtFile } from "../../../files-ui"; - -const outsideDownloadUrl = - "https://steamuserimages-a.akamaihd.net/ugc/964219647714510750/C4D97B0E1ECCE3E8A505AFBC8EAD8945E2223C41/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor.jpeg", - imageUrl: outsideDownloadUrl, - downloadUrl: outsideDownloadUrl, -}; - -const DemoDownloadDifferentOriginOnDownload = () => { - const handleDownload = async ( - fileId: string | number | undefined, - downloadUrl?: string | undefined - ) => { - console.log("Download fileId", fileId); - console.log("Download downloadUrl", downloadUrl); - if (!downloadUrl) return; - try { - const image = await fetch(downloadUrl); - const imageBlob = await image.blob(); - const imageURL = URL.createObjectURL(imageBlob); - - const anchor = document.createElement("a"); - anchor.href = imageURL; - anchor.download = sampleFile.name || "newFile.jpeg"; - - document.body.appendChild(anchor); - anchor.click(); - document.body.removeChild(anchor); - URL.revokeObjectURL(imageURL); - } catch (error) { - console.log("Download error", error); - console.error(error); - } - }; - return ( - <> - <FileMosaic id={4} {...sampleFile} onDownload={handleDownload} /> - <FileCard id={4} {...sampleFile} onDownload={handleDownload} /> - </> - ); -}; -export default DemoDownloadDifferentOriginOnDownload; diff --git a/src/components/demo-components/demo-server-side/CodeDemoServerSideExpress.tsx b/src/components/demo-components/demo-server-side/CodeDemoServerSideExpress.tsx deleted file mode 100644 index 440d97787e9845229b6f2244704efe52ec78fef3..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-server-side/CodeDemoServerSideExpress.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoServerSideExpress = ({ splittedOnly = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoServerSideExpress; - -const splittedCodeJS = `const express = require("express"); -const fileUpload = require("express-fileupload"); -// ... some code -app.post("/upload-my-file", async (req, res) => { - try { - if (!req.files) { - res.send({ - success: false, - message: "There was no file found in request", - payload: {}, - }); - } else { - //Use the name of the input field (i.e. "file") to retrieve the uploaded file - let file = req.files.file; - //Use the mv() method to place the file in upload directory (i.e. "uploads") - file.mv("./uploads/" + file.name); - //send response - res.send({ - success: true, - message: "File was uploaded successfuly", - payload: { - name: file.name, - mimetype: file.mimetype, - size: file.size, - path: "/files/uploads/", - url: "https://my-ftp-server.com/bjYJGFYgjfVGHVb", - }, - }); - } - } catch (err) { - res.status(500).send({ - status: false, - message: "Unexpected problem", - payload: {}, - }); - } -});`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = ``; - -const completeCodeTS = ``; diff --git a/src/components/demo-components/demo-server-side/CodeDemoServerSideJava.tsx b/src/components/demo-components/demo-server-side/CodeDemoServerSideJava.tsx deleted file mode 100644 index 7503537907e5c657de367d458ce8bf8172f03aa5..0000000000000000000000000000000000000000 --- a/src/components/demo-components/demo-server-side/CodeDemoServerSideJava.tsx +++ /dev/null @@ -1,152 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoServerSideJava = ({ splittedOnly = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoServerSideJava; - -const splittedCodeJS = `// FilesUiResponse.java -//...imports -public class FilesUiResponse { - Boolean success; - String message; - Object payload; -//..more code -} - -// FileUploadController.java -//...imports -@CrossOrigin(origins = "*") -@RestController -public class FileUploadController { - //..more code - @PostMapping("/file") - public ResponseEntity<FilesUiResponse> uploadFile( - @RequestParam("file") MultipartFile multipartFile - ) { - try { - FileItem resultFileItem = FileUploadUtil.saveFileInDir(multipartFile); - FilesUiResponse response = new FilesUiResponse( - true, - "Files upladed successfully", - resultFileItem); - return new ResponseEntity<>(response, HttpStatus.OK); - } catch (IOException ioe) { - FilesUiResponse response = new FilesUiResponse( - false, - "Error on upload", - null); - System.out.println(ioe.getMessage()); - return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR); - } - } - //... more code -} - -// FileUploadUtil.java -public class FileUploadUtil { - public static String UPLOAD_PATH = "Files-Upload"; - - public static FileItem saveFileInDir(MultipartFile multipartFile) throws IOException { - Path uploadDirectory = Paths.get(UPLOAD_PATH); - - String fileId = createUUID(); - String fileName = StringUtils.cleanPath(multipartFile.getOriginalFilename()); - - String extention = FileUploadUtil.getExtensionByStringHandling(fileName).get(); - - String finalFileName = createUUIDfileName(extention); - String mimeType = multipartFile.getContentType(); - - checkDircectoryIfExists(uploadDirectory); - long size = multipartFile.getSize(); - - - System.out.println("fileName: " + fileName); - System.out.println("newFIleName: " + finalFileName); - System.out.println("extention: " + extention); - System.out.println("size: " + size); - - try (InputStream inputStream = multipartFile.getInputStream()) { - Path filePath = uploadDirectory.resolve(fileName); - - Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING); - - FileItem finalFileItem = new FileItem( - fileId, - finalFileName, - size, - mimeType, - "./UPLOAD_PATH" - ); - - // add to database here... - - return finalFileItem; - } catch (IOException ioe) { - throw new IOException("Error on saving uploaded file: " + fileName, ioe); - } - } - public static String createUUID() { - UUID uuid = UUID.randomUUID(); - String fileId = uuid.toString(); - return fileId; - } - - public static String createUUIDfileName(String extention) { - return createUUID() + "." + extention; - } - - // more code... -} - -// FileItem.java -// ..imports -public class FileItem { - - public FileItem() { } - - public FileItem(String idFileItem, String name, long size, String mimeType, String path) { - this.idFileItem = idFileItem; - this.name = name; - this.size=size; - this.mimeType = mimeType; - this.path = path; - this.creationTime = new Date(); - this.status = true; - } - @JsonIgnore - private String idFileItem; - - private long size; - - @JsonProperty("type") - private String mimeType; - - private String name; - - @JsonIgnore - private String path; - - private Date creationTime; - - @JsonIgnore - private Boolean status; - - //more code... -} -`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = ``; - -const completeCodeTS = ``; diff --git a/src/components/demo-components/desc-paragraph/DescParagraph.tsx b/src/components/demo-components/desc-paragraph/DescParagraph.tsx deleted file mode 100644 index f65e7a6ed01739e0bf05bbd87a4ede7c8fa5693d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/desc-paragraph/DescParagraph.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { DescParagraphProps } from "./DescParagraphProps"; -import "./DescParagraphProps.scss"; -const DescParagraph: React.FC<DescParagraphProps> = ( - props: DescParagraphProps -) => { - const { content, children, margin, darkMode } = props; - return ( - <div className={darkMode?"paragraph-desc dark-mode":"paragraph-desc"} style={{ margin: margin }}> - {children || content} - </div> - ); -}; -export default DescParagraph; diff --git a/src/components/demo-components/desc-paragraph/DescParagraphProps.scss b/src/components/demo-components/desc-paragraph/DescParagraphProps.scss deleted file mode 100644 index 18a88260cdde29668d5817ee93a713d3f72e2bae..0000000000000000000000000000000000000000 --- a/src/components/demo-components/desc-paragraph/DescParagraphProps.scss +++ /dev/null @@ -1,23 +0,0 @@ -.paragraph-desc { - font-size: 1rem; - line-height: 1.565; - letter-spacing: 0; - font-weight: 400; - margin-bottom: 16px; - margin-top: 0; - // color: #1a2027; - word-break: break-word; - &.dark-mode{ - color: rgba(255, 255, 255, 0.7); - } - .code { - background-color: rgba(102, 178, 255, 0.15); - color: #1a2027; - padding: 0 5px; - display: inline-block; - font-size: 0.89rem; - direction: ltr; - font-weight: bolder; - border-radius: 4px; - } -} diff --git a/src/components/demo-components/desc-paragraph/DescParagraphProps.ts b/src/components/demo-components/desc-paragraph/DescParagraphProps.ts deleted file mode 100644 index 2475dd114cb547eb76d86edb6484b887ccc4702e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/desc-paragraph/DescParagraphProps.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type DescParagraphProps = { - content?: string; - children?: React.ReactNode; - margin?: string; - darkMode?: boolean; -} \ No newline at end of file diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx deleted file mode 100644 index aadbaaec013459db608ec9a0242ccbf2e5df3818..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx +++ /dev/null @@ -1,292 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const AdvancedDropzoneCodeJS = (props) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default AdvancedDropzoneCodeJS; - -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - minHeight="195px" - value={extFiles} - accept="image/*, video/*" - maxFiles={3} - maxFileSize={2 * 1024*1024} - label="Drag'n drop files here or click to browse" - uploadConfig={{ - // autoUpload: true - url: BASE_URL + "/file/28048465460", - cleanOnUpload: true, - }} - onUploadStart={handleStart} - onUploadFinish={handleFinish} - //fakeUpload - actionButtons={{ - position: "after", - abortButton: {}, - deleteButton: {}, - uploadButton: {}, - }} -> - {extFiles.map((file) => ( - <FileMosaic - {...file} - key={file.id} - onDelete={onDelete} - onSee={handleSee} - onWatch={handleWatch} - onAbort={handleAbort} - onCancel={handleCancel} - resultOnTooltip - preview - info - /> - ))} -</Dropzone> -<FullScreen - open={imageSrc !== undefined} - onClose={() => setImageSrc(undefined)} -> - <ImagePreview src={imageSrc} /> -</FullScreen> -<FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} -> - <VideoPreview src={videoSrc} autoPlay controls /> -</FullScreen>`; -const completeCodeJS = `import { - Dropzone, - FileMosaic, - FullScreen, - ImagePreview, - VideoPreview, -} from "@files-ui/react"; - -const BASE_URL = - "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503"; - -export default function AdvancedDropzoneDemo() { - const [extFiles, setExtFiles] = React.useState([]); - const [imageSrc, setImageSrc] = React.useState(undefined); - const [videoSrc, setVideoSrc] = React.useState(undefined); - - const updateFiles = (incommingFiles) => { - console.log("incomming files", incommingFiles); - setExtFiles(incommingFiles); - }; - const onDelete = (id) => { - setExtFiles(extFiles.filter((x) => x.id !== id)); - }; - const handleSee = (imageSource) => { - setImageSrc(imageSource); - }; - const handleWatch = (videoSource) => { - setVideoSrc(videoSource); - }; - const handleStart = (filesToUpload) => { - console.log("advanced demo start upload", filesToUpload); - }; - const handleFinish = (uploadedFiles) => { - console.log("advanced demo finish upload", uploadedFiles); - }; - const handleAbort = (id) => { - setExtFiles( - extFiles.map((ef) => { - if (ef.id === id) { - return { ...ef, uploadStatus: "aborted" }; - } else return { ...ef }; - }) - ); - }; - const handleCancel = (id) => { - setExtFiles( - extFiles.map((ef) => { - if (ef.id === id) { - return { ...ef, uploadStatus: undefined }; - } else return { ...ef }; - }) - ); - }; - return ( - <> - <Dropzone - onChange={updateFiles} - minHeight="195px" - value={extFiles} - accept="image/*, video/*" - maxFiles={3} - maxFileSize={2 * 1024*1024} - label="Drag'n drop files here or click to browse" - uploadConfig={{ - // autoUpload: true - url: BASE_URL + "/file/28048465460", - cleanOnUpload: true, - }} - onUploadStart={handleStart} - onUploadFinish={handleFinish} - //fakeUpload - actionButtons={{ - position: "after", - abortButton: {}, - deleteButton: {}, - uploadButton: {}, - }} - > - {extFiles.map((file) => ( - <FileMosaic - {...file} - key={file.id} - onDelete={onDelete} - onSee={handleSee} - onWatch={handleWatch} - onAbort={handleAbort} - onCancel={handleCancel} - resultOnTooltip - alwaysActive - preview - info - /> - ))} - </Dropzone> - <FullScreen - open={imageSrc !== undefined} - onClose={() => setImageSrc(undefined)} - > - <ImagePreview src={imageSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -}`; - -const completeCodeTS = `import { - Dropzone, - ExtFile, - FileMosaic, - FileMosaicProps, - FullScreen, - ImagePreview, - VideoPreview, - } from "@files-ui/react"; - - const BASE_URL = - "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503"; - -export default function AdvancedDropzoneDemo() { - const [extFiles, setExtFiles] = React.useState<ExtFile[]>([]); - const [imageSrc, setImageSrc] = React.useState<File | string | undefined>( - undefined - ); - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - const updateFiles = (incommingFiles: ExtFile[]) => { - console.log("incomming files", incommingFiles); - setExtFiles(incommingFiles); - }; - const onDelete = (id: FileMosaicProps["id"]) => { - setExtFiles(extFiles.filter((x) => x.id !== id)); - }; - const handleSee = (imageSource: File | string | undefined) => { - setImageSrc(imageSource); - }; - const handleWatch = (videoSource: File | string | undefined) => { - setVideoSrc(videoSource); - }; - const handleStart = (filesToUpload: ExtFile[]) => { - console.log("advanced demo start upload", filesToUpload); - }; - const handleFinish = (uploadedFiles: ExtFile[]) => { - console.log("advanced demo finish upload", uploadedFiles); - }; - const handleAbort = (id: FileMosaicProps["id"]) => { - setExtFiles( - extFiles.map((ef) => { - if (ef.id === id) { - return { ...ef, uploadStatus: "aborted" }; - } else return { ...ef }; - }) - ); - }; - const handleCancel = (id: FileMosaicProps["id"]) => { - setExtFiles( - extFiles.map((ef) => { - if (ef.id === id) { - return { ...ef, uploadStatus: undefined }; - } else return { ...ef }; - }) - ); - }; - return ( - <> - <Dropzone - onChange={updateFiles} - minHeight="195px" - value={extFiles} - maxFiles={3} - // FmaxFileSize={2998000 * 20} - label="Drag'n drop files here or click to browse" - // accept=".png,image/*, video/*" - uploadConfig={{ - // autoUpload: true - url: BASE_URL + "/file/28048465460", - cleanOnUpload: true, - }} - onUploadStart={handleStart} - onUploadFinish={handleFinish} - //fakeUpload - actionButtons={{ - position: "after", - abortButton: {}, - deleteButton: {}, - uploadButton: {}, - }} - > - {extFiles.map((file) => ( - <FileMosaic - {...file} - key={file.id} - onDelete={onDelete} - onSee={handleSee} - onWatch={handleWatch} - onAbort={handleAbort} - onCancel={handleCancel} - resultOnTooltip - alwaysActive - preview - info - /> - ))} - </Dropzone> - <FullScreen - open={imageSrc !== undefined} - onClose={() => setImageSrc(undefined)} - > - <ImagePreview src={imageSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -}`; -const splittedCodeTS = splittedCodeJS; diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.tsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.tsx deleted file mode 100644 index ed88efba1021abd5ea7adb757f2ef0332684890d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - ExtFile, - FileMosaic, - FileMosaicProps, - FullScreen, - ImagePreview, - VideoPreview, -} from "../../../files-ui"; - -const BASE_URL = - "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503"; - -export default function AdvancedDropzoneDemo() { - const [extFiles, setExtFiles] = React.useState<ExtFile[]>([]); - const [imageSrc, setImageSrc] = React.useState<File | string | undefined>( - undefined - ); - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - const updateFiles = (incommingFiles: ExtFile[]) => { - console.log("incomming files", incommingFiles); - setExtFiles(incommingFiles); - }; - const onDelete = (id: FileMosaicProps["id"]) => { - setExtFiles(extFiles.filter((x) => x.id !== id)); - }; - const handleSee = (imageSource: File | string | undefined) => { - setImageSrc(imageSource); - }; - const handleWatch = (videoSource: File | string | undefined) => { - setVideoSrc(videoSource); - }; - const handleStart = (filesToUpload: ExtFile[]) => { - console.log("advanced demo start upload", filesToUpload); - }; - const handleFinish = (uploadedFiles: ExtFile[]) => { - console.log("advanced demo finish upload", uploadedFiles); - }; - const handleAbort = (id: FileMosaicProps["id"]) => { - setExtFiles( - extFiles.map((ef) => { - if (ef.id === id) { - return { ...ef, uploadStatus: "aborted" }; - } else return { ...ef }; - }) - ); - }; - const handleCancel = (id: FileMosaicProps["id"]) => { - setExtFiles( - extFiles.map((ef) => { - if (ef.id === id) { - return { ...ef, uploadStatus: undefined }; - } else return { ...ef }; - }) - ); - }; - return ( - <> - <Dropzone - onChange={updateFiles} - minHeight="195px" - value={extFiles} - accept="image/*, video/*" - maxFiles={3} - maxFileSize={2 * 1024*1024} - label="Drag'n drop files here or click to browse" - // accept=".png,image/*, video/*" - uploadConfig={{ - // autoUpload: true - url: BASE_URL + "/file/28048465460", - cleanOnUpload: true, - }} - onUploadStart={handleStart} - onUploadFinish={handleFinish} - //fakeUpload - actionButtons={{ - position: "after", - abortButton: {}, - deleteButton: {}, - uploadButton: {}, - }} - > - {extFiles.map((file) => ( - <FileMosaic - {...file} - key={file.id} - onDelete={onDelete} - onSee={handleSee} - onWatch={handleWatch} - onAbort={handleAbort} - onCancel={handleCancel} - resultOnTooltip - preview - info - /> - ))} - </Dropzone> - <FullScreen - open={imageSrc !== undefined} - onClose={() => setImageSrc(undefined)} - > - <ImagePreview src={imageSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -} diff --git a/src/components/demo-components/dropzone-demo/BasicDropzoneCodeJS.jsx b/src/components/demo-components/dropzone-demo/BasicDropzoneCodeJS.jsx deleted file mode 100644 index c1576e5d498f067063262b6e6bd85835936cd28e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/BasicDropzoneCodeJS.jsx +++ /dev/null @@ -1,180 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const BasicDropzoneCode = ({ splittedOnly = false, button = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={button ? completeCodeJSButton : completeCodeJS} - codeCompleteTS={button ? completeCodeTSButton : completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/basic-demo-js-blssi1" - codeSandboxTS="https://codesandbox.io/s/basic-demo-js-blssi1" - codeSplittedJS={button ? splittedCodeJSButton : splittedCodeJS} - codeSplittedTS={button ? splittedCodeTSButton : splittedCodeTS} - /> - ); -}; -export default BasicDropzoneCode; - -const splittedCodeJSButton = `<FileInputButton onChange={updateFiles} value={files} /> - -{files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> -))}`; -const splittedCodeTSButton = `<FileInputButton onChange={updateFiles} value={files} /> - -{files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> -))}`; - -const completeCodeJSButton = `import { FileInputButton, FileCard } from "@files-ui/react"; -import * as React from "react"; - -export default function BasicDemoFileInputButton() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton onChange={updateFiles} value={files} /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); -}`; -const completeCodeTSButton = `import { FileInputButton, FileCard, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function BasicDemoFileInputButton() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: number | string | undefined) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton onChange={updateFiles} value={files} /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); -}`; - -////////// -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - value={files} -> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const splittedCodeTS = `<Dropzone - onChange={updateFiles} - value={files} -> - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info={true}/> - ))} -</Dropzone>`; -const completeCodeJS = `import { Dropzone,FileMosaic } from "@files-ui/react"; -import * as React from "react"; - -export default function BasicDemoDropzone() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}`; - -const completeCodeTS = `import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function BasicDemoDropzone() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info={true} /> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/BasicDropzoneDemo.jsx b/src/components/demo-components/dropzone-demo/BasicDropzoneDemo.jsx deleted file mode 100644 index 8285ea9377181bfa0268ebd956e9aa5455d9a30e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/BasicDropzoneDemo.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import { - Dropzone, - FileCard, - FileInputButton, - FileMosaic, -} from "../../../files-ui"; -import * as React from "react"; -export default function BasicDemoDropzone({ button }) { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - if (button) { - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton onChange={updateFiles} value={files} /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); - } - return ( - <Dropzone onChange={updateFiles} value={files}> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -} diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneActionButtons.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneActionButtons.jsx deleted file mode 100644 index 1c9e4015fc722a789d37376528855cbfeaddd82b..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneActionButtons.jsx +++ /dev/null @@ -1,282 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoActionButtons = ({ splittedOnly = false, button }) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoActionButtons; - -const splittedCodeJSButton = `<FileInputButton - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} -/> -{files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> -))}`; -const splittedCodeTSButton = `<FileInputButton - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} -/> -{files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> -))}`; -const completeCodeJSButton = `import { FileInputButton, FileCard } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> - ))} - </div> - )} - </div> - ); -}`; -const completeCodeTSButton = `import { FileInputButton, FileCard, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: number | string | undefined) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> - ))} - </div> - )} - </div> - ); -}`; - -///// - -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} -> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const splittedCodeTS = `<Dropzone - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} -> - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const completeCodeJS = `import * as React from "react"; -import { Dropzone, FileMosaic } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -};`; - -const completeCodeTS = `import * as React from "react"; -import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "bottom", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneBehaviour.tsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneBehaviour.tsx deleted file mode 100644 index a48d1107fe35c39d02b869ccefc9600440a61833..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneBehaviour.tsx +++ /dev/null @@ -1,376 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneBehaviour = ({ splittedOnly = false, button=false }) => { - if(button) return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneBehaviour; - -const splittedCodeJSButton = `<FileInputButton onChange={updateFilesAdd} value={filesAdd} label="add"/> - -{filesAdd.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFileAdd} info preview /> -))} - -<FileInputButton - onChange={updateFilesReplace} - value={filesReplace} - variant="outlined" - label="replace" - behaviour="replace" -/> -{filesReplace.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFileReplace} info preview /> -))}`; - -const splittedCodeTSButton = splittedCodeJSButton; -const completeCodeJSButton = `import * as React from "react"; -import { Dropzone, FileCard } from "@files-ui/react"; - -export default function App() { - const [filesAdd, setFilesAdd] = React.useState([]); - const [filesReplace, setFilesReplace] = React.useState([]); - - const updateFilesAdd = (incommingFiles) => { - setFilesAdd(incommingFiles); - }; - const updateFilesReplace = (incommingFiles) => { - setFilesReplace(incommingFiles); - }; - const removeFileAdd = (id) => { - setFilesAdd(filesAdd.filter((x) => x.id !== id)); - }; - const removeFileReplace = (id) => { - setFilesReplace(filesReplace.filter((x) => x.id !== id)); - }; - - return ( - <div style={mainContainerStyle}> - <div style={itemContainerStyle}> - <FileInputButton - onChange={updateFilesAdd} - value={filesAdd} - label="add" - /> - {filesAdd.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} - </div> - <div style={itemContainerStyle}> - <FileInputButton - onChange={updateFilesReplace} - value={filesReplace} - variant="outlined" - label="replace" - behaviour="replace" - /> - {filesReplace.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} - </div> - </div> - ); -}; - -const mainContainerStyle = { - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - width: "100%", -}; -const itemContainerStyle = { - display: "flex", - flexDirection: "column", - minWidth: "40%", - gap: "5px", - alignItems: "center", -};`; - -const completeCodeTSButton = `import * as React from "react"; -import { FileInputButton, ExtFile, FileCard, FileCardProps } from "@files-ui/react"; - -export default function App() { - const [filesAdd, setFilesAdd] = React.useState<ExtFile[]>([]); - const [filesReplace, setFilesReplace] = React.useState<ExtFile[]>([]); - - const updateFilesAdd = (incommingFiles:ExtFile[]) => { - setFilesAdd(incommingFiles); - }; - const updateFilesReplace = (incommingFiles:ExtFile[]) => { - setFilesReplace(incommingFiles); - }; - const removeFileAdd = (id:FileCardProps["id"]) => { - setFilesAdd(filesAdd.filter((x) => x.id !== id)); - }; - const removeFileReplace = (id:FileCardProps["id"]) => { - setFilesReplace(filesReplace.filter((x) => x.id !== id)); - }; - - return ( - <div style={mainContainerStyle}> - <div style={itemContainerStyle}> - <FileInputButton - onChange={updateFilesAdd} - value={filesAdd} - label="add" - /> - {filesAdd.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} - </div> - <div style={itemContainerStyle}> - <FileInputButton - onChange={updateFilesReplace} - value={filesReplace} - variant="outlined" - label="replace" - behaviour="replace" - /> - {filesReplace.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} - </div> - </div> - ); -}; - -const mainContainerStyle: React.CSSProperties = { - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - width: "100%", -}; -const itemContainerStyle: React.CSSProperties = { - display: "flex", - flexDirection: "column", - minWidth: "40%", - gap: "5px", - alignItems: "center", -};`; - - - - -////// -const splittedCodeJS = `<Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesAdd} - value={filesAdd} - label="Dropzone with behaviour=add" - behaviour={"add"} -> - {filesAdd.length > 0 && - filesAdd.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} -</Dropzone> -<Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesReplace} - value={filesReplace} - label="Dropzone with behaviour=replace" - behaviour={"replace"} -> - {filesReplace.length > 0 && - filesReplace.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} -</Dropzone>`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Dropzone, FileMosaic } from "@files-ui/react"; - -const DemoDropzoneBehaviour = () => { - const [filesAdd, setFilesAdd] = React.useState([]); - const [filesReplace, setFilesReplace] = React.useState([]); - - const updateFilesAdd = (incommingFiles) => { - setFilesAdd(incommingFiles); - }; - const updateFilesReplace = (incommingFiles) => { - setFilesReplace(incommingFiles); - }; - const removeFileAdd = (id) => { - setFilesAdd(filesAdd.filter((x) => x.id !== id)); - }; - const removeFileReplace = (id) => { - setFilesReplace(filesReplace.filter((x) => x.id !== id)); - }; - - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesAdd} - value={filesAdd} - label="Dropzone with behaviour=add" - behaviour={"add"} - > - {filesAdd.length > 0 && - filesAdd.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} - </Dropzone> - <Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesReplace} - value={filesReplace} - label="Dropzone with behaviour=replace" - behaviour={"replace"} - > - {filesReplace.length > 0 && - filesReplace.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneBehaviour;`; - -const completeCodeTS = `import * as React from "react"; -import { Dropzone, ExtFile, FileMosaic, FileMosaicProps } from "@files-ui/react"; - -const DemoDropzoneBehaviour = () => { - const [filesAdd, setFilesAdd] = React.useState<ExtFile[]>([]); - const [filesReplace, setFilesReplace] = React.useState<ExtFile[]>([]); - - const updateFilesAdd = (incommingFiles:ExtFile[]) => { - setFilesAdd(incommingFiles); - }; - const updateFilesReplace = (incommingFiles:ExtFile[]) => { - setFilesReplace(incommingFiles); - }; - const removeFileAdd = (id:FileMosaicProps["id"]) => { - setFilesAdd(filesAdd.filter((x) => x.id !== id)); - }; - const removeFileReplace = (id:FileMosaicProps["id"]) => { - setFilesReplace(filesReplace.filter((x) => x.id !== id)); - }; - - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesAdd} - value={filesAdd} - label="Dropzone with behaviour=add" - behaviour={"add"} - > - {filesAdd.length > 0 && - filesAdd.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} - </Dropzone> - <Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesReplace} - value={filesReplace} - label="Dropzone with behaviour=replace" - behaviour={"replace"} - > - {filesReplace.length > 0 && - filesReplace.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneBehaviour;`; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneClickable.tsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneClickable.tsx deleted file mode 100644 index db3c823a30aa8f5cd3374f30dc6ad39f573e026d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneClickable.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneClickable = ({ splittedOnly = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneClickable; - -const splittedCodeJS = `<Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> -<Dropzone style={{ width: "300px" }} clickable={false}> - {/**Files */} -</Dropzone>`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Dropzone } from "@files-ui/react"; - -const DemoDropzoneRipple = () => { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} clickable={false}> - {/**Files */} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneRipple;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneCustomValidation.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneCustomValidation.jsx deleted file mode 100644 index 6f36973e274fb59b45799fa4e2bae68dbe887142..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneCustomValidation.jsx +++ /dev/null @@ -1,249 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneCustomValidation = ({ - splittedOnly = false, - button = false, -}) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneCustomValidation; - -const splittedCodeJSButton = ``; -const splittedCodeTSButton = ``; -const completeCodeJSButton = `import { FileInputButton, FileCard } from "@files-ui/react"; -import * as React from "react"; - -//validate files -// file name must start with the following prefix: "test_file" -// (e.g. a valid file name could be "test_file_photo.png") -const myOwnValidation = (file) => { - let errorList= []; - let validResult = true; - const regExPrefix = /\\btest_file\\w+/; - if (!file.name.match(regExPrefix)) { - validResult = false; - errorList.push('Prefix "test_file" was not present in the file name'); - } - return { valid: validResult, errors: errorList }; -}; -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={280 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); -}`; -const completeCodeTSButton = - `import { FileInputButton, FileCard, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -//validate files -// file name must start with the following prefix: "test_file" -// (e.g. a valid file name could be "test_file_photo.png") -const myOwnValidation = (file: File): ValidateFileResponse => { - let errorList: string[] = []; - let validResult: boolean = true; - ` + - // eslint-disable-next-line - `const regExPrefix: RegExp = /\btest_file\w+/; - if (!file.name.match(regExPrefix)) { - validResult = false; - errorList.push('Prefix "test_file" was not present in the file name'); - } - return { valid: validResult, errors: errorList }; -}; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: number | string | undefined) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={280 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); -}`; - -///// - -const splittedCodeJS = ``; -const splittedCodeTS = ``; -const completeCodeJS = `import { Dropzone, FileMosaic } from "@files-ui/react"; -import * as React from "react"; - -//validate files -// file name must start with the following prefix: "test_file" -// (e.g. a valid file name could be "test_file_photo.png") -const myOwnValidation = (file) => { - let errorList= []; - let validResult = true; - const regExPrefix = /\\btest_file\\w+/; - if (!file.name.match(regExPrefix)) { - validResult = false; - errorList.push('Prefix "test_file" was not present in the file name'); - } - return { valid: validResult, errors: errorList }; -}; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - cleanFiles - validator={myOwnValidation} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}`; - -const completeCodeTS = `import { Dropzone, FileMosaic, ExtFile, ValidateFileResponse } from "@files-ui/react"; -import * as React from "react"; - -//validate files -// file name must start with the following prefix: "test_file" -// (e.g. a valid file name could be "test_file_photo.png") -const myOwnValidation = (file: File): ValidateFileResponse => { - let errorList: string[] = []; - let validResult: boolean = true; - const regExPrefix: RegExp = /\\btest_file\\w+/; - if (!file.name.match(regExPrefix)) { - validResult = false; - errorList.push('Prefix "test_file" was not present in the file name'); - } - return { valid: validResult, errors: errorList }; -}; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - cleanFiles - validator={myOwnValidation} - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info={true} /> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneDisabled.tsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneDisabled.tsx deleted file mode 100644 index 67fd4ef5b12ea4d98b288e683c52834f0f1c8d17..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneDisabled.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneDisabled = ({ splittedOnly = false, button = false }) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneDisabled; - - - -const splittedCodeJSButton = `<FileInputButton>{"input enabled"}</FileInputButton> -<FileInputButton disabled>{"input disabled"}</FileInputButton>`; -const splittedCodeTSButton = splittedCodeJSButton; -const completeCodeJSButton = `import { FileInputButton } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <FileInputButton>{"input enabled"}</FileInputButton> - <FileInputButton disabled>{"input disabled"}</FileInputButton> - </div> - ); -}`; -const completeCodeTSButton = completeCodeJSButton; - -///// - - -const splittedCodeJS = `<Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> -<Dropzone style={{ width: "300px" }} disabled> - {"Dropzone is disabled"} - {/**Files */} -</Dropzone>`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Dropzone } from "@files-ui/react"; - -const DemoDropzoneDisabled = () => { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} disabled> - {"Dropzone is disabled"} - {/**Files */} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneDisabled;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneDropLayer.tsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneDropLayer.tsx deleted file mode 100644 index 1a9fff8892afba49bf04cc16b6d2651d83030a18..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneDropLayer.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneDropLayer = ({ splittedOnly = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneDropLayer; - -const splittedCodeJS = `<Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> -<Dropzone style={{ width: "300px" }} dropOnLayer={false}> - {/**Files */} -</Dropzone>`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Dropzone } from "@files-ui/react"; - -const DemoDropzoneRipple = () => { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} dropOnLayer={false}> - {/**Files */} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneRipple;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneFooterConfig.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneFooterConfig.jsx deleted file mode 100644 index b3204ff92b26c1b801ed73736941553bed426490..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneFooterConfig.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneFooterConfig = ({ splittedOnly = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneFooterConfig; - -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - value={files} - footerConfig={{ customMessage: "This is a custom message..." }} -> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const splittedCodeTS = `<Dropzone - onChange={updateFiles} - value={files} - footerConfig={{ customMessage: "This is a custom message..." }} -> - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const completeCodeJS = `import * as React from "react"; -import { Dropzone, FileMosaic } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - footerConfig={{ customMessage: "This is a custom message..." }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -};`; - -const completeCodeTS = `import * as React from "react"; -import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - footerConfig={{ customMessage: "This is a custom message..." }} - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneHeaderConfig.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneHeaderConfig.jsx deleted file mode 100644 index 126005c8f79dc4c1ccdee7b626ab451101f5a209..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneHeaderConfig.jsx +++ /dev/null @@ -1,137 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneHeaderConfig = ({ splittedOnly = false }) => { - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneHeaderConfig; - -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - value={files} - headerConfig={{ - customHeader: ( - <div style={{ display: "flex", justifyContent: "flex-end" }}> - <button - style={{ backgroundColor: "teal", color: "white" }} - onClick={removeAllFiles} - > - delete files - </button> - </div> - ), - }} -> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const splittedCodeTS = `<Dropzone - onChange={updateFiles} - value={files} - headerConfig={{ - customHeader: ( - <div style={{ display: "flex", justifyContent: "flex-end" }}> - <button - style={{ backgroundColor: "teal", color: "white" }} - onClick={removeAllFiles} - > - delete files - </button> - </div> - ), - }} -> - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const completeCodeJS = `import * as React from "react"; -import { Dropzone, FileMosaic } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const removeAllFiles = (evt) => { - evt.stopPropagation(); - setFiles([]); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - headerConfig={{ - customHeader: ( - <div style={{ display: "flex", justifyContent: "flex-end" }}> - <button - style={{ backgroundColor: "teal", color: "white" }} - onClick={removeAllFiles} - > - delete files - </button> - </div> - ), - }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -};`; - -const completeCodeTS = `import * as React from "react"; -import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - const removeAllFiles = (evt) => { - evt.stopPropagation(); - setFiles([]); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - headerConfig={{ - customHeader: ( - <div style={{ display: "flex", justifyContent: "flex-end" }}> - <button - style={{ backgroundColor: "teal", color: "white" }} - onClick={removeAllFiles} - > - delete files - </button> - </div> - ), - }} - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneRipple.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneRipple.jsx deleted file mode 100644 index 0c168bc0a6f9c2ec317d62b5ed122f3905ced177..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneRipple.jsx +++ /dev/null @@ -1,81 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneRipple = ({ splittedOnly = false, button = false }) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneRipple; - -const splittedCodeJSButton = `<FileInputButton>{"ripple enabled"}</FileInputButton> -<FileInputButton disableRipple>{"ripple disabled"}</FileInputButton>`; -const splittedCodeTSButton = splittedCodeJSButton; -const completeCodeJSButton = `import { FileInputButton } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <FileInputButton>{"ripple enabled"}</FileInputButton> - <FileInputButton disableRipple>{"ripple disabled"}</FileInputButton> - </div> - ); -}`; -const completeCodeTSButton = completeCodeJSButton; - -///// -const splittedCodeJS = `<Dropzone style={{ width: "300px" }}>{"ripple enabled"}</Dropzone> -<Dropzone style={{ width: "300px" }} disableRipple> - {"ripple disabled"} -</Dropzone>`; - -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Dropzone } from "@files-ui/react"; - -const DemoDropzoneRipple = () => { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{"ripple enabled"}</Dropzone> - <Dropzone style={{ width: "300px" }} disableRipple> - {"ripple disabled"} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneRipple;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneUploading.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneUploading.jsx deleted file mode 100644 index 5033cfb09ae48ffe3826f13cfdf3a87e26a92f5e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneUploading.jsx +++ /dev/null @@ -1,345 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneUploading = ({ - splittedOnly = false, - button = false, -}) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneUploading; - -const splittedCodeJSButton = `<FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={2} - actionButtons={{ - position: "bottom", - uploadButton: {}, - abortButton: {}, - }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload -/> -{files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> -))}`; -const splittedCodeTSButton = `<FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={2} - actionButtons={{ - position: "bottom", - uploadButton: {}, - abortButton: {}, - }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload -/> -{files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> -))}`; -const completeCodeJSButton = `import { FileInputButton, FileCard } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const handleFinishUpload=(uploadedFiles)=>{ - console.log("Upload has finished", uploadedFiles); - } - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={2} - actionButtons={{ - position: "bottom", - uploadButton: {}, - abortButton: {}, - }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> - ))} - </div> - )} - </div> - ); -}`; -const completeCodeTSButton = `import { FileInputButton, FileCard, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: number | string | undefined) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const handleFinishUpload=(uploadedFiles:ExtFile[])=>{ - console.log("Upload has finished", uploadedFiles); - } - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={2} - actionButtons={{ - position: "bottom", - uploadButton: {}, - abortButton: {}, - }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info preview/> - ))} - </div> - )} - </div> - ); -}`; - -///// - -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024*1024} - maxFiles={2} - actionButtons={{ position: "bottom", uploadButton: {}, abortButton: {} }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload -> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info preview/> - ))} -</Dropzone>`; -const splittedCodeTS = `<Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024*1024} - maxFiles={2} - actionButtons={{ position: "bottom", uploadButton: {}, abortButton: {} }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload -> - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info preview/> - ))} -</Dropzone>`; -const completeCodeJS = `import { Dropzone,FileMosaic } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024*1024} - maxFiles={2} - actionButtons={{ position: "bottom", uploadButton: {}, abortButton: {} }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - fakeUpload - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info preview/> - ))} - </Dropzone> - ); -}`; - -const completeCodeTS = `import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024*1024} - maxFiles={2} - actionButtons={{ position: "bottom", uploadButton: {}, abortButton: {} }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - fakeUpload - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info preview/> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneValidation.jsx b/src/components/demo-components/dropzone-demo/CodeDemoDropzoneValidation.jsx deleted file mode 100644 index 5b372d464080d5cc2c3078f87cf2309a2ccc16e6..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDemoDropzoneValidation.jsx +++ /dev/null @@ -1,236 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneValidation = ({ splittedOnly = false, button=false }) => { - if(button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneValidation; -const splittedCodeJSButton = `<FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} -/> -{files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> -))}`; -const splittedCodeTSButton = `<FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} -/> -{files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> -))}`; -const completeCodeJSButton =`import { FileInputButton, FileCard } from "@files-ui/react"; -import * as React from "react"; - -export default function DemoFileInputButtonValidation() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); -}`; -const completeCodeTSButton = `import { FileInputButton, FileCard, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function BasicDemoFileInputButton() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: number | string | undefined) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file: ExtFile) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); -}`; - -///// -const splittedCodeJS = `<Dropzone - onChange={updateFiles} - value={files} - accept="image/*" - maxFileSize={28 * 1024} - maxFiles={2} - //cleanFiles - actionButtons={{ position: "bottom", cleanButton: {} }} -> - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info/> - ))} -</Dropzone>`; -const splittedCodeTS = `<Dropzone - onChange={updateFiles} - value={files} - accept="image/*" - maxFileSize={28 * 1024} - maxFiles={2} - //cleanFiles - actionButtons={{ position: "bottom", cleanButton: {} }} -> - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info={true}/> - ))} -</Dropzone>`; -const completeCodeJS = `import { Dropzone, FileMosaic } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept="image/*" - maxFileSize={28 * 1024} - maxFiles={2} - //cleanFiles - actionButtons={{ position: "bottom", cleanButton: {} }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}`; - -const completeCodeTS = `import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept="image/*" - maxFileSize={28 * 1024} - maxFiles={2} - //cleanFiles - actionButtons={{ position: "bottom", cleanButton: {} }} - > - {files.map((file:ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info={true} /> - ))} - </Dropzone> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/CodeDropzoneDemoLabel.tsx b/src/components/demo-components/dropzone-demo/CodeDropzoneDemoLabel.tsx deleted file mode 100644 index 41c9dc54d71c68a736e6ba1db4ac73c62c06be9d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDropzoneDemoLabel.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneLabel = ({ splittedOnly = false, button = false }) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneLabel; - -const splittedCodeJSButton = `<FileInputButton/> -<FileInputButton>{"Label as children"}</FileInputButton> -<FileInputButton label={"Files ui ❤️"}/>`; -const splittedCodeTSButton = splittedCodeJSButton; -const completeCodeJSButton = `import { FileInputButton } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <FileInputButton/> - <FileInputButton>{"Label as children"}</FileInputButton> - <FileInputButton label={"Files ui ❤️"}/> - </div> - ); -}`; -const completeCodeTSButton = completeCodeJSButton; - -///// - -const splittedCodeJS = `<Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> -<Dropzone - style={{ width: "300px" }} - label={"Files ui ❤️"} -> - {/**Files */} -</Dropzone>`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = `import * as React from "react"; -import { Dropzone } from "@files-ui/react"; - -const DemoDropzoneLabel = () => { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone - style={{ width: "300px" }} - label={"Files ui ❤️"} - > - {/**Files */} - </Dropzone> - </div> - ); - }; - export default DemoDropzoneLabel;`; - -const completeCodeTS = completeCodeJS; diff --git a/src/components/demo-components/dropzone-demo/CodeDropzoneDemoStyling.jsx b/src/components/demo-components/dropzone-demo/CodeDropzoneDemoStyling.jsx deleted file mode 100644 index ddf64a75be3b828efef0fcde3b23cc3043b2fac1..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/CodeDropzoneDemoStyling.jsx +++ /dev/null @@ -1,215 +0,0 @@ -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; -const CodeDemoDropzoneStyling = ({ splittedOnly = false, button }) => { - if (button) - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJSButton} - codeCompleteTS={completeCodeTSButton} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSButton} - codeSplittedTS={splittedCodeTSButton} - /> - ); - return ( - <ShowDemoCode - splittedOnly={splittedOnly} - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoDropzoneStyling; - -const splittedCodeJSButton = `<FileInputButton>Default color</FileInputButton> -<FileInputButton color="#6200EE">color="#6200EE"</FileInputButton> - -<FileInputButton textColor="teal" color="aliceblue"> - textColor="teal" -</FileInputButton> - -<FileInputButton>{"Contained"}</FileInputButton> -<FileInputButton variant="outlined">outlined</FileInputButton> -<FileInputButton variant="text">{"Text"}</FileInputButton> - -<FileInputButton textTransform="uppercase"> - {"Text transform uppercase"} -</FileInputButton> -<FileInputButton textTransform="capitalize"> - {"Text transform capitalize"} -</FileInputButton> -<FileInputButton textTransform="lowercase"> - {"Text transform LOWERCASE"} -</FileInputButton> -<FileInputButton textTransform="none"> - {"Text transform unset"} -</FileInputButton>`; -const splittedCodeTSButton = splittedCodeJSButton; -const completeCodeJSButton = `import { FileInputButton } from "@files-ui/react"; -import * as React from "react"; - -export default function App() { - return ( - <div - style={{ - display: "flex", - justifyContent: "center", - flexDirection: "column", - gap: "20px", - }} - > - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton>Default color</FileInputButton> - <FileInputButton color="#6200EE">color="#6200EE"</FileInputButton> - </div> - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton textColor="teal" color="aliceblue"> - textColor="teal" - </FileInputButton> - </div> - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton>{"Contained"}</FileInputButton> - <FileInputButton variant="outlined">outlined</FileInputButton> - <FileInputButton variant="text">{"Text"}</FileInputButton> - </div> - - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton textTransform="uppercase"> - {"Text transform uppercase"} - </FileInputButton> - <FileInputButton textTransform="capitalize"> - {"Text transform capitalize"} - </FileInputButton> - <FileInputButton textTransform="lowercase"> - {"Text transform LOWERCASE"} - </FileInputButton> - <FileInputButton textTransform="none"> - {"Text transform unset"} - </FileInputButton> - </div> - </div> - ); -}`; -const completeCodeTSButton = completeCodeJSButton; - -///// - -const splittedCodeJS = `<Dropzone color="#6200EE">{/** files */}</Dropzone> -<Dropzone - minHeight="120px" - header={false} - footer={false} -> - {/** files */} -</Dropzone> -<Dropzone - background="radial-gradient(circle at 18.7% 37.8%, rgb(250, 250, 250) 0%, rgb(225, 234, 238) 90%);" -> - {/** files */} -</Dropzone>`; -const splittedCodeTS = `<Dropzone color="#6200EE">{/** files */}</Dropzone> -<Dropzone - minHeight="120px" - header={false} - footer={false} -> - {/** files */} -</Dropzone> -<Dropzone - background="radial-gradient(circle at 18.7% 37.8%, rgb(250, 250, 250) 0%, rgb(225, 234, 238) 90%);" -> - {/** files */} -</Dropzone>`; -const completeCodeJS = `import * as React from "react"; -import { Dropzone } from "@files-ui/react"; - -export default function App() { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "20px", - flexWrap: "wrap", - alignItems:"flex-start" - }} - > - <Dropzone - style={{ width: "300px" }} - onChange={updateFiles} - value={files} - color="#6200EE" - > - {/** Files*/} - </Dropzone> - <Dropzone - style={{ width: "300px" }} - minHeight="120px" - header={false} - footer={false} - > - {/** Files*/} - </Dropzone> - <Dropzone - style={{ width: "300px" }} - background="radial-gradient(circle at 18.7% 37.8%, rgb(250, 250, 250) 0%, rgb(225, 234, 238) 90%);" - > - {/** Files*/} - </Dropzone> - </div> - ); -};`; - -const completeCodeTS = `import * as React from "react"; -import { Dropzone, FileMosaic, ExtFile } from "@files-ui/react"; - -export default function App() { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles:ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: string | number | undefined) => { - setFiles(files.filter((x: ExtFile) => x.id !== id)); - }; - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "20px", - flexWrap: "wrap", - alignItems:"flex-start" - }} - > - <Dropzone - style={{ width: "300px" }} - color="#6200EE" - > - {/** Files*/} - </Dropzone> - <Dropzone - style={{ width: "300px" }} - minHeight="120px" - header={false} - footer={false} - > - {/** Files*/} - </Dropzone> - <Dropzone - style={{ width: "300px" }} - onChange={updateFiles} - value={files} - background="radial-gradient(circle at 18.7% 37.8%, rgb(250, 250, 250) 0%, rgb(225, 234, 238) 90%);" - > - {/** Files*/} - </Dropzone> - </div> - ); -}`; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneActionButtons.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneActionButtons.jsx deleted file mode 100644 index f59e7e79dbc5ba38c4759f3622ee7fd123674635..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneActionButtons.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileCard, FileInputButton, FileMosaic } from "../../../files-ui"; - -const DemoActionButtons = ({ button }) => { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - - if (button) - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "after", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent: "center", - flexWrap: "wrap", - gap: "5px", - minWidth: "50%", - }} - > - {files.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFile} - info - preview - /> - ))} - </div> - )} - </div> - ); - return ( - <Dropzone - onChange={updateFiles} - value={files} - autoClean - uploadConfig={{ url: "https://www.myawsomeserver.com/upload" }} - fakeUpload - actionButtons={{ - position: "after", - uploadButton: { style: { textTransform: "uppercase" } }, - abortButton: {}, - cleanButton: {}, - deleteButton: {}, - }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}; -export default DemoActionButtons; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneBehaviour.tsx b/src/components/demo-components/dropzone-demo/DemoDropzoneBehaviour.tsx deleted file mode 100644 index c260d4259d653b92e888ea1cadf641b0d8d27448..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneBehaviour.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - ExtFile, - FileCard, - FileCardProps, - FileInputButton, - FileMosaic, - //FileMosaicProps, -} from "../../../files-ui"; - -const mainContainerStyle: React.CSSProperties = { - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - width: "100%", -}; -const itemContainerStyle: React.CSSProperties = { - display: "flex", - flexDirection: "column", - minWidth: "40%", - gap: "5px", - alignItems: "center", -}; - -const DemoDropzoneBehaviour = ({ button = false }) => { - const [filesAdd, setFilesAdd] = React.useState<ExtFile[]>([]); - const [filesReplace, setFilesReplace] = React.useState<ExtFile[]>([]); - - const updateFilesAdd = (incommingFiles: ExtFile[]) => { - setFilesAdd(incommingFiles); - }; - const updateFilesReplace = (incommingFiles: ExtFile[]) => { - setFilesReplace(incommingFiles); - }; - const removeFileAdd = (id: FileCardProps["id"]) => { - setFilesAdd(filesAdd.filter((x) => x.id !== id)); - }; - const removeFileReplace = (id: FileCardProps["id"]) => { - setFilesReplace(filesReplace.filter((x) => x.id !== id)); - }; - if (button) - return ( - <div style={mainContainerStyle}> - <div style={itemContainerStyle}> - <FileInputButton - onChange={updateFilesAdd} - value={filesAdd} - label="add" - /> - {filesAdd.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} - </div> - <div style={itemContainerStyle}> - <FileInputButton - onChange={updateFilesReplace} - value={filesReplace} - variant="outlined" - label="replace" - behaviour="replace" - /> - {filesReplace.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} - </div> - </div> - ); - return ( - <div style={mainContainerStyle}> - <Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesAdd} - value={filesAdd} - label="Dropzone with behaviour=add" - behaviour={"add"} - > - {filesAdd.length > 0 && - filesAdd.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileAdd} - info - preview - /> - ))} - </Dropzone> - <Dropzone - style={{ width: "min(100% , 420px)" }} - onChange={updateFilesReplace} - value={filesReplace} - label="Dropzone with behaviour=replace" - behaviour={"replace"} - > - {filesReplace.length > 0 && - filesReplace.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFileReplace} - info - preview - /> - ))} - </Dropzone> - </div> - ); -}; -export default DemoDropzoneBehaviour; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneClickable.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneClickable.jsx deleted file mode 100644 index 4037a97d7d8751f753165eddec07b888d6e178cd..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneClickable.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; -import { Dropzone } from "../../../files-ui"; - -const DemoDropzoneClickable = (props) => { - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} clickable={false}> - {/**Files */} - </Dropzone> - </div> - ); -}; -export default DemoDropzoneClickable; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneCustomValidation.tsx b/src/components/demo-components/dropzone-demo/DemoDropzoneCustomValidation.tsx deleted file mode 100644 index f99096f18c79fd4b133c8a4929656f97d1d28bf3..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneCustomValidation.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - ExtFile, - FileMosaic, - FileMosaicProps, - ValidateFileResponse, - FileInputButton, - FileCard, -} from "../../../files-ui"; - -//validate files -// file name must start with the following prefix: "test_file" -// (e.g. a valid file name could be "test_file_photo.png") -const myOwnValidation = (file: File): ValidateFileResponse => { - let errorList: string[] = []; - let validResult: boolean = true; - const regExPrefix: RegExp = /\btest_file\w+/; - if (!file.name.match(regExPrefix)) { - validResult = false; - errorList.push('Prefix "test_file" was not present in the file name'); - } - return { valid: validResult, errors: errorList }; -}; -const DemoDropzoneCustomValidation = (props: { button: boolean }) => { - const [files, setFiles] = React.useState<ExtFile[]>([]); - const updateFiles = (incommingFiles: ExtFile[]) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id: FileMosaicProps["id"]) => { - setFiles(files.filter((x) => x.id !== id)); - }; - if (props.button) - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={280 * 1024} - maxFiles={2} - //autoClean - validator={myOwnValidation} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent: "center", - flexWrap: "wrap", - gap: "5px", - minWidth: "50%", - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - cleanFiles - validator={myOwnValidation} - > - {files.map((file: ExtFile) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}; -export default DemoDropzoneCustomValidation; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneDisabled.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneDisabled.jsx deleted file mode 100644 index 016d95186e6afbbb013a9baedd02d9d6cdcb86d6..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneDisabled.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileInputButton } from "../../../files-ui"; - -const DemoDropzoneDisabled = ({ button }) => { - if (button) - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <FileInputButton>{"input enabled"}</FileInputButton> - <FileInputButton disabled>{"input disabled"}</FileInputButton> - </div> - ); - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} disabled> - {"Dropzone is disabled"} - {/**Files */} - </Dropzone> - </div> - ); -}; -export default DemoDropzoneDisabled; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneDropLayer.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneDropLayer.jsx deleted file mode 100644 index 3a6edfc3d4defd3b18aff2a0cf5fc8e33731b721..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneDropLayer.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; -import { Dropzone } from "../../../files-ui"; - -const DemoDropzoneDropLayer = () => { - return ( - <div style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }}> - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} dropOnLayer={false}> - {/**Files */} - </Dropzone> - </div> - ); -}; -export default DemoDropzoneDropLayer; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneFooterConfig.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneFooterConfig.jsx deleted file mode 100644 index ca5016eef958448597e8e9eb39a9b6df5d6b213f..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneFooterConfig.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileMosaic } from "../../../files-ui"; - -const DemoDropzoneFooterConfig = (props) => { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - footerConfig={{ customMessage: "This is a custom message..." }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}; -export default DemoDropzoneFooterConfig; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneHeaderConfig.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneHeaderConfig.jsx deleted file mode 100644 index 6d06508e00973de66f56be3a746a84456f1e9500..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneHeaderConfig.jsx +++ /dev/null @@ -1,41 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileMosaic } from "../../../files-ui"; - -const DemoDropzoneHeaderConfig = (props) => { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const removeAllFiles = (evt) => { - evt.stopPropagation(); - setFiles([]); - }; - return ( - <Dropzone - onChange={updateFiles} - value={files} - headerConfig={{ - customHeader: ( - <div style={{ display: "flex", justifyContent: "flex-end" }}> - <button - style={{ backgroundColor: "teal", color: "white" }} - onClick={removeAllFiles} - > - delete files - </button> - </div> - ), - }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}; -export default DemoDropzoneHeaderConfig; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneLabel.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneLabel.jsx deleted file mode 100644 index 6679b3f8b85b0d4ec95a0dd7b416dada8b79b8bd..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneLabel.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileInputButton } from "../../../files-ui"; - -const DemoDropzoneLabel = ({ button }) => { - if (button) - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <FileInputButton/> - <FileInputButton>{"Label as children"}</FileInputButton> - <FileInputButton label={"Files ui ❤️"}/> - </div> - ); - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>{/**Files */}</Dropzone> - <Dropzone style={{ width: "300px" }} label={"Files ui ❤️"}> - {/**Files */} - </Dropzone> - </div> - ); -}; -export default DemoDropzoneLabel; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneRiple.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneRiple.jsx deleted file mode 100644 index a1fed07846fb87a96dacc3dc19b0fdd4e027c05c..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneRiple.jsx +++ /dev/null @@ -1,10 +0,0 @@ -import * as React from "react"; - -const DemoDropzoneRiple = props =>{ - return( - <div> - DemoDropzoneRiple - </div> - ) -} -export default DemoDropzoneRiple; \ No newline at end of file diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneRipple.tsx b/src/components/demo-components/dropzone-demo/DemoDropzoneRipple.tsx deleted file mode 100644 index 78cb805c486529d5fc2f2e856e2a74b039f6b3da..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneRipple.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileInputButton } from "../../../files-ui"; - -const DemoDropzoneRipple = ({ button = false }) => { - if (button) - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <FileInputButton>{"ripple enabled"}</FileInputButton> - <FileInputButton disableRipple>{"ripple disabled"}</FileInputButton> - </div> - ); - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "40px", - flexWrap: "wrap", - }} - > - <Dropzone style={{ width: "300px" }}>ripple enabled </Dropzone> - <Dropzone style={{ width: "300px" }} disableRipple> - ripple disabled - </Dropzone> - </div> - ); -}; -export default DemoDropzoneRipple; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneStyling.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneStyling.jsx deleted file mode 100644 index d64d8d371c1e5cebb54826deeffccb43ada34f3c..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneStyling.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileInputButton } from "../../../files-ui"; - -const DemoDropzoneStyling = ({ button }) => { - if (button) - return ( - <div - style={{ - display: "flex", - justifyContent: "center", - flexDirection: "column", - gap: "20px", - }} - > - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton>Default color</FileInputButton> - <FileInputButton color="#6200EE">Color= "#6200EE"</FileInputButton> - </div> - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton textColor="teal" color="aliceblue"> - textColor="teal" - </FileInputButton> - </div> - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton>Contained</FileInputButton> - <FileInputButton variant="outlined">Outlined</FileInputButton> - <FileInputButton variant="text">Text</FileInputButton> - </div> - - <div style={{ display: "flex", gap: "10px", flexWrap: "wrap" }}> - <FileInputButton textTransform="uppercase"> - Text transform uppercase - </FileInputButton> - <FileInputButton textTransform="capitalize"> - Text transform capitalize - </FileInputButton> - <FileInputButton textTransform="lowercase"> - Text transform LOWERCASE - </FileInputButton> - <FileInputButton textTransform="none"> - Text transform unset - </FileInputButton> - </div> - </div> - ); - return ( - <div - style={{ - display: "flex", - justifyContent: "space-evenly", - gap: "20px", - flexWrap: "wrap", - alignItems: "flex-start", - }} - > - <Dropzone style={{ width: "300px" }} color="#6200EE"> - {/**Files */} - </Dropzone> - <Dropzone - style={{ width: "300px" }} - minHeight="120px" - header={false} - footer={false} - > - {/**Files */} - </Dropzone> - <Dropzone - style={{ width: "300px" }} - background="radial-gradient(circle at 18.7% 37.8%, rgb(250, 250, 250) 0%, rgb(225, 234, 238) 90%);" - > - {/**Files */} - </Dropzone> - </div> - ); -}; -export default DemoDropzoneStyling; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneUploading.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneUploading.jsx deleted file mode 100644 index 65e6adab23f12ae923ccf736b7aaa0609c977c25..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneUploading.jsx +++ /dev/null @@ -1,112 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - FileCard, - FileInputButton, - FileMosaic, -} from "../../../files-ui"; - -const DemoDropzoneUploading = ({ button }) => { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const handleFinishUpload = (uploadedFiles) => { - console.log("Upload has finished", uploadedFiles); - }; - if (button) - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={2} - actionButtons={{ - position: "after", - uploadButton: {}, - abortButton: {}, - }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent: "center", - flexWrap: "wrap", - gap: "5px", - minWidth: "50%", - }} - > - {files.map((file) => ( - <FileCard - key={file.id} - {...file} - onDelete={removeFile} - info - preview - /> - ))} - </div> - )} - </div> - ); - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={2} - actionButtons={{ position: "after", uploadButton: {}, abortButton: {} }} - uploadConfig={{ - url: "https://www.myawsomeserver.com/upload", - method: "POST", - headers: { - Authorization: - "bearer HTIBI/IBYG/&GU&/GV%&G/&IC%&V/Ibi76bfh8g67gg68g67i6g7G&58768&/(&/(FR&G/&H%&/", - }, - cleanOnUpload: true, - }} - onUploadFinish={handleFinishUpload} - fakeUpload - > - {files.map((file) => ( - <FileMosaic - key={file.id} - {...file} - onDelete={removeFile} - info - preview - /> - ))} - </Dropzone> - ); -}; -export default DemoDropzoneUploading; diff --git a/src/components/demo-components/dropzone-demo/DemoDropzoneValidation.jsx b/src/components/demo-components/dropzone-demo/DemoDropzoneValidation.jsx deleted file mode 100644 index 0590b74f987894f19e45596485bedb1c17e19b5d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/dropzone-demo/DemoDropzoneValidation.jsx +++ /dev/null @@ -1,72 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - FileCard, - FileInputButton, - FileMosaic, -} from "../../../files-ui"; - -const DemoDropzoneValidation = ({ button = false }) => { - const [files, setFiles] = React.useState([]); - const updateFiles = (incommingFiles) => { - //do something with the files - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - if (button) - return ( - <div - style={{ - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "10px", - flexWrap: "wrap", - width: "100%", - }} - > - <FileInputButton - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - actionButtons={{ position: "bottom", cleanButton: {} }} - /> - {files.length > 0 && ( - <div - style={{ - display: "flex", - justifyContent:"center", - flexWrap:"wrap", - gap:"5px", - minWidth:"50%" - }} - > - {files.map((file) => ( - <FileCard key={file.id} {...file} onDelete={removeFile} info /> - ))} - </div> - )} - </div> - ); - return ( - <Dropzone - onChange={updateFiles} - value={files} - accept={"image/*"} - maxFileSize={28 * 1024} - maxFiles={2} - //cleanFiles - actionButtons={{ position: "bottom", cleanButton: {} }} - > - {files.map((file) => ( - <FileMosaic key={file.id} {...file} onDelete={removeFile} info /> - ))} - </Dropzone> - ); -}; -export default DemoDropzoneValidation; diff --git a/src/components/demo-components/file-card-demo/CodeJSFileCardBasic.jsx b/src/components/demo-components/file-card-demo/CodeJSFileCardBasic.jsx deleted file mode 100644 index 80b8e737ac5dd1876cd0724b25433dcd6d42f975..0000000000000000000000000000000000000000 --- a/src/components/demo-components/file-card-demo/CodeJSFileCardBasic.jsx +++ /dev/null @@ -1,117 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileCardBasic = ({ card }) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileCardBasic; - -const splittedCodeJS = (card) => `<> - {value ? ( - <${!card ? "FileMosaic" : "FileCard"} {...value} onDelete={removeFile} /> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <${!card ? "FileMosaic" : "FileCard"} {...sampleFileProps} /> -</> - -// file props -const sampleFileProps = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -};`; - -const completeCodeJS = (card) => `import * as React from "react"; -import { InputButton, FileCard } from "@files-ui/react"; - -const sampleFileProps = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; - -export default function App() { - const [value, setValue] = React.useState(undefined); - - const updateFiles = (incommingFiles) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - return ( - <div style={{display:"flex", gap:"10px"}}> - {value ? ( - <${ - !card ? "FileMosaic" : "FileCard" - } {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <${!card ? "FileMosaic" : "FileCard"} {...sampleFileProps} info/> - </div> - ); -};`; - -const splittedCodeTS = (card) => `<> - {value ? ( - <${!card ? "FileMosaic" : "FileCard"} {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <${!card ? "FileMosaic" : "FileCard"} {...sampleFileProps} info/> -</> - -// file props -const sampleFileProps: ExtFile = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -};`; -const completeCodeTS = (card) => `import * as React from "react"; -import { InputButton, FileCard, ExtFile } from "@files-ui/react"; - -const sampleFileProps:ExtFile = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; - -export default function App() { - const [value, setValue] = React.useState<ExtFile | undefined>(undefined); - - const updateFiles = (incommingFiles:ExtFile[]) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - return ( - <div style={{display:"flex", gap:"10px"}}> - {value ? ( - <${ - !card ? "FileMosaic" : "FileCard" - } {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <${!card ? "FileMosaic" : "FileCard"} {...sampleFileProps} info/> - </div> - ); -};`; diff --git a/src/components/demo-components/file-card-demo/DemoFileCardBasic.jsx b/src/components/demo-components/file-card-demo/DemoFileCardBasic.jsx deleted file mode 100644 index 88b6d771258838b30b09dce2816d365c6f9be4fd..0000000000000000000000000000000000000000 --- a/src/components/demo-components/file-card-demo/DemoFileCardBasic.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; -import { FileCard, FileInputButton, FileMosaic } from "../../../files-ui"; - -const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; -const DemoFileCardBasic = (props) => { - const [value, setValue] = React.useState(undefined); - - const updateFile = (incommingFiles) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - - const removeFile = () => { - setValue(undefined); - }; - return ( - <> - {value ? ( - <FileCard {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileCard {...sampleFileProps} info/> - </> - ); -}; -export default DemoFileCardBasic; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileCardActions.tsx b/src/components/demo-components/filemosaic-demo/CodeJSFileCardActions.tsx deleted file mode 100644 index 48015be11943dd2450d507e89fc8055ae78b6db2..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileCardActions.tsx +++ /dev/null @@ -1,170 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileCardActions = (props: { card?: boolean }) => { - const { card } = props; - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileCardActions; - -const splittedCodeJS = (card?: boolean) => ``; -const splittedCodeTS = (card?: boolean) => ``; - -const completeCodeJS = (card?: boolean) => `import * as React from "react"; -import { - ${card?"FileCard":"FileMosaic"}, - FullScreen, - ImagePreview, - VideoPreview, -} from "@files-ui/react"; - -const sampleFile = { - size: 28 * 1024 * 1024, - type: "text/plain", - name: "actions sampleFile.jsx", - valid: true, -}; -const IMG_URL = - "https://w0.peakpx.com/wallpaper/635/84/HD-wallpaper-thanos-and-iron-man-avengers-clouds-cloudy-face-to-face-her-iron-man-marvel-thanos-war.jpg"; -const VIDEO_URL = - "https://srv23.y2mate.is/download?file=cd448fa7c7fe6c301970e890794fb682137140"; - -const Demo${card?"FileCard":"FileMosaic"}Actions = ({ card }) => { - const [imgSrc, setImgSrc] = React.useState(undefined); - const [videoSrc, setVideoSrc] = React.useState(undefined); - const handleDelete = (id) => { - console.log("delete button clicked on file: " + id); - }; - const handleSee = (imageSource) => { - console.log("watch image:", imageSource); - setImgSrc(imageSource); - }; - const handleWatch = (videoSource) => { - console.log("watch video:", videoSource); - setVideoSrc(videoSource); - }; - const handleDownload = (fileId, downloadUrl) => { - console.log("download file id", fileId); - console.log("download url", downloadUrl); - }; - return ( - <> - <${card?"FileCard":"FileMosaic"} id={0} {...sampleFile} onDelete={handleDelete} /> - <${card?"FileCard":"FileMosaic"} id={1} {...sampleFile} info /> - <${card?"FileCard":"FileMosaic"} id={2} {...sampleFile} onSee={handleSee} imageUrl={IMG_URL} /> - <${card?"FileCard":"FileMosaic"} - id={3} - {...sampleFile} - onWatch={handleWatch} - videoUrl={VIDEO_URL} - /> - <${card?"FileCard":"FileMosaic"} id={4} {...sampleFile} downloadUrl={IMG_URL} /> - <${card?"FileCard":"FileMosaic"} - id={5} - {...sampleFile} - onDownload={handleDownload} - downloadUrl={VIDEO_URL} - /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -}; -export default Demo${card?"FileCard":"FileMosaic"}Actions;`; - -const completeCodeTS = (card?: boolean) => `import * as React from "react"; -import { - ${card?"FileCard":"FileMosaic"}, - FullScreen, - ImagePreview, - VideoPreview, - ExtFile, -} from "@files-ui/react"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "text/plain", - name: "actions sampleFile.jsx", - valid: true, -}; -const IMG_URL = - "https://w0.peakpx.com/wallpaper/635/84/HD-wallpaper-thanos-and-iron-man-avengers-clouds-cloudy-face-to-face-her-iron-man-marvel-thanos-war.jpg"; -const VIDEO_URL = - "https://srv23.y2mate.is/download?file=cd448fa7c7fe6c301970e890794fb682137140"; - -const Demo${card?"FileCard":"FileMosaic"}Actions = (props: { card?: boolean }) => { - const [imgSrc, setImgSrc] = React.useState<string | undefined>(undefined); - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - const handleDelete = (id: string | number | undefined) => { - console.log("delete button clicked on file: " + id); - }; - const handleSee = (imageSource: string | undefined) => { - console.log("watch image:", imageSource); - setImgSrc(imageSource); - }; - const handleWatch = (videoSource: File | string | undefined) => { - console.log("watch video:", videoSource); - setVideoSrc(videoSource); - }; - const handleDownload = ( - fileId: string | number | undefined, - downloadUrl?: string | undefined - ) => { - console.log("download file id", fileId); - console.log("download url", downloadUrl); - }; - return ( - <> - <${card?"FileCard":"FileMosaic"} id={0} {...sampleFile} onDelete={handleDelete} /> - <${card?"FileCard":"FileMosaic"} id={1} {...sampleFile} info /> - <${card?"FileCard":"FileMosaic"} id={2} {...sampleFile} onSee={handleSee} imageUrl={IMG_URL} /> - <${card?"FileCard":"FileMosaic"} - id={3} - {...sampleFile} - onWatch={handleWatch} - videoUrl={VIDEO_URL} - /> - <${card?"FileCard":"FileMosaic"} id={4} {...sampleFile} downloadUrl={IMG_URL} /> - <${card?"FileCard":"FileMosaic"} - id={5} - {...sampleFile} - onDownload={handleDownload} - downloadUrl={VIDEO_URL} - /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -}; -export default Demo${card?"FileCard":"FileMosaic"}Actions;`; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicBasic.jsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicBasic.jsx deleted file mode 100644 index 9a62cdfb5e94e3e482c7f766aee2dd499bb585a4..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicBasic.jsx +++ /dev/null @@ -1,113 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicBasic = (props) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeJSFileMosaicBasic; - -const splittedCodeJS = `<> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} /> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileMosaic {...sampleFileProps} /> -</> - -// file props -const sampleFileProps = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -};`; - -const completeCodeJS = `import * as React from "react"; -import { InputButton, FileMosaic } from "@files-ui/react"; - -const sampleFileProps = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; - -export default function App() { - const [value, setValue] = React.useState(undefined); - - const updateFiles = (incommingFiles) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - return ( - <div style={{display:"flex", gap:"10px"}}> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileMosaic {...sampleFileProps} info/> - </div> - ); -};`; - -const splittedCodeTS = `<> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileMosaic {...sampleFileProps} info/> -</> - -// file props -const sampleFileProps: ExtFile = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -};`; -const completeCodeTS = `import * as React from "react"; -import { InputButton, FileMosaic, ExtFile } from "@files-ui/react"; - -const sampleFileProps:ExtFile = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; - -export default function App() { - const [value, setValue] = React.useState<ExtFile | undefined>(undefined); - - const updateFiles = (incommingFiles:ExtFile[]) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - return ( - <div style={{display:"flex", gap:"10px"}}> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileMosaic {...sampleFileProps} info/> - </div> - ); -};`; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicDarkMode.tsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicDarkMode.tsx deleted file mode 100644 index 44516d3b9a7e95421558a400f97c9e34455b273e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicDarkMode.tsx +++ /dev/null @@ -1,267 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicDarkMode = (props: { card?: boolean }) => { - const { card } = props; - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileMosaicDarkMode; - -const splittedCodeJS = (card?: boolean) => - card - ? "" - : `<> - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info onDelete={removeFile} /> - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info onDelete={removeFile} darkMode/> -</>`; -const splittedCodeTS = (card?: boolean) => - card - ? "" - : `<> - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info onDelete={removeFile} /> - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info onDelete={removeFile} darkMode/> -</>`; - -const completeCodeJS = (card?: boolean) => - card - ? `import { ${card ? "FileCard" : "FileMosaic"} } from "@files-ui/react"; -const sampleFilePropsCard = (elevationNumber) => { - return { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "elevation=" + elevationNumber + ".jsx", - valid: true, - }; -}; -const Demo${card ? "FileCard" : "FileMosaic"}DarkMode = () => { - const removeFile = (id) => { - console.log("delete button clicked on file: " + id); - }; - return ( - <> - <div - style={{ - display: "flex", - justifyContent: "center", - flexDirection: "column", - backgroundColor: "white", - alignItems: "center", - padding: "25px 0", - flexGrow: 1, - gap: "7px", - }} - > - {[0, 4, 16, 24].map((elevation) => ( - <FileCard - key={elevation} - {...sampleFilePropsCard(elevation)} - onDelete={removeFile} - info - elevation={elevation} - /> - ))} - </div> - <div - style={{ - display: "flex", - flexDirection: "column", - justifyContent: "center", - backgroundColor: "#121212", - alignItems: "center", - padding: "25px 0", - flexGrow: 1, - gap: "7px", - }} - > - {[0, 4, 16, 24].map((elevation) => ( - <FileCard - key={elevation} - {...sampleFilePropsCard(elevation)} - onDelete={removeFile} - darkMode - info - elevation={elevation} - /> - ))} - </div> - </> - ); -export default Demo${card ? "FileCard" : "FileMosaic"}DarkMode;` - : `import * as React from "react"; -import { ${card ? "FileCard" : "FileMosaic"} } from "@files-ui/react"; - -const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; -const Demo${card ? "FileCard" : "FileMosaic"}DarkMode = () => { - const removeFile = (id) => { - console.log("delete button clicked on file: " + id); - }; - return ( - <div style={{ display: "flex", flexWrap: "wrap" }}> - <div - style={{ - display: "flex", - justifyContent: "center", - backgroundColor: "white", - padding: "25px 0", - flexGrow:1 - }} - > - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info onDelete={removeFile} /> - </div> - <div - style={{ - display: "flex", - justifyContent: "center", - backgroundColor: "#121212", - padding: "25px 0", - flexGrow:1 - }} - > - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info darkMode onDelete={removeFile} /> - </div> - </div> - ); -}; -export default Demo${card ? "FileCard" : "FileMosaic"}DarkMode;`; - -const completeCodeTS = (card?: boolean) => - card - ? `import { ${ - card ? "FileCard" : "FileMosaic" - }, ExtFile, FileCardProps } from "@files-ui/react"; -const sampleFilePropsCard = (elevationNumber: number): ExtFile => { - return { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "elevation=" + elevationNumber + ".jsx", - valid: true, - }; -}; -const Demo${card ? "FileCard" : "FileMosaic"}DarkMode = () => { - const removeFile = (id: string | number | undefined) => { - console.log("delete button clicked on file: " + id); - }; - return ( - <> - <div - style={{ - display: "flex", - justifyContent: "center", - flexDirection: "column", - backgroundColor: "white", - alignItems: "center", - padding: "25px 0", - flexGrow: 1, - gap: "7px", - }} - > - {[0, 4, 16, 24].map((elevation) => ( - <FileCard - key={elevation} - {...sampleFilePropsCard(elevation)} - onDelete={removeFile} - info - elevation={elevation as FileCardProps["elevation"]} - /> - ))} - </div> - <div - style={{ - display: "flex", - flexDirection: "column", - justifyContent: "center", - backgroundColor: "#121212", - alignItems: "center", - padding: "25px 0", - flexGrow: 1, - gap: "7px", - }} - > - {[0, 4, 16, 24].map((elevation) => ( - <FileCard - key={elevation} - {...sampleFilePropsCard(elevation)} - onDelete={removeFile} - darkMode - info - elevation={elevation as FileCardProps["elevation"]} - /> - ))} - </div> - </> - ); -export default Demo${card ? "FileCard" : "FileMosaic"}DarkMode; -` - : `import * as React from "react"; -import { ExtFile, ${card ? "FileCard" : "FileMosaic"} } from "@files-ui/react"; - -const sampleFileProps: ExtFile = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; -const Demo${card ? "FileCard" : "FileMosaic"}DarkMode = () => { - const removeFile = (id: string | number | undefined) => { - console.log("delete button clicked on file: " + id); - }; - return ( - <div style={{ display: "flex", flexWrap: "wrap" }}> - <div - style={{ - display: "flex", - justifyContent: "center", - backgroundColor: "white", - padding: "25px 0", - flexGrow:1 - }} - > - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info onDelete={removeFile} /> - </div> - <div - style={{ - display: "flex", - justifyContent: "center", - backgroundColor: "#121212", - padding: "25px 0", - flexGrow:1 - }} - > - <${ - card ? "FileCard" : "FileMosaic" - } {...sampleFileProps} info darkMode onDelete={removeFile} /> - </div> - </div> - ); -}; -export default Demo${card ? "FileCard" : "FileMosaic"}DarkMode;`; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicImagePreview.tsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicImagePreview.tsx deleted file mode 100644 index 4ea1437c8f46e20d6d8e516a70665cb19d79e857..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicImagePreview.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicImagePreview = (props:{card:boolean}) => { - const {card}=props; - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileMosaicImagePreview; - -const splittedCodeJS = (card:boolean)=>`<> - {value ? ( - <${card?"FileCard":"FileMosaic"} {...value} onDelete={removeFile} info preview/> - ) : ( - <FileInputButton onChange={updateFile} accept="image/*"/> - )} - <${card?"FileCard":"FileMosaic"} {...sampleFileProps} info/> -</> - -// file props -const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor arrives wakanda.jpg", - imageUrl:"https://cdn.wallpapersafari.com/0/95/1zms6H.jpg" -};`; - -const completeCodeJS = (card:boolean)=>`import * as React from "react"; -import { InputButton, ${card?"FileCard":"FileMosaic"} } from "@files-ui/react"; - -const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor arrives wakanda.jpg", - imageUrl:"https://cdn.wallpapersafari.com/0/95/1zms6H.jpg" -}; - -export default function App() { - const [value, setValue] = React.useState(undefined); - - const updateFiles = (incommingFiles) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - return ( - <div style={{display:"flex", gap:"10px"}}> - {value ? ( - <${card?"FileCard":"FileMosaic"} {...value} onDelete={removeFile} info preview/> - ) : ( - <FileInputButton onChange={updateFile} accept="image/*"/> - )} - <${card?"FileCard":"FileMosaic"} {...sampleFileProps} info/> - </div> - ); -};`; - -const splittedCodeTS = (card:boolean)=>`<> -{value ? ( - <${card?"FileCard":"FileMosaic"} {...value} onDelete={removeFile} info preview/> -) : ( - <FileInputButton onChange={updateFile} accept="image/*"/> -)} -<${card?"FileCard":"FileMosaic"} {...sampleFileProps} info/> -</> - -// file props -const sampleFileProps: ExtFile = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor arrives wakanda.jpg", - imageUrl:"https://cdn.wallpapersafari.com/0/95/1zms6H.jpg" -};`; -const completeCodeTS = (card:boolean)=>`import * as React from "react"; -import { InputButton, ${card?"FileCard":"FileMosaic"}, ExtFile } from "@files-ui/react"; - -const sampleFileProps: ExtFile = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor arrives wakanda.jpg", - imageUrl:"https://cdn.wallpapersafari.com/0/95/1zms6H.jpg" -}; - -export default function App() { - const [value, setValue] = React.useState<ExtFile | undefined>(undefined); - - const updateFiles = (incommingFiles:ExtFile[]) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - return ( - <div style={{display:"flex", gap:"10px"}}> - {value ? ( - <${card?"FileCard":"FileMosaic"} {...value} onDelete={removeFile} info preview/> - ) : ( - <FileInputButton onChange={updateFile} accept="image/*"/> - )} - <${card?"FileCard":"FileMosaic"} {...sampleFileProps} info/> - </div> - ); -};`; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit.jsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit.jsx deleted file mode 100644 index 7a3802a95e928e499a216a70ce25059aa43973a3..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit.jsx +++ /dev/null @@ -1,81 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicSmartImgFit = (card) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileMosaicSmartImgFit; - -const splittedCodeJS = (card)=>``; -const splittedCodeTS = (card)=>``; - -const completeCodeTS = (card)=>`import * as React from "react"; -import { ${card?"FileCard":"FileMosaic"}, ExtFile } from "@files-ui/react"; - -export default function App() { - return ( - <> - <${card?"FileCard":"FileMosaic"} {...landscapeImage} info smartImgFit={false}/> - <${card?"FileCard":"FileMosaic"} {...landscapeImage} info smartImgFit={"orientation"}/> - <${card?"FileCard":"FileMosaic"} {...landscapeImage} info smartImgFit={"center"}/> - <${card?"FileCard":"FileMosaic"} {...portraitImage} info smartImgFit={false}/> - <${card?"FileCard":"FileMosaic"} {...portraitImage} info smartImgFit={"orientation"}/> - <${card?"FileCard":"FileMosaic"} {...portraitImage} info smartImgFit={"center"}/> - </> - ); -}; -const landscapeImage: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "(landscape)Thor arrives wakanda.gif", - imageUrl: - "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif", -}; -const portraitImage: ExtFile = { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "(portrait)Iron man in stark tower.gif", - imageUrl: "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -};`; - -const completeCodeJS = (card)=>`import * as React from "react"; -import { ${card?"FileCard":"FileMosaic"} } from "@files-ui/react"; - -export default function App() { - return ( - <> - <${card?"FileCard":"FileMosaic"} {...landscapeImage} info smartImgFit={false}/> - <${card?"FileCard":"FileMosaic"} {...landscapeImage} info smartImgFit={"orientation"}/> - <${card?"FileCard":"FileMosaic"} {...landscapeImage} info smartImgFit={"center"}/> - <${card?"FileCard":"FileMosaic"} {...portraitImage} info smartImgFit={false}/> - <${card?"FileCard":"FileMosaic"} {...portraitImage} info smartImgFit={"orientation"}/> - <${card?"FileCard":"FileMosaic"} {...portraitImage} info smartImgFit={"center"}/> - </> - ); -}; -const landscapeImage = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "(landscape)Thor arrives wakanda.gif", - imageUrl: - "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif", -}; -const portraitImage = { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "(portrait)Iron man in stark tower.gif", - imageUrl: "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -};`; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicUploadStatus.jsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicUploadStatus.jsx deleted file mode 100644 index 6daac5179658221e44b380226e00a458a90c8b07..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicUploadStatus.jsx +++ /dev/null @@ -1,268 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicUploadStatus = ({card}) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileMosaicUploadStatus; - -const splittedCodeJS =(card)=> ``; - -const splittedCodeTS =(card)=> ``; - -const completeCodeJS =(card)=> `import * as React from "react"; -import { - ${card?"FileCard":"FileMosaic"}, - useFakeProgress, -} from "@files-ui/react"; - -const Demo${card?"FileCard":"FileMosaic"}UploadStatus = () => { - const progress = useFakeProgress(); - - const [status1, setStatus1] = React.useState("uploading"); - const [status2, setStatus2] = React.useState("uploading"); - const [status3, setStatus3] = React.useState("uploading"); - - React.useEffect(() => { - //schedule an interval - const _myInterval = setInterval(() => { - //set the uploadstatus result - setStatus1((_status) => setNextUploadState(_status, "aborted")); - setStatus2((_status) => setNextUploadState(_status, "error")); - setStatus3((_status) => setNextUploadState(_status, "success")); - }, 5000); - - //clean - return () => { - console.log("clear interval", _myInterval); - clearInterval(_myInterval); - }; - }, []); - - const handleCancel = (id) => { - console.log("Upload canceled in file: " + id); - }; - const handleAbort = (id) => { - console.log("Upload aborted in file: " + id); - }; - return ( - <> - <FlexRowContainer> - <${card?"FileCard":"FileMosaic"} {...preparingFile} /> - <${card?"FileCard":"FileMosaic"} {...preparingFile} onCancel={handleCancel} /> - </FlexRowContainer> - - <FlexRowContainer> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} /> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} progress={progress} /> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} onAbort={handleAbort} /> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} onAbort={handleAbort} progress={progress} /> - </FlexRowContainer> - - <FlexRowContainer> - <${card?"FileCard":"FileMosaic"} {...uploadResultFiles[0]} uploadStatus={status1} /> - <${card?"FileCard":"FileMosaic"} {...uploadResultFiles[1]} uploadStatus={status2} /> - <${card?"FileCard":"FileMosaic"} {...uploadResultFiles[2]} uploadStatus={status3} /> - </FlexRowContainer> - </> - ); -}; -export default Demo${card?"FileCard":"FileMosaic"}UploadStatus; - -const FlexRowContainer = ({ children }) => { - return ( - <div - style={{ - display: "flex", - flexWrap: "wrap", - justifyContent: "space-evenly", - width: "100%", - }} - > - {children} - </div> - ); -}; - -const setNextUploadState = ( - prevState, - nextStatus -) => { - if (prevState === "uploading") return nextStatus; - else return "uploading"; -}; - -const preparingFile = { - id: "fileId-0", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "preparing file.jsx", - uploadStatus: "preparing", -}; - -const uploadingFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/png", - name: "uploading file.png", - uploadStatus: "uploading", -}; - -const uploadResultFiles = [ - { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "upload aborted file.gif", - uploadMessage: "Upload was aborted by the user", - }, - { - id: "fileId-3", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "upload with error file.jpg", - uploadMessage: - "File couldn't be uploaded to Files-ui earthquakes. File was too big.", - }, - { - id: "fileId-4", - size: 28 * 1024 * 1024, - type: "image/png", - name: "successfully uploaded file.png", - uploadMessage: "File was uploaded correctly to Files-ui earthquakes", - }, -];`; - -const completeCodeTS =(card)=> `import * as React from "react"; -import { - ${card?"FileCard":"FileMosaic"}, - useFakeProgress, - ExtFile, - UPLOADSTATUS, -} from "@files-ui/react"; - -const Demo${card?"FileCard":"FileMosaic"}UploadStatus = () => { - const progress = useFakeProgress(); - - const [status1, setStatus1] = React.useState<UPLOADSTATUS>("uploading"); - const [status2, setStatus2] = React.useState<UPLOADSTATUS>("uploading"); - const [status3, setStatus3] = React.useState<UPLOADSTATUS>("uploading"); - - React.useEffect(() => { - //schedule an interval - const _myInterval = setInterval(() => { - //set the uploadstatus result - setStatus1((_status) => setNextUploadState(_status, "aborted")); - setStatus2((_status) => setNextUploadState(_status, "error")); - setStatus3((_status) => setNextUploadState(_status, "success")); - }, 5000); - - //clean - return () => { - console.log("clear interval", _myInterval); - clearInterval(_myInterval as NodeJS.Timer); - }; - }, []); - - const handleCancel = (id: string | number | undefined) => { - console.log("Upload canceled in file: " + id); - }; - const handleAbort = (id: string | number | undefined) => { - console.log("Upload aborted in file: " + id); - }; - return ( - <> - <FlexRowContainer> - <${card?"FileCard":"FileMosaic"} {...preparingFile} /> - <${card?"FileCard":"FileMosaic"} {...preparingFile} onCancel={handleCancel} /> - </FlexRowContainer> - - <FlexRowContainer> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} /> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} progress={progress} /> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} onAbort={handleAbort} /> - <${card?"FileCard":"FileMosaic"} {...uploadingFile} onAbort={handleAbort} progress={progress} /> - </FlexRowContainer> - - <FlexRowContainer> - <${card?"FileCard":"FileMosaic"} {...uploadResultFiles[0]} uploadStatus={status1} /> - <${card?"FileCard":"FileMosaic"} {...uploadResultFiles[1]} uploadStatus={status2} /> - <${card?"FileCard":"FileMosaic"} {...uploadResultFiles[2]} uploadStatus={status3} /> - </FlexRowContainer> - </> - ); -}; -export default Demo${card?"FileCard":"FileMosaic"}UploadStatus; - -const FlexRowContainer = (props: { children: React.ReactNode }) => { - return ( - <div - style={{ - display: "flex", - flexWrap: "wrap", - justifyContent: "space-evenly", - width: "100%", - }} - > - {props.children} - </div> - ); -}; - -const setNextUploadState = ( - prevState: UPLOADSTATUS, - nextStatus: UPLOADSTATUS -): UPLOADSTATUS => { - if (prevState === "uploading") return nextStatus; - else return "uploading"; -}; - -const preparingFile: ExtFile = { - id: "fileId-0", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "preparing file.jsx", - uploadStatus: "preparing", -}; - -const uploadingFile: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/png", - name: "uploading file.png", - uploadStatus: "uploading", -}; - -const uploadResultFiles: ExtFile[] = [ - { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "upload aborted file.gif", - uploadMessage: "Upload was aborted by the user", - }, - { - id: "fileId-3", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "upload with error file.jpg", - uploadMessage: - "File couldn't be uploaded to Files-ui earthquakes. File was too big.", - }, - { - id: "fileId-4", - size: 28 * 1024 * 1024, - type: "image/png", - name: "successfully uploaded file.png", - uploadMessage: "File was uploaded correctly to Files-ui earthquakes", - }, -];`; diff --git a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicValidation.jsx b/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicValidation.jsx deleted file mode 100644 index 3bd8a473455ac2df4a8e9c3ba6fdf132319df5da..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/CodeJSFileMosaicValidation.jsx +++ /dev/null @@ -1,93 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicValidation = (card) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS(card)} - codeSplittedTS={splittedCodeTS(card)} - /> - ); -}; -export default CodeJSFileMosaicValidation; - -const splittedCodeJS = (card)=>``; -const splittedCodeTS = (card)=>``; - -const completeCodeJS = (card)=>`import * as React from "react"; -import { ${card?"FileCard":"FileMosaic"} } from "@files-ui/react"; - -export default function App() { - return ( - <div style={{display:"flex", gap:"10px"}}> - {sampleFilesProps.map((extFile) => ( - <${card?"FileCard":"FileMosaic"} key={extFile.id} valid={extFile.valid} {...extFile} info/> - ))} - </div> - ); -}; - -const sampleFilesProps = [ - { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", - }, - { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/png", - name: "valid file created from props.png", - valid: false, - errors: ["File is too big", "File type is not allowed"] - }, - { - id: "fileId-3", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "non valid file created from props.jpg", - valid: true, - }, -];`; - -const completeCodeTS = (card)=>`import * as React from "react"; -import { ${card?"FileCard":"FileMosaic"}, ExtFile } from "@files-ui/react"; - -export default function App() { - return ( - <div style={{display:"flex", gap:"10px"}}> - {sampleFilesProps.map((extFile: ExtFile) => ( - <${card?"FileCard":"FileMosaic"} key={extFile.id} valid={extFile.valid} {...extFile} info/> - ))} - </div> - ); -}; - -const sampleFilesProps: ExtFile[] = [ - { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", - }, - { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/png", - name: "valid file created from props.png", - valid: false, - errors: ["File is too big", "File type is not allowed"] - }, - { - id: "fileId-3", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "non valid file created from props.jpg", - valid: true, - }, -];`; diff --git a/src/components/demo-components/filemosaic-demo/DemoContainerFileMosaic.jsx b/src/components/demo-components/filemosaic-demo/DemoContainerFileMosaic.jsx deleted file mode 100644 index 9e63d14e64fcacc2a0cf34ada2709eb2138fe016..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoContainerFileMosaic.jsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Paper, Stack, Box } from "@mui/material"; -import * as React from "react"; - -const DemoContainerFileMosaic = ({ children, card }) => { - return ( - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "center", - }} - > - <Box - sx={{ - display: "flex", - gap: "20px", - flexWrap: "wrap", - flexDirection: { xs: card ? "column" : undefined, md: "row" }, - justifyContent: { - xs: "center", - md: "space-evenly", - }, - alignItems: { xs: "center" }, - }} - > - {children} - </Box> - </Paper> - ); -}; -export default DemoContainerFileMosaic; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileCradActions.tsx b/src/components/demo-components/filemosaic-demo/DemoFileCradActions.tsx deleted file mode 100644 index 08e9359493b5e2273ce20df6f51787eeefebe47d..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileCradActions.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import * as React from "react"; -import { - FileCard, - FileMosaic, - FullScreen, - ImagePreview, - VideoPreview, - ExtFile, -} from "../../../files-ui"; - -const sampleFile: ExtFile = { - size: 28 * 1024 * 1024, - type: "text/plain", - name: "actions sampleFile.jsx", - valid: true, -}; -const IMG_URL = - "https://w0.peakpx.com/wallpaper/635/84/HD-wallpaper-thanos-and-iron-man-avengers-clouds-cloudy-face-to-face-her-iron-man-marvel-thanos-war.jpg"; -const VIDEO_URL = - "https://srv23.y2mate.is/download?file=cd448fa7c7fe6c301970e890794fb682137140"; - -const DemoFileCardActions = (props: { card?: boolean }) => { - const [imgSrc, setImgSrc] = React.useState<string | undefined>(undefined); - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - const handleDelete = (id: string | number | undefined) => { - console.log("delete button clicked on file: " + id); - }; - const handleSee = (imageSource: string | undefined) => { - console.log("watch image:", imageSource); - setImgSrc(imageSource); - }; - const handleWatch = (videoSource: File | string | undefined) => { - console.log("watch video:", videoSource); - setVideoSrc(videoSource); - }; - const handleDownload = ( - fileId: string | number | undefined, - downloadUrl?: string | undefined - ) => { - console.log("download file id", fileId); - console.log("download url", downloadUrl); - }; - if (props.card) - return ( - <> - <FileCard id={0} {...sampleFile} onDelete={handleDelete} /> - <FileCard id={1} {...sampleFile} info /> - <FileCard id={2} {...sampleFile} onSee={handleSee} imageUrl={IMG_URL} /> - <FileCard - id={3} - {...sampleFile} - onWatch={handleWatch} - videoUrl={VIDEO_URL} - /> - <FileCard id={4} {...sampleFile} downloadUrl={IMG_URL} /> - <FileCard - id={5} - {...sampleFile} - onDownload={handleDownload} - downloadUrl={VIDEO_URL} - /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); - return ( - <> - <FileMosaic id={0} {...sampleFile} onDelete={handleDelete} /> - <FileMosaic id={1} {...sampleFile} info /> - <FileMosaic id={2} {...sampleFile} onSee={handleSee} imageUrl={IMG_URL} /> - <FileMosaic - id={3} - {...sampleFile} - onWatch={handleWatch} - videoUrl={VIDEO_URL} - /> - <FileMosaic id={4} {...sampleFile} downloadUrl={IMG_URL} /> - <FileMosaic - id={5} - {...sampleFile} - onDownload={handleDownload} - downloadUrl={VIDEO_URL} - /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -}; -export default DemoFileCardActions; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicBasic.jsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicBasic.jsx deleted file mode 100644 index 20bb19ebcde31b6421015b16034230206e515234..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicBasic.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import * as React from "react"; -import { FileInputButton, FileMosaic } from "../../../files-ui"; - -const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; -const DemoFileMosaicBasic = (props) => { - const [value, setValue] = React.useState(undefined); - - const updateFile = (incommingFiles) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - - const removeFile = () => { - setValue(undefined); - }; - return ( - <> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} info/> - ) : ( - <FileInputButton value={value ? [value] : []} onChange={updateFile} /> - )} - <FileMosaic {...sampleFileProps} info/> - </> - ); -}; -export default DemoFileMosaicBasic; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicDarkMode.tsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicDarkMode.tsx deleted file mode 100644 index fa2b44deed4d27b2c422e926ad30cea6e90a06ea..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicDarkMode.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import * as React from "react"; -import { - ExtFile, - FileCard, - FileCardProps, - FileMosaic, -} from "../../../files-ui"; -const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "sampleFile" + ".jsx", - valid: true, -}; -const sampleFilePropsCard = (elevationNumber: number): ExtFile => { - return { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "elevation=" + elevationNumber + ".jsx", - valid: true, - }; -}; - -const DemoFileMosaicDarkMode = (props: { card?: boolean }) => { - const removeFile = (id: string | number | undefined) => { - console.log("delete button clicked on file: " + id); - }; - if (props.card) - return ( - <> - <div - style={{ - display: "flex", - justifyContent: "center", - flexDirection: "column", - backgroundColor: "white", - alignItems: "center", - padding: "25px 0", - flexGrow: 1, - gap: "7px", - }} - > - {[0, 4, 16, 24].map((elevation) => ( - <FileCard - key={elevation} - {...sampleFilePropsCard(elevation)} - onDelete={removeFile} - info - elevation={elevation as FileCardProps["elevation"]} - darkMode={false} - /> - ))} - </div> - <div - style={{ - display: "flex", - flexDirection: "column", - justifyContent: "center", - backgroundColor: "#121212", - alignItems: "center", - padding: "25px 0", - flexGrow: 1, - gap: "7px", - }} - > - {[0, 4, 16, 24].map((elevation) => ( - <FileCard - key={elevation} - {...sampleFilePropsCard(elevation)} - onDelete={removeFile} - darkMode - info - elevation={elevation as FileCardProps["elevation"]} - /> - ))} - </div> - </> - ); - return ( - <> - <div - style={{ - display: "flex", - justifyContent: "center", - minWidth: "50%", - backgroundColor: "white", - padding: "15px 0", - flexGrow: 1, - }} - > - <FileMosaic {...sampleFileProps} info onDelete={removeFile} darkMode={false}/> - </div> - <div - style={{ - display: "flex", - justifyContent: "center", - minWidth: "50%", - backgroundColor: "#121212", - padding: "15px 0", - flexGrow: 1, - }} - > - <FileMosaic {...sampleFileProps} info darkMode onDelete={removeFile} /> - </div> - </> - ); -}; -export default DemoFileMosaicDarkMode; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicFileIcons.jsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicFileIcons.jsx deleted file mode 100644 index 2fd69c6be58010031b58058105299afcc1609111..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicFileIcons.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import * as React from "react"; -import { - FileMosaic, - createListOfMultiTypeFile, - FileCard, -} from "../../../files-ui"; - -/* const sampleFileProps = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", -}; */ -const DemoFileMosaicFileIcons = ({ card }) => { - const [files, setFiles] = React.useState([]); - - const removeFile = (id) => { - console.log("delete button clicked on file: " + id); - }; - - React.useEffect(() => { - const validateFiles = createListOfMultiTypeFile(28 * 1024 * 1024).map( - (x, index) => { - return { - id: index, - size: 28 * 1024 * 1024, - type: x.type, - name: x.name, - }; - } - ); - //console.log(validateFiles); - setFiles(validateFiles); - }, []); - return ( - <> - {files.map((f, index) => ( - <> - {" "} - {card ? ( - <FileCard {...f} key={f.id} onDelete={removeFile} info /> - ) : ( - <FileMosaic {...f} key={f.id} onDelete={removeFile} info /> - )} - </> - ))} - </> - ); -}; -export default DemoFileMosaicFileIcons; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicImagePreview.tsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicImagePreview.tsx deleted file mode 100644 index 0185a47df1a2a3b89a92d07238d817bbe7bc8d6c..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicImagePreview.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import * as React from "react"; -import { - FileCard, - FileInputButton, - FileMosaic, - ExtFile, -} from "../../../files-ui"; - -interface DemoFileMosaicImagePreviewProps { - card?: boolean; -} - -const sampleFileProps: ExtFile = { - id: "fileId", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "Thor arrives wakanda.jpg", - imageUrl: "https://cdn.wallpapersafari.com/0/95/1zms6H.jpg", -}; -const DemoFileMosaicImagePreview: React.FC<DemoFileMosaicImagePreviewProps> = ( - props: DemoFileMosaicImagePreviewProps -) => { - const [value, setValue] = React.useState<ExtFile | undefined>(undefined); - - const updateFile = (incommingFiles: ExtFile[]) => { - console.log("incomming extFiles", incommingFiles); - setValue(incommingFiles[0]); - }; - - const removeFile = () => { - setValue(undefined); - }; - if (props.card) - return ( - <> - {value ? ( - <FileCard {...value} onDelete={removeFile} info preview /> - ) : ( - <FileInputButton - value={value ? [value] : []} - onChange={updateFile} - accept="image/*" - /> - )} - <FileCard {...sampleFileProps} info /> - </> - ); - return ( - <> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} info preview /> - ) : ( - <FileInputButton - value={value ? [value] : []} - onChange={updateFile} - accept="image/*" - /> - )} - <FileMosaic {...sampleFileProps} info /> - </> - ); -}; -export default DemoFileMosaicImagePreview; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicImgPreview.tsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicImgPreview.tsx deleted file mode 100644 index 4391bcc1de7cff373e43274d7f5c09d44b1942e4..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicImgPreview.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import * as React from "react"; -import { FileMosaic, FileInputButton, ExtFile } from "../../../files-ui"; -interface DemoFileMosaicImgPreviewProps {} -const sampleFileProps: ExtFile = { - id: ":0:", - size: 28 * 1024 * 1024, - type: "image/png", - name: "Thor arrives Wakanda.png", - imageUrl: - "https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.disneylatino.com%2Fnovedades%2Favengers-la-escena-postcredito-de-thor-que-fue-clave-en-infinity-war&psig=AOvVaw2wijpnp7AqNfVNPszdMkOw&ust=1677372146505000&source=images&cd=vfe&ved=0CBAQjRxqFwoTCIj_pqy4r_0CFQAAAAAdAAAAABAQ", -}; -const DemoFileMosaicImgPreview: React.FC<DemoFileMosaicImgPreviewProps> = ( - props: DemoFileMosaicImgPreviewProps -) => { - const [value, setValue] = React.useState<ExtFile | undefined>(undefined); - - const updateFiles = (incommingFiles: ExtFile[]) => { - console.log("incomming extFiles", incommingFiles); - - setValue(incommingFiles[0]); - }; - const removeFile = () => { - setValue(undefined); - }; - - return ( - <> - {value ? ( - <FileMosaic {...value} onDelete={removeFile} alwaysActive info /> - ) : ( - <FileInputButton - label="Browse File..." - onChange={updateFiles} - textTransform="uppercase" - accept="image/*" - /> - )} - <FileMosaic {...sampleFileProps} onDelete={() => {}} alwaysActive info /> - </> - ); -}; -export default DemoFileMosaicImgPreview; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit.tsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit.tsx deleted file mode 100644 index 26735bf367cc277ebc90b29bb8bfd966bb3b9132..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import * as React from "react"; -import { ExtFile, FileCard, FileMosaic } from "../../../files-ui"; - -const DemoFileMosaicSmartImgFit = (props: { card: boolean }) => { - if (props.card) - return ( - <> - <FileCard {...landscapeImage} info smartImgFit={false} /> - <FileCard {...landscapeImage} info smartImgFit={"orientation"} /> - <FileCard {...landscapeImage} info smartImgFit={"center"} /> - <FileCard {...portraitImage} info smartImgFit={false} /> - <FileCard {...portraitImage} info smartImgFit={"orientation"} /> - <FileCard {...portraitImage} info smartImgFit={"center"} /> - </> - ); - return ( - <> - <FileMosaic {...landscapeImage} info smartImgFit={false} /> - <FileMosaic {...landscapeImage} info smartImgFit={"orientation"} /> - <FileMosaic {...landscapeImage} info smartImgFit={"center"} /> - <FileMosaic {...portraitImage} info smartImgFit={false} /> - <FileMosaic {...portraitImage} info smartImgFit={"orientation"} /> - <FileMosaic {...portraitImage} info smartImgFit={"center"} /> - </> - ); -}; -export default DemoFileMosaicSmartImgFit; - -const landscapeImage: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "(landscape)Thor arrives wakanda.gif", - imageUrl: - "https://64.media.tumblr.com/078a5af7a51d438b1c1ee5bd77f1b1e5/tumblr_p81qv7KIPa1rvufhzo3_r1_400.gif", -}; -const portraitImage: ExtFile = { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "(portrait)Iron man in stark tower.gif", - imageUrl: "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -}; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicUpload.scss b/src/components/demo-components/filemosaic-demo/DemoFileMosaicUpload.scss deleted file mode 100644 index a90ac865c623c3bae5d76277dff42be8d8bd97b0..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicUpload.scss +++ /dev/null @@ -1,20 +0,0 @@ -/* .flex-container-group-group { - display: flex; - flex-direction: row; - gap: 10px; -} */ -.flex-container-group-card { - display: flex; - flex-direction: column; - flex-wrap: wrap; - gap: 10px; -} -.flex-container-group-mosaic { - display: flex; - flex-direction: row; - flex-wrap: wrap; - gap: 10px; - align-items: center; - justify-content: center; - } - diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicUploadStatus.tsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicUploadStatus.tsx deleted file mode 100644 index 607c78af64534731b4cbc0f784411659f8e0cf70..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicUploadStatus.tsx +++ /dev/null @@ -1,164 +0,0 @@ -import * as React from "react"; -import { - FileMosaic, - useFakeProgress, - ExtFile, - UPLOADSTATUS, - FileCard, -} from "../../../files-ui"; -import TypeHighlight from "../../typeHighlight/TypeHighlight"; - -import "./DemoFileMosaicUpload.scss"; -const DemoFileMosaicUploadStatus = (props: { card?: boolean }) => { - const progress = useFakeProgress(); - - const [status1, setStatus1] = React.useState<UPLOADSTATUS>("uploading"); - const [status2, setStatus2] = React.useState<UPLOADSTATUS>("uploading"); - const [status3, setStatus3] = React.useState<UPLOADSTATUS>("uploading"); - - React.useEffect(() => { - //schedule an interval - const _myInterval = setInterval(() => { - //set the uploadstatus result - setStatus1((_status) => setNextUploadState(_status, "aborted")); - setStatus2((_status) => setNextUploadState(_status, "error")); - setStatus3((_status) => setNextUploadState(_status, "success")); - }, 5000); - - //clean - return () => { - console.log("clear interval", _myInterval); - clearInterval(_myInterval as NodeJS.Timer); - }; - }, []); - - const handleCancel = (id: string | number | undefined) => { - console.log("Upload canceled in file: " + id); - }; - const handleAbort = (id: string | number | undefined) => { - console.log("Upload aborted in file: " + id); - }; - if (props.card) - return ( - <> - <FlexRowContainer card title={"preparing stage"}> - <FileCard {...preparingFile} onClick={()=>alert("haaaaaa")}/> - <FileCard {...preparingFile} onCancel={handleCancel} onClick={()=>alert("haaaaaa")}/> - </FlexRowContainer> - - <FlexRowContainer card title={"uploading stage"}> - <FileCard {...uploadingFile} onClick={()=>alert("haaaaaa")}/> - <FileCard {...uploadingFile} progress={progress} onClick={()=>alert("haaaaaa")} /> - <FileCard {...uploadingFile} onAbort={handleAbort} onClick={()=>alert("haaaaaa")}/> - <FileCard - {...uploadingFile} - onAbort={handleAbort} - progress={progress} onClick={()=>alert("haaaaaa")} - /> - </FlexRowContainer> - - <FlexRowContainer card title={"upload result stage"}> - <FileCard {...uploadResultFiles[0]} uploadStatus={status1} onClick={()=>alert("haaaaaa")}/> - <FileCard {...uploadResultFiles[1]} uploadStatus={status2} onClick={()=>alert("haaaaaa")}/> - <FileCard {...uploadResultFiles[2]} uploadStatus={status3} onClick={()=>alert("haaaaaa")}/> - </FlexRowContainer> - </> - ); - return ( - <> - <FlexRowContainer title={"preparing stage"}> - <FileMosaic {...preparingFile} onClick={()=>alert("haaaaaa")}/> - <FileMosaic {...preparingFile} onCancel={handleCancel} onClick={()=>alert("haaaaaa")}/> - </FlexRowContainer> - - <FlexRowContainer title={"uploading stage"}> - <FileMosaic {...uploadingFile} onClick={()=>alert("haaaaaa")}/> - <FileMosaic {...uploadingFile} progress={progress} onClick={()=>alert("haaaaaa")}/> - <FileMosaic {...uploadingFile} onAbort={handleAbort} onClick={()=>alert("haaaaaa")}/> - <FileMosaic - {...uploadingFile} - onAbort={handleAbort} - progress={progress} - onClick={()=>alert("haaaaaa")} - /> - </FlexRowContainer> - - <FlexRowContainer title={"upload result stage"}> - <FileMosaic {...uploadResultFiles[0]} uploadStatus={status1} onClick={()=>alert("haaaaaa")} /> - <FileMosaic {...uploadResultFiles[1]} uploadStatus={status2} onClick={()=>alert("haaaaaa")} /> - <FileMosaic {...uploadResultFiles[2]} uploadStatus={status3} onClick={()=>alert("haaaaaa")}/> - </FlexRowContainer> - </> - ); -}; -export default DemoFileMosaicUploadStatus; - -const FlexRowContainer = (props: { - children: React.ReactNode; - card?: boolean; - title?: string; -}) => { - const { children, card, title } = props; - return ( - <React.Fragment> - {!card && <h4 style={{ margin: 0 }}>{title}</h4>} - <div - className={ - card ? "flex-container-group-card" : "flex-container-group-mosaic" - } - > - {card && <h4 style={{ margin: 0 }}>{title}</h4>} - {children} - </div> - </React.Fragment> - ); -}; - -const setNextUploadState = ( - prevState: UPLOADSTATUS, - nextStatus: UPLOADSTATUS -): UPLOADSTATUS => { - if (prevState === "uploading") return nextStatus; - else return "uploading"; -}; - -const preparingFile: ExtFile = { - id: "fileId-0", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "preparing file.jsx", - uploadStatus: "preparing", -}; - -const uploadingFile: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/png", - name: "uploading file.png", - uploadStatus: "uploading", -}; - -const uploadResultFiles: ExtFile[] = [ - { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "upload aborted file.gif", - uploadMessage: "Upload was aborted by the user", - }, - { - id: "fileId-3", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "upload with error file.jpg", - uploadMessage: - "File couldn't be uploaded to Files-ui earthquakes. File was too big.", - }, - { - id: "fileId-4", - size: 28 * 1024 * 1024, - type: "image/png", - name: "successfully uploaded file.png", - uploadMessage: "File was uploaded correctly to Files-ui earthquakes", - }, -]; diff --git a/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx b/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx deleted file mode 100644 index 5d0f5aa78b01359204b717a01d6bd23cce319dc4..0000000000000000000000000000000000000000 --- a/src/components/demo-components/filemosaic-demo/DemoFileMosaicValidation.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import * as React from "react"; -import { FileCard, FileMosaic } from "../../../files-ui"; - -const DemoFileMosaicValidation = ({ card }) => { - if (card) - return ( - <> - {sampleFilesProps.map((extFile) => ( - <FileCard key={extFile.id} {...extFile} info /> - ))} - </> - ); - - return ( - <> - {sampleFilesProps.map((extFile) => ( - <FileMosaic key={extFile.id} {...extFile} info /> - ))} - </> - ); -}; -export default DemoFileMosaicValidation; - -const sampleFilesProps = [ - { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "text/plain", - name: "file created from props.jsx", - }, - { - id: "fileId-2", - size: 28 * 1024 * 1024, - type: "image/png", - name: "valid file created from props.png", - valid: false, - errors: ["File is too big", "File type is not allowed"], - }, - { - id: "fileId-3", - size: 28 * 1024 * 1024, - type: "image/jpeg", - name: "non valid file created from props.jpg", - valid: true, - }, -]; \ No newline at end of file diff --git a/src/components/demo-components/fullsceen/CodeDemoFullScreenImg.tsx b/src/components/demo-components/fullsceen/CodeDemoFullScreenImg.tsx deleted file mode 100644 index 190f11db5e904b34aee6c00a06b02b281bef1439..0000000000000000000000000000000000000000 --- a/src/components/demo-components/fullsceen/CodeDemoFullScreenImg.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoFullScrrenImg = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoFullScrrenImg; - -const splittedCodeJS = `<FileCard id={0} {...imageSample} onSee={handleSee} /> -<FileMosaic id={0} {...imageSample} onSee={handleSee} /> -<FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} -> - <ImagePreview src={imgSrc} /> -</FullScreen> - -const imageSample = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "Iron man in stark tower.gif", - imageUrl: - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -};`; - -const completeCodeJS = `import * as React from "react"; -import { FileCard, FileMosaic, FullScreen, ImagePreview } from "@files-ui/react"; - -const imageSample = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "Iron man in stark tower.gif", - imageUrl: - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -}; - -export default function App() { - const [imgSrc, setImgSrc] = React.useState(undefined); - const handleSee = (imageSource) => { - setImgSrc(imageSource); - }; - return ( - <> - <FileCard id={0} {...imageSample} onSee={handleSee} /> - <FileMosaic id={0} {...imageSample} onSee={handleSee} /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - </> - ); -};`; - -const splittedCodeTS = `<FileCard id={0} {...imageSample} onSee={handleSee} /> -<FileMosaic id={0} {...imageSample} onSee={handleSee} /> -<FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} -> - <ImagePreview src={imgSrc} /> -</FullScreen> - -const imageSample: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "Iron man in stark tower.gif", - imageUrl: - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -};`; -const completeCodeTS = `import * as React from "react"; -import { ExtFile, FileCard, FileMosaic, FullScreen, ImagePreview } from "@files-ui/react"; - -const imageSample: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "Iron man in stark tower.gif", - imageUrl: - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -}; - -export default function App() { - const [imgSrc, setImgSrc] = React.useState<string | undefined>(undefined); - const handleSee = (imageSource: string | undefined) => { - setImgSrc(imageSource); - }; - return ( - <> - <FileCard id={0} {...imageSample} onSee={handleSee} /> - <FileMosaic id={0} {...imageSample} onSee={handleSee} /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - </> - ); -};`; diff --git a/src/components/demo-components/fullsceen/CodeDemoFullScreenVid.tsx b/src/components/demo-components/fullsceen/CodeDemoFullScreenVid.tsx deleted file mode 100644 index f355012a7f137469bb9a14bbaa1670133847418c..0000000000000000000000000000000000000000 --- a/src/components/demo-components/fullsceen/CodeDemoFullScreenVid.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoFullScrrenVid = () => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeDemoFullScrrenVid; - -const splittedCodeJS = `<FileCard id={0} {...videoSample} onWatch={handleWatch} /> -<FileMosaic id={0} {...videoSample} onWatch={handleWatch} /> -<FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} -> - <VideoPreview src={videoSrc} autoPlay controls /> -</FullScreen> - -const videoSample = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "Thor arrives wakanda.mp4", - videoUrl: ThorArrivesWakandaEN, -};`; - -const completeCodeJS = `import * as React from "react"; -import { FileCard, FileMosaic, FullScreen, ImagePreview } from "@files-ui/react"; - -const videoSample = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "Thor arrives wakanda.mp4", - videoUrl: ThorArrivesWakandaEN, -}; - -export default function App() { - const [videoSrc, setVideoSrc] = React.useState(undefined); - const handleWatch = (videoSource) => { - setVideoSrc(videoSource); - }; - return ( - <> - <FileCard id={0} {...videoSample} onWatch={handleWatch} /> - <FileMosaic id={0} {...videoSample} onWatch={handleWatch} /> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -};`; - -const splittedCodeTS = `<FileCard id={0} {...videoSample} onWatch={handleWatch} /> -<FileMosaic id={0} {...videoSample} onWatch={handleWatch} /> -<FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} -> - <VideoPreview src={videoSrc} autoPlay controls /> -</FullScreen> - -const videoSample: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "Thor arrives wakanda.mp4", - videoUrl: ThorArrivesWakandaEN, -};`; - -const completeCodeTS = `import * as React from "react"; -import { ExtFile, FileCard, FileMosaic, FullScreen, ImagePreview } from "@files-ui/react"; - -const videoSample: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "Thor arrives wakanda.mp4", - videoUrl: ThorArrivesWakandaEN, -}; - -export default function App() { - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - const handleWatch = (videoSource: File | string | undefined) => { - setVideoSrc(videoSource); - }; - return ( - <> - <FileCard id={0} {...videoSample} onWatch={handleWatch} /> - <FileMosaic id={0} {...videoSample} onWatch={handleWatch} /> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -};`; diff --git a/src/components/demo-components/fullsceen/DemoFullScreenImg.tsx b/src/components/demo-components/fullsceen/DemoFullScreenImg.tsx deleted file mode 100644 index 6959c4e9f1746c0d10dab0e26e729ed2b4ef96c3..0000000000000000000000000000000000000000 --- a/src/components/demo-components/fullsceen/DemoFullScreenImg.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import * as React from "react"; -import { - ExtFile, - FileCard, - FileMosaic, - FullScreen, - ImagePreview, -} from "../../../files-ui"; - -const DemoFullScreenImg = () => { - const [imgSrc, setImgSrc] = React.useState<string | undefined>(undefined); - const handleSee = (imageSource: string | undefined) => { - setImgSrc(imageSource); - }; - return ( - <> - <FileCard id={0} {...imageSample} onSee={handleSee} /> - <FileMosaic id={0} {...imageSample} onSee={handleSee} /> - <FullScreen - open={imgSrc !== undefined} - onClose={() => setImgSrc(undefined)} - > - <ImagePreview src={imgSrc} /> - </FullScreen> - </> - ); -}; -export default DemoFullScreenImg; - -const imageSample: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "image/gif", - name: "Iron man in stark tower.gif", - imageUrl: - "https://i.pinimg.com/originals/b6/1d/6a/b61d6a1079d8e54932dcde9dc260dd2e.gif", -}; diff --git a/src/components/demo-components/fullsceen/DemoFullScreenVid.tsx b/src/components/demo-components/fullsceen/DemoFullScreenVid.tsx deleted file mode 100644 index 763f7f6d972484d8ff1895fd5f1a4b1e467e00f6..0000000000000000000000000000000000000000 --- a/src/components/demo-components/fullsceen/DemoFullScreenVid.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import * as React from "react"; -import { - ExtFile, - FileCard, - FileMosaic, - FullScreen, - VideoPreview, -} from "../../../files-ui"; -import { ThorArrivesWakandaEN } from "../../../data/videoLinks"; - -const DemoFullScreenVid = () => { - const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>( - undefined - ); - const handleWatch = (videoSource: File | string | undefined) => { - setVideoSrc(videoSource); - }; - return ( - <> - <FileCard id={0} {...videoSample} onWatch={handleWatch} /> - <FileMosaic id={0} {...videoSample} onWatch={handleWatch} /> - <FullScreen - open={videoSrc !== undefined} - onClose={() => setVideoSrc(undefined)} - > - <VideoPreview src={videoSrc} autoPlay controls /> - </FullScreen> - </> - ); -}; -export default DemoFullScreenVid; - -const videoSample: ExtFile = { - id: "fileId-1", - size: 28 * 1024 * 1024, - type: "video/mp4", - name: "Thor arrives wakanda.mp4", - videoUrl: ThorArrivesWakandaEN, -}; diff --git a/src/components/demo-components/global-demo/CodeDemoGlobalConfig.tsx b/src/components/demo-components/global-demo/CodeDemoGlobalConfig.tsx deleted file mode 100644 index 31888d4eccb185d1b24da6cb8d2f8a4bfb873912..0000000000000000000000000000000000000000 --- a/src/components/demo-components/global-demo/CodeDemoGlobalConfig.tsx +++ /dev/null @@ -1,687 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeDemoGlobalConfig = ({ card = false }) => { - if (!card) - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS} - codeCompleteTS={completeCodeTS} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJSCard} - codeCompleteTS={completeCodeTSCard} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJSCard} - codeSplittedTS={splittedCodeTSCard} - /> - ); -}; -export default CodeDemoGlobalConfig; - -const splittedCodeJS = `<FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons , - }} -> -{/** components here */} -</FilesUiProvider>`; -const splittedCodeTS = splittedCodeJS; -const completeCodeJS = ` -import * as React from "react"; -import { - Dropzone, - FileMosaic, - FilesUiProvider, -} from "@files-ui/react"; -import { Autocomplete, TextField, Button } from "@mui/material"; -import "./DemoGlobals.css"; - -const DemoGlobalConfig = () => { - const [localization, setLocalization] = React.useState(undefined); - - const [darkModeOn, setDarkModeOn] = React.useState(false); - const [otherIcons, setOtherIcons] = React.useState(true); - - const hadleSelect = (value) => { - console.log(value); - setLocalization(value?.value); - }; - const iconsConfig = { - //local resource - docx: "/other_icons/wordicon.png", - //external resource - pdf: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDw14VqtuvUv74kiT1anhx6eRb_JjOXBxeqA&usqp=CAU", - }; - return ( - <FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons ? iconsConfig : undefined, - }} - > - <div className="demo-controls-container"> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <Button - variant="contained" - onClick={() => setDarkModeOn((_darkModeOn) => !_darkModeOn)} - > - {darkModeOn ? "turn on light" : "turn off light"} - </Button> - <Button - variant="outlined" - onClick={() => setOtherIcons((_otherIcons) => !_otherIcons)} - > - {!otherIcons ? "Other icons" : "Default icons"} - </Button> - </div> - - <div - className="demo-localization-container" - style={{ - backgroundColor: darkModeOn ? "#121212" : "white", - }} - > - <div className="dropzone-filemosaic-container"> - <Dropzone - value={[]} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={10} - ></Dropzone> - </div> - - <div className="dropzone-filemosaic-container"> - {extFiles.map((extFile, index) => ( - <FileMosaic key={index} {...extFile} onDelete={() => {}} info /> - ))} - </div> - </div> - </FilesUiProvider> - ); -}; -export default DemoGlobalConfig; - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles= [ - { - id: 0, - name: "file_global_conf.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_global_conf.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -]; -`; -const completeCodeTS = `import * as React from "react"; -import { - Dropzone, - ExtFile, - FileMosaic, - Localization, - FilesUiProvider, - IconsSet, -} from "@files-ui/react"; -import { Autocomplete, TextField, Button } from "@mui/material"; -import "./DemoGlobals.css"; - -const DemoGlobalConfig = () => { - const [localization, setLocalization] = React.useState< - Localization | undefined - >(undefined); - - const [darkModeOn, setDarkModeOn] = React.useState<boolean>(false); - const [otherIcons, setOtherIcons] = React.useState<boolean>(true); - - const hadleSelect = (value: LanguageItem | null) => { - console.log(value); - setLocalization(value?.value); - }; - const iconsConfig: IconsSet = { - //local resource - docx: "/other_icons/wordicon.png", - //external resource - pdf: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDw14VqtuvUv74kiT1anhx6eRb_JjOXBxeqA&usqp=CAU", - }; - return ( - <FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons ? iconsConfig : undefined, - }} - > - <div className="demo-controls-container"> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <Button - variant="contained" - onClick={() => setDarkModeOn((_darkModeOn) => !_darkModeOn)} - > - {darkModeOn ? "turn on light" : "turn off light"} - </Button> - <Button - variant="outlined" - onClick={() => setOtherIcons((_otherIcons) => !_otherIcons)} - > - {!otherIcons ? "Other icons" : "Default icons"} - </Button> - </div> - - <div - className="demo-localization-container" - style={{ - backgroundColor: darkModeOn ? "#121212" : "white", - }} - > - <div className="dropzone-filemosaic-container"> - <Dropzone - value={[]} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={10} - ></Dropzone> - </div> - - <div className="dropzone-filemosaic-container"> - {extFiles.map((extFile, index) => ( - <FileMosaic key={index} {...extFile} onDelete={() => {}} info /> - ))} - </div> - </div> - </FilesUiProvider> - ); -}; -export default DemoGlobalConfig; - -interface LanguageItem { - language: string; - value: Localization; -} - -const languages: LanguageItem = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles: ExtFile[] = [ - { - id: 0, - name: "file_global_conf.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_global_conf.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -];`; - -const splittedCodeJSCard = splittedCodeJS; -const splittedCodeTSCard = splittedCodeJS; -const completeCodeTSCard = `import * as React from "react"; -import { - ExtFile, - Localization, - FileInputButton, - FileCard, - FilesUiProvider, - IconsSet, -} from "@files-ui/react"; -import { Autocomplete, TextField, Button } from "@mui/material"; -import "./DemoGlobals.css"; - -const DemoGlobalConfig = () => { - const [localization, setLocalization] = React.useState< - Localization | undefined - >(undefined); - - const [darkModeOn, setDarkModeOn] = React.useState<boolean>(false); - const [otherIcons, setOtherIcons] = React.useState<boolean>(true); - - const hadleSelect = (value: LanguageItem | null) => { - console.log(value); - setLocalization(value?.value); - }; - const iconsConfig: IconsSet = { - //local resource - docx: "/other_icons/wordicon.png", - //external resource - pdf: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDw14VqtuvUv74kiT1anhx6eRb_JjOXBxeqA&usqp=CAU", - }; - return ( - <FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons ? iconsConfig : undefined, - }} - > - <div className="demo-controls-container"> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <Button - variant="contained" - onClick={() => setDarkModeOn((_darkModeOn) => !_darkModeOn)} - > - {darkModeOn ? "turn on light" : "turn off light"} - </Button> - <Button - variant="outlined" - onClick={() => setOtherIcons((_otherIcons) => !_otherIcons)} - > - {!otherIcons ? "Other icons" : "Default icons"} - </Button> - </div> - <div - className="demo-localization-container" - style={{ - backgroundColor: darkModeOn ? "#121212" : "white", - }} - > - <div className="inputbutton-container"> - <FileInputButton value={[]} /> - </div> - <div className="filecard-container"> - {extFiles.map((extFile, index) => ( - <FileCard key={index} {...extFile} onDelete={() => {}} info /> - ))} - </div> - </div> - </FilesUiProvider> -}; -export default DemoGlobalConfig; - -interface LanguageItem { - language: string; - value: Localization; -} - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles: ExtFile[] = [ - { - id: 0, - name: "file_global_conf.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_global_conf.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -];`; -const completeCodeJSCard = `import * as React from "react"; -import { - FileInputButton, - FileCard, - FilesUiProvider, -} from "@files-ui/react"; -import { Autocomplete, TextField, Button } from "@mui/material"; -import "./DemoGlobals.css"; - -const DemoGlobalConfig = () => { - const [localization, setLocalization] = React.useState(undefined); - - const [darkModeOn, setDarkModeOn] = React.useState(false); - const [otherIcons, setOtherIcons] = React.useState(true); - - const hadleSelect = (value) => { - console.log(value); - setLocalization(value?.value); - }; - const iconsConfig = { - //local resource - docx: "/other_icons/wordicon.png", - //external resource - pdf: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDw14VqtuvUv74kiT1anhx6eRb_JjOXBxeqA&usqp=CAU", - }; - return ( - <FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons ? iconsConfig : undefined, - }} - > - <div className="demo-controls-container"> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <Button - variant="contained" - onClick={() => setDarkModeOn((_darkModeOn) => !_darkModeOn)} - > - {darkModeOn ? "turn on light" : "turn off light"} - </Button> - <Button - variant="outlined" - onClick={() => setOtherIcons((_otherIcons) => !_otherIcons)} - > - {!otherIcons ? "Other icons" : "Default icons"} - </Button> - </div> - <div - className="demo-localization-container" - style={{ - backgroundColor: darkModeOn ? "#121212" : "white", - }} - > - <div className="inputbutton-container"> - <FileInputButton value={[]} /> - </div> - <div className="filecard-container"> - {extFiles.map((extFile, index) => ( - <FileCard key={index} {...extFile} onDelete={() => {}} info /> - ))} - </div> - </div> - </FilesUiProvider> -}; -export default DemoGlobalConfig; - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles = [ - { - id: 0, - name: "file_global_conf.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_global_conf.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -];`; diff --git a/src/components/demo-components/global-demo/DemoGlobalConfig.tsx b/src/components/demo-components/global-demo/DemoGlobalConfig.tsx deleted file mode 100644 index 6ae26eadf2c96c25ce4225b1b2db5427aeebde3e..0000000000000000000000000000000000000000 --- a/src/components/demo-components/global-demo/DemoGlobalConfig.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - ExtFile, - FileMosaic, - Localization, - FileInputButton, - FileCard, - FilesUiProvider, - IconsSet, -} from "../../../files-ui"; -import { Autocomplete, TextField, Button } from "@mui/material"; -import "./DemoGlobals.css"; - -const DemoGlobalConfig = (props: { card: boolean }) => { - const [localization, setLocalization] = React.useState< - Localization | undefined - >(undefined); - - const [darkModeOn, setDarkModeOn] = React.useState<boolean>(false); - const [otherIcons, setOtherIcons] = React.useState<boolean>(true); - - const hadleSelect = (value: LanguageItem | null) => { - console.log(value); - setLocalization(value?.value); - }; - const iconsConfig: IconsSet = { - //local resource - docx: "/other_icons/wordicon.png", - //external resource - pdf: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDw14VqtuvUv74kiT1anhx6eRb_JjOXBxeqA&usqp=CAU", - }; - if (props.card) - return ( - <FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons ? iconsConfig : undefined, - }} - > - <div className="demo-controls-container"> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <Button - variant="contained" - onClick={() => setDarkModeOn((_darkModeOn) => !_darkModeOn)} - > - {darkModeOn ? "turn on light" : "turn off light"} - </Button> - <Button - variant="outlined" - onClick={() => setOtherIcons((_otherIcons) => !_otherIcons)} - > - {!otherIcons ? "Other icons" : "Default icons"} - </Button> - </div> - <div - className="demo-localization-container" - style={{ - backgroundColor: darkModeOn ? "#121212" : "white", - }} - > - <div className="inputbutton-container"> - <FileInputButton value={[]} /> - </div> - <div className="filecard-container"> - {extFiles.map((extFile, index) => ( - <FileCard key={index} {...extFile} onDelete={() => {}} info /> - ))} - </div> - </div> - </FilesUiProvider> - ); - return ( - <FilesUiProvider - config={{ - localization: localization, - darkMode: darkModeOn, - icons: otherIcons ? iconsConfig : undefined, - }} - > - <div className="demo-controls-container"> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => ( - <TextField {...params} label="Localization" /> - )} - /> - <Button - variant="contained" - onClick={() => setDarkModeOn((_darkModeOn) => !_darkModeOn)} - > - {darkModeOn ? "turn on light" : "turn off light"} - </Button> - <Button - variant="outlined" - onClick={() => setOtherIcons((_otherIcons) => !_otherIcons)} - > - {!otherIcons ? "Other icons" : "Default icons"} - </Button> - </div> - - <div - className="demo-localization-container" - style={{ - backgroundColor: darkModeOn ? "#121212" : "white", - }} - > - <div className="dropzone-filemosaic-container"> - <Dropzone - value={[]} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={10} - ></Dropzone> - </div> - - <div className="dropzone-filemosaic-container"> - {extFiles.map((extFile, index) => ( - <FileMosaic key={index} {...extFile} onDelete={() => {}} info /> - ))} - </div> - </div> - </FilesUiProvider> - ); -}; -export default DemoGlobalConfig; - -interface LanguageItem { - language: string; - value: Localization; -} - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles: ExtFile[] = [ - { - id: 0, - name: "file_global_conf.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_global_conf.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_global_conf.pdf", - type: "application/pdf", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_global_conf.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -]; diff --git a/src/components/demo-components/global-demo/DemoGlobals.css b/src/components/demo-components/global-demo/DemoGlobals.css deleted file mode 100644 index fda985bad43f3f10feb066544191c1b5d324107f..0000000000000000000000000000000000000000 --- a/src/components/demo-components/global-demo/DemoGlobals.css +++ /dev/null @@ -1,52 +0,0 @@ -.demo-controls-container { - display: flex; - flex-wrap: wrap; - justify-content: space-evenly; - width: 100%; - gap: 5px; -} - -.demo-localization-container { - display: flex; - align-items: center; - justify-content: center; - gap: 10px; - min-height: 50vh; - padding: 10px; -} - -.dropzone-filemosaic-container { - width: 50%; - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - gap: 1px; -} - -.inputbutton-container { - width: 100px; -} - -.filecard-container { - gap: 10px; - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; -} - -@media (max-width: 960px) { - .demo-localization-container { - flex-direction: column; - } - - .dropzone-filemosaic-container { - width: 100%; - } - - .filecard-container { - width: 100%; - flex-direction: column; - } -} \ No newline at end of file diff --git a/src/components/demo-components/icons/JSIcon.jsx b/src/components/demo-components/icons/JSIcon.jsx deleted file mode 100644 index f4a219decbcf1e54a213d213dbcf7890ff3f2611..0000000000000000000000000000000000000000 --- a/src/components/demo-components/icons/JSIcon.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from "react"; - -const JSIcon = ({ size = "20px", color = "black" }) => { - return ( - <svg - //class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-1t8mnmp" - focusable="false" - aria-hidden="true" - viewBox="0 0 24 24" - height={size} - width={size} - fill={color} - > - <path d="M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z"></path> - </svg> - ); -}; -export default JSIcon; diff --git a/src/components/demo-components/icons/TSIcon.jsx b/src/components/demo-components/icons/TSIcon.jsx deleted file mode 100644 index 889c378bc50c3323227ade6bdd0a14fa07ca55d5..0000000000000000000000000000000000000000 --- a/src/components/demo-components/icons/TSIcon.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; - -const TSIcon = ({ size = "20px", color = "black" }) => { - return ( - <svg - focusable="false" - aria-hidden="true" - viewBox="0 0 24 24" - height={size} - width={size} - fill={color} - > - <path d="M3,3H21V21H3V3M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86M13,11.25H8V12.75H9.5V20H11.25V12.75H13V11.25Z"></path> - </svg> - ); -}; -export default TSIcon; diff --git a/src/components/demo-components/localization/CodeJSFileMosaicLocalization.jsx b/src/components/demo-components/localization/CodeJSFileMosaicLocalization.jsx deleted file mode 100644 index 0f44544e576f17277926417f0edbace0840b9091..0000000000000000000000000000000000000000 --- a/src/components/demo-components/localization/CodeJSFileMosaicLocalization.jsx +++ /dev/null @@ -1,314 +0,0 @@ -import * as React from "react"; -import ShowDemoCode from "../../show-demo-code/ShowDemoCode"; - -const CodeJSFileMosaicLocalization = ({ card }) => { - return ( - <ShowDemoCode - codeCompleteJS={completeCodeJS(card)} - codeCompleteTS={completeCodeTS(card)} - codeSandboxJS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSandboxTS="https://codesandbox.io/s/dropzone-ui-basic-3j01v" - codeSplittedJS={splittedCodeJS} - codeSplittedTS={splittedCodeTS} - /> - ); -}; -export default CodeJSFileMosaicLocalization; - -const splittedCodeJS = ``; -const splittedCodeTS = ``; - -const completeCodeJS = (card) => `import * as React from "react"; -import { ${card ? "FileCard" : `FileMosaic`} } from "@files-ui/react"; -import "./styles.css"; -import { Autocomplete, TextField } from "@mui/material"; - -const App = () => { - const [localization, setLocalization] = React.useState(undefined); - - const hadleSelect = (value) => { - console.log(value); - setLocalization(value?.value); - }; - return ( - <> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => <TextField {...params} label="Localization" />} - /> - ${ - !card - ? `<div className="demo-localization-container"> - <div className="dropzone-filemosaic-container"> - <Dropzone - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={10} - localization={localization} - ></Dropzone> - </div> - <div className="dropzone-filemosaic-container"> - {extFiles.map((extFile, index) => ( - <FileMosaic - key={index} - {...extFile} - localization={localization} - onDelete={() => {}} - info - /> - ))} - </div> - </div>` - : `<div className="demo-localization-container"> - <div className="inputbutton-container"> - <FileInputButton - localization={localization} - ></FileInputButton> - </div> - <div className="filecard-container"> - {extFiles.map((extFile, index) => ( - <FileCard - key={index} - {...extFile} - localization={localization} - onDelete={() => {}} - info - /> - ))} - </div> - </div>` - } - </> - ); -}; -export default DemoFileMosaicLocalization; - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles = [ - { - id: 0, - name: "file_localization.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_localization.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -];`; - -const completeCodeTS = (card) => `import * as React from "react"; -import { ExtFile, ${ - card ? "FileCard" : `FileMosaic` -}, Localization } from "@files-ui/react"; -import "./styles.css"; -import { Autocomplete, TextField } from "@mui/material"; - -const App = () => { - const [localization, setLocalization] = React.useState< - Localization | undefined - >(undefined); - - const hadleSelect = (value: LanguageItem | null) => { - console.log(value); - setLocalization(value?.value); - }; - - return ( - <> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => <TextField {...params} label="Localization" />} - /> - ${ - !card - ? `<div className="demo-localization-container"> - <div className="dropzone-filemosaic-container"> - <Dropzone - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={10} - localization={localization} - ></Dropzone> - </div> - <div className="dropzone-filemosaic-container"> - {extFiles.map((extFile, index) => ( - <FileMosaic - key={index} - {...extFile} - localization={localization} - onDelete={() => {}} - info - /> - ))} - </div> - </div>` - : `<div className="demo-localization-container"> - <div className="inputbutton-container"> - <FileInputButton - localization={localization} - ></FileInputButton> - </div> - <div className="filecard-container"> - {extFiles.map((extFile, index) => ( - <FileCard - key={index} - {...extFile} - localization={localization} - onDelete={() => {}} - info - /> - ))} - </div> - </div>` - } - </> - ); -}; -export default DemoFileMosaicLocalization; - -interface LanguageItem { - language: string; - value: Localization; -} - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles: ExtFile[] = [ - { - id: 0, - name: "file_localization.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_localization.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -];`; diff --git a/src/components/demo-components/localization/DemoFileMosaicLocalization.tsx b/src/components/demo-components/localization/DemoFileMosaicLocalization.tsx deleted file mode 100644 index 97ee72424c23150e83a4f069a42906d0d4e4e130..0000000000000000000000000000000000000000 --- a/src/components/demo-components/localization/DemoFileMosaicLocalization.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import * as React from "react"; -import { - Dropzone, - ExtFile, - FileMosaic, - Localization, - FileInputButton, - FileCard, -} from "../../../files-ui"; -import { Autocomplete, TextField } from "@mui/material"; -import "./DemoLocalization.css"; -const DemoFileMosaicLocalization = (props: { card: boolean }) => { - const [localization, setLocalization] = React.useState< - Localization | undefined - >(undefined); - - const hadleSelect = (value: LanguageItem | null) => { - console.log(value); - setLocalization(value?.value); - }; - return ( - <> - <Autocomplete - disablePortal - autoSelect - size="small" - onChange={(e, value) => hadleSelect(value as LanguageItem)} - id="combo-box-demo" - options={languages} - sx={{ width: 300 }} - getOptionLabel={(option) => option.language} - renderInput={(params) => <TextField {...params} label="Localization" />} - /> - {props.card ? ( - <div className="demo-localization-container"> - <div className="inputbutton-container"> - <FileInputButton - //style={{ width: "400px" }} - value={[]} - localization={localization} - ></FileInputButton> - </div> - - <div className="filecard-container"> - {extFiles.map((extFile, index) => ( - <FileCard - key={index} - {...extFile} - localization={localization} - onDelete={() => {}} - info - /> - ))} - </div> - </div> - ) : ( - <div className="demo-localization-container"> - <div className="dropzone-filemosaic-container"> - <Dropzone - //value={[]} - accept={"image/*"} - maxFileSize={28 * 1024 * 1024} - maxFiles={10} - //style={{ width: "400px" }} - localization={localization} - ></Dropzone> - </div> - - <div className="dropzone-filemosaic-container"> - {extFiles.map((extFile, index) => ( - <FileMosaic - key={index} - {...extFile} - localization={localization} - onDelete={() => {}} - info - /> - ))} - </div> - </div> - )} - </> - ); -}; -export default DemoFileMosaicLocalization; - -interface LanguageItem { - language: string; - value: Localization; -} - -const languages = [ - { language: "Español: ES-es", value: "ES-es" }, - { language: "English: EN-en", value: "EN-en" }, - { language: "French: FR-fr", value: "FR-fr" }, - { language: "Italian: IT-it", value: "IT-it" }, - { language: "Portuguese: PT-pt", value: "PT-pt" }, - { language: "Russian: RU-ru", value: "RU-ru" }, - { language: "Chinese(simplified): ZH-cn", value: "ZH-cn" }, - { language: "Chinese(traditional): ZH-hk", value: "ZH-hk" }, -]; -const extFiles: ExtFile[] = [ - { - id: 0, - name: "file_localization.docx", - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 1, - valid: false, - name: "file_localization.docx", - - size: 28 * 1024, - errors: ["pdf not allowed", "file is too big"], - }, - { - id: 2, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - }, - { - id: 3, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "preparing", - }, - { - id: 4, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "uploading", - progress: 28, - }, - { - id: 5, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "aborted", - uploadMessage: "Upload was aborted", - }, - { - id: 6, - valid: false, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "error", - uploadMessage: "there was an error on the server", - }, - { - id: 7, - valid: true, - name: "file_localization.docx", - size: 28 * 1024, - uploadStatus: "success", - uploadMessage: "files-ui <3", - }, -]; diff --git a/src/components/demo-components/localization/DemoLocalization.css b/src/components/demo-components/localization/DemoLocalization.css deleted file mode 100644 index e0ec24b80d681bd778d5d41f611346508d99e696..0000000000000000000000000000000000000000 --- a/src/components/demo-components/localization/DemoLocalization.css +++ /dev/null @@ -1,43 +0,0 @@ -.demo-localization-container { - display: flex; - align-items: center; - justify-content: center; - gap: 10px; - min-height: 50vh; -} - -.dropzone-filemosaic-container { - width: 50%; - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - gap: 1px; -} - -.inputbutton-container { - width: 100px; -} - -.filecard-container { - gap: 10px; - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; -} - -@media (max-width: 960px) { - .demo-localization-container { - flex-direction: column; - } - - .dropzone-filemosaic-container { - width: 100%; - } - - .filecard-container { - width: 100%; - flex-direction: column; - } -} \ No newline at end of file diff --git a/src/components/demo-components/main-page/DropzoneMainPage.jsx b/src/components/demo-components/main-page/DropzoneMainPage.jsx deleted file mode 100644 index 0c221b9a5fe57d6fa53961e5c8cb463c9222530f..0000000000000000000000000000000000000000 --- a/src/components/demo-components/main-page/DropzoneMainPage.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import * as React from "react"; -import { Dropzone, FileMosaic } from "../../../files-ui"; - - -import DescParagraph from "../desc-paragraph/DescParagraph"; -import SubTitle from "../sub-title/SubTitle"; - -const reactFile = { - id: "HCVUNULTVJTCRU", - name: "A very very long title for a JSX file.jsx", - type: "text/plain", - size: 280000, -}; - -const baseFiles = [reactFile]; -const DropzoneMainPage = ({ darkMode = false }) => { - const [files, setFiles] = React.useState(baseFiles); - const updateFiles = (incommingFiles) => { - //do something with the files - console.log("MainPage incommingFiles", incommingFiles); - - setFiles(incommingFiles); - //even your own upload implementation - }; - const removeFile = (id) => { - setFiles(files.filter((x) => x.id !== id)); - }; - const handleSee = (imageSource) => { - console.log("handleSee-imageSource"); - }; - - return ( - <React.Fragment> - <SubTitle content={"Try this out!"} darkMode={darkMode} /> - <DescParagraph darkMode={darkMode}> - Have fun with files-ui. Just drag'n drop some files and see the magic - happens - </DescParagraph> - <Dropzone - style={{ borderRadius: "16px" }} - // minHeight="400px" - onChange={updateFiles} - value={files} - maxFileSize={28 * 1024 * 1024} - maxFiles={5} - accept=".jpg, .png, application/json, video/*, .pdf" - fakeUpload - behaviour="add" - uploadConfig={{ autoUpload: true, url: "fdbd" }} - > - {files.map((file) => ( - <FileMosaic - darkMode={darkMode} - {...file} - preview - onDelete={removeFile} - key={file.id} - info - alwaysActive - hd - onSee={handleSee} - resultOnTooltip - //uploadMessage="llalalal" - /> - ))} - </Dropzone> - - <DescParagraph margin="10px 0" darkMode={darkMode}> - <b>Note: </b> Files are not actually uploaded, this is just a demo :D - </DescParagraph> - </React.Fragment> - ); -}; -export default DropzoneMainPage; diff --git a/src/components/demo-components/sub-title/SubTitle.scss b/src/components/demo-components/sub-title/SubTitle.scss deleted file mode 100644 index 386c0467b957dc1480265bfaeb704ae0366bdfba..0000000000000000000000000000000000000000 --- a/src/components/demo-components/sub-title/SubTitle.scss +++ /dev/null @@ -1,9 +0,0 @@ -.subtitle { - font-size: 1.5rem; - line-height: 1.5; - letter-spacing: 0.1px; - //color: #1a2027; - /* &.dark-mode{ - //color:rgba(255, 255, 255, 0.7); - } */ -} diff --git a/src/components/demo-components/sub-title/SubTitle.tsx b/src/components/demo-components/sub-title/SubTitle.tsx deleted file mode 100644 index 8c2bd5b71d80ce541fbc43f358accd638be1a038..0000000000000000000000000000000000000000 --- a/src/components/demo-components/sub-title/SubTitle.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import * as React from "react"; -import { SubTitleProps } from "./SubTitleProps"; -import "./SubTitle.scss"; -const SubTitle: React.FC<SubTitleProps> = (props: SubTitleProps) => { - const { content, darkMode } = props; - return <h2 className={darkMode?"subtitle dark-mode":"subtitle"}>{content}</h2>; -}; -export default SubTitle; diff --git a/src/components/demo-components/sub-title/SubTitleProps.ts b/src/components/demo-components/sub-title/SubTitleProps.ts deleted file mode 100644 index 5f5ad0877da3638f1c9838c0776d4443d43d9188..0000000000000000000000000000000000000000 --- a/src/components/demo-components/sub-title/SubTitleProps.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type SubTitleProps = { - content?: string; - darkMode?: boolean -} \ No newline at end of file diff --git a/src/components/getting-started/InstallationNPM.jsx b/src/components/getting-started/InstallationNPM.jsx deleted file mode 100644 index b9d286326d7d4ce80f8349572da1f14e0763cc33..0000000000000000000000000000000000000000 --- a/src/components/getting-started/InstallationNPM.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Clipboard } from "rc-highlight"; -import * as React from "react"; - -const InstallationNPM = () => { - return ( - <div className="clipboard-container"> - <span style={{ color: "#60d2ff" }}> - <span style={{ color: "white" }}> - <b>{" > "}</b> - </span> - <span style={{ color: "#e2d487" }}>{"npm "} </span> - <span style={{ color: "white" }}>{"install "} </span> - <span>{"@files-ui/react"} </span> - </span> - <Clipboard - style={{ backgroundColor: "grey" }} - code="npm install @files-ui/react" - onCopyToClipboard={() => {}} - /> - </div> - ); -}; -export default InstallationNPM; diff --git a/src/components/getting-started/InstallationYarn.jsx b/src/components/getting-started/InstallationYarn.jsx deleted file mode 100644 index 8236a9baeb4f03d70b6f38fde9d3264fb055ab7a..0000000000000000000000000000000000000000 --- a/src/components/getting-started/InstallationYarn.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Clipboard } from "rc-highlight"; -import * as React from "react"; - -const InstallationYarn = () => { - return ( - <div className="clipboard-container"> - <span style={{ color: "#60d2ff" }}> - <span style={{ color: "white" }}> - <b>{" > "}</b> - </span> - <span style={{ color: "#e2d487" }}>{"yarn "} </span> - <span style={{ color: "white" }}>{"add "} </span> - <span>{"@files-ui/react"} </span> - </span> - <Clipboard - style={{ backgroundColor: "grey" }} - code="yarn add @files-ui/react" - onCopyToClipboard={() => {}} - /> - </div> - ); -}; -export default InstallationYarn; diff --git a/src/components/getting-started/Overview.tsx b/src/components/getting-started/Overview.tsx deleted file mode 100644 index 632adef375c895e0d90e88c15e75249a39ae7e97..0000000000000000000000000000000000000000 --- a/src/components/getting-started/Overview.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; -import DescParagraph from "../demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../demo-components/sub-title/SubTitle"; -import MainParagraph from "../paragraph-main/MainParagraph"; - -interface OverviewProps {} -const Overview: React.FC<OverviewProps> = (props: OverviewProps) => { - return ( - <React.Fragment> - <SubTitle content="Overview" /> - <MainParagraph> - Files UI is a library of UI components and utilities for making File - Uploads with React. - </MainParagraph> - <MainParagraph> - It includes a comprehensive collection of prebuilt components that are - ready for use in production right out of the box. - </MainParagraph> - <SubTitle content="Key features:" /> - <DescParagraph> - <ul> - <li>{"✅ File validation: Validate files before uploading."}</li> - <li>{"🎨 File Image previews: See a thumbnail preview"}</li> - <li> - { - "🖼️ Full screen image previews: Add more interacion with a full screen preview of images" - } - </li> - <li> - {"🎥 Full screen video previews. Play the video before uploading."} - </li> - <li> - { - "👀 status visualization: validation and upload status is shown on a Tooltip or on Info Layer" - } - </li> - <li> - {"✈️ File upload: Upload valid files to a server using Axios lib."} - </li> - <li>{"🎭 Out of the box design and style."}</li> - <li> - { - "🍰 Easy to use. Probably, this is the killer feature you are looking for in a package." - } - </li> - </ul> - </DescParagraph> - </React.Fragment> - ); -}; -export default Overview; diff --git a/src/components/layout-pages/FooterPage.scss b/src/components/layout-pages/FooterPage.scss deleted file mode 100644 index f20e45ba0a257ec5db8e02697894ac86162f89eb..0000000000000000000000000000000000000000 --- a/src/components/layout-pages/FooterPage.scss +++ /dev/null @@ -1,28 +0,0 @@ -.fui-page-footer-container { - display: flex; - width: 100%; - align-items: center; - justify-content: space-between; - .redirect-container { - display: flex; - align-items: center; - justify-content: center; - } - .like-icon-container { - display: flex; - align-items: center; - justify-content: center; - } - - @media (max-width: "960px") { - .redirect-container { - display: none; - } - .redirect-small-container { - display: flex; - } - .like-icon-container { - width: 100%; - } - } -} diff --git a/src/components/layout-pages/FooterPage.tsx b/src/components/layout-pages/FooterPage.tsx deleted file mode 100644 index 80baaa503062423c8a8f553372101eccc9f36453..0000000000000000000000000000000000000000 --- a/src/components/layout-pages/FooterPage.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { Button, Divider } from "@mui/material"; -import * as React from "react"; -import KeyboardArrowLeftIcon from "@mui/icons-material/KeyboardArrowLeft"; -import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight"; -import { useNavigate } from "react-router"; -import "./FooterPage.scss"; - -interface FooterPageProps { - labelBefore?: string; - labelAfter?: string; - linkBefore?: string; - linkAfter?: string; - page: string; -} -const FooterPage: React.FC<FooterPageProps> = (props: FooterPageProps) => { - const { labelAfter, labelBefore, linkAfter, linkBefore, page } = props; - const redirect = useNavigate(); - return ( - <footer> - <Divider style={{ width: "100%" }}></Divider> - <div className="fui-page-footer-container"> - <div className="redirect-small-container"> - {labelBefore && ( - <Button - startIcon={<KeyboardArrowLeftIcon />} - onClick={linkBefore ? () => redirect(linkBefore) : undefined} - > - {labelBefore} - </Button> - )} - {labelAfter && ( - <Button - endIcon={<KeyboardArrowRightIcon />} - onClick={labelAfter ? () => redirect(labelAfter) : undefined} - > - {labelAfter} - </Button> - )} - </div> - - <div className="redirect-container"> - {labelBefore && ( - <Button - startIcon={<KeyboardArrowLeftIcon />} - onClick={linkBefore ? () => redirect(linkBefore) : undefined} - > - {labelBefore} - </Button> - )} - </div> - - <div className="like-icon-container">like icons</div> - <div className="redirect-container"> - {labelAfter && ( - <Button - endIcon={<KeyboardArrowRightIcon />} - onClick={linkAfter ? () => redirect(linkAfter) : undefined} - > - {labelAfter} - </Button> - )} - </div> - </div> - </footer> - ); -}; -export default FooterPage; diff --git a/src/components/layout-pages/LayoutPage.scss b/src/components/layout-pages/LayoutPage.scss deleted file mode 100644 index 9f435c42dba715fb939824fa771825ec76ee6681..0000000000000000000000000000000000000000 --- a/src/components/layout-pages/LayoutPage.scss +++ /dev/null @@ -1,6 +0,0 @@ -.files-ui-layout { - color: #1a2027; - &.darkmode { - color: rgba(255, 255, 255, 0.7); - } -} diff --git a/src/components/layout-pages/MainContentContainer.jsx b/src/components/layout-pages/MainContentContainer.jsx deleted file mode 100644 index 2995cd30e424b75fdb7e0e2815b6635e42696d55..0000000000000000000000000000000000000000 --- a/src/components/layout-pages/MainContentContainer.jsx +++ /dev/null @@ -1,33 +0,0 @@ -import { Box } from "@mui/material"; -import * as React from "react"; - -const MainContentContainer = ({ children }) => { - return ( - <Box - - sx={{ - overflow: "hidden", - boxSizing: "border-box", - marginLeft: { xl: "240px", lg: "0px" }, - marginRight: { lg: "240px" }, - width: { - lg: `min(1000px, calc(100% - ${240}px))`, - }, - }} - > - <Box - // className="section-container" - sx={{ - boxSizing: "border-box", - width: "100%", - //backgroundColor:"grey" - - }} - > - {children} - - </Box> - </Box> - ); -}; -export default MainContentContainer; diff --git a/src/components/layout-pages/MainLayoutPage.jsx b/src/components/layout-pages/MainLayoutPage.jsx deleted file mode 100644 index 5848356e0b2f1b513575914e00ddb5e2240f81dc..0000000000000000000000000000000000000000 --- a/src/components/layout-pages/MainLayoutPage.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Stack } from "@mui/material"; -import * as React from "react"; -import { UserContext } from "../../globals/contexts/UserContext"; -import NavBarTemplate from "../../templates/NavBarTemplate"; -import "./LayoutPage.scss"; - -const MainLayoutPage = ({ children, selectedIndex }) => { - const [usuario, ] = React.useContext(UserContext); - const darkMode = usuario.darkMode; - - const finalClassName = darkMode - ? "files-ui-layout darkmode" - : "files-ui-layout"; - return ( - <NavBarTemplate selectedIndex={selectedIndex}> - <Stack - direction={"row"} - sx={{ position: "relative" }} - className={finalClassName} - > - {children} - </Stack> - </NavBarTemplate> - ); -}; -export default MainLayoutPage; diff --git a/src/components/layout-pages/RightMenuContainer.jsx b/src/components/layout-pages/RightMenuContainer.jsx deleted file mode 100644 index cc4d7d0a2c414e5e98fc18772484338bfcf051bd..0000000000000000000000000000000000000000 --- a/src/components/layout-pages/RightMenuContainer.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import { Box } from "@mui/material"; -import * as React from "react"; - -const RightMenuContainer = ({ children }) => { - return ( - <Box - sx={{ - position: "fixed", - top: 100, - right: 0, - width: "240px", - display: { lg: "flex", xs: "none" }, - }} - > - {children} - </Box> - ); -}; -export default RightMenuContainer; diff --git a/src/components/main-title/MainTitle.tsx b/src/components/main-title/MainTitle.tsx deleted file mode 100644 index b201c3ef83baa35a50a9853ddaa9ea2f30a3116d..0000000000000000000000000000000000000000 --- a/src/components/main-title/MainTitle.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; -import { UserContext } from "../../globals/contexts/UserContext"; -interface MainTitleProps { - children?: React.ReactNode; - style?: React.CSSProperties; - className?: string; -} -const MainTitle: React.FC<MainTitleProps> = (props: MainTitleProps) => { - const { children, className, style } = props; - const [usuario, ] = React.useContext(UserContext); - - // const [darkModeOn, setDarkModeOn] = React.useState(false); - const darkMode = usuario.darkMode; - return ( - <h1 - style={{ - fontSize: "2.25rem", - letterSpacing: "0.2px", - lineHeight: "1.22222", - color: darkMode ? "rgba(255, 255, 255, 0.7)" : "#0a1929", - wordBreak: "break-word", - ...style, - }} - className={className} - > - {children} - </h1> - ); -}; -export default MainTitle; diff --git a/src/components/paragraph-main/MainParagraph.scss b/src/components/paragraph-main/MainParagraph.scss deleted file mode 100644 index 468d12247467ed7ece56162add48a7358c1d99d8..0000000000000000000000000000000000000000 --- a/src/components/paragraph-main/MainParagraph.scss +++ /dev/null @@ -1,12 +0,0 @@ -.paragraph-main { - font-size: 1.125rem; - line-height: 1.3333; - letter-spacing: 0; - font-weight: 400; - margin-bottom: 16px; - margin-top: 0; - //color: #1A2027; - .darkmode{ - color: rgba(255, 255, 255, 0.7); - } -} diff --git a/src/components/paragraph-main/MainParagraph.tsx b/src/components/paragraph-main/MainParagraph.tsx deleted file mode 100644 index b5727690f7c56796ebb8f0d7200712fdc503406c..0000000000000000000000000000000000000000 --- a/src/components/paragraph-main/MainParagraph.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from "react"; -import { ParagraphMainProps } from "./MainParagraphProps"; -import "./MainParagraph.scss"; -import { UserContext } from "../../globals/contexts/UserContext"; -const MainParagraph: React.FC<ParagraphMainProps> = ( - props: ParagraphMainProps -) => { - const { content, children } = props; - const [usuario, ] = React.useContext(UserContext); - const darkModeOn = usuario.darkMode; - const className = darkModeOn ? "paragraph-main darkmode" : "paragraph-main"; - - return <p className={className}>{children || content}</p>; -}; -export default MainParagraph; diff --git a/src/components/paragraph-main/MainParagraphProps.ts b/src/components/paragraph-main/MainParagraphProps.ts deleted file mode 100644 index 2ed894b374700f61681aabd1209c694167aaf574..0000000000000000000000000000000000000000 --- a/src/components/paragraph-main/MainParagraphProps.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type ParagraphMainProps = { - content?:string; - children?:React.ReactNode; -} \ No newline at end of file diff --git a/src/components/show-demo-code/ShowDemoCode.tsx b/src/components/show-demo-code/ShowDemoCode.tsx deleted file mode 100644 index 9cd76ede050273bf83b2865b2d0c467b99065286..0000000000000000000000000000000000000000 --- a/src/components/show-demo-code/ShowDemoCode.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import { ButtonGroup, Stack, Tooltip, IconButton } from "@mui/material"; -import Button from "@mui/material/Button"; -import CodeIcon from "@mui/icons-material/Code"; -import ViewInArIcon from "@mui/icons-material/ViewInAr"; -import * as React from "react"; -import JSIcon from "../demo-components/icons/JSIcon"; -import TSIcon from "../demo-components/icons/TSIcon"; -import { Highlighter } from "rc-highlight"; -import { UserContext } from "../../globals/contexts/UserContext"; -interface ShowDemoCodeProps { - codeSandboxJS?: string; - codeSandboxTS?: string; - codeSplittedJS?: string; - codeSplittedTS?: string; - codeCompleteJS?: string; - codeCompleteTS?: string; - splittedOnly?: boolean; -} -const ShowDemoCode: React.FC<ShowDemoCodeProps> = ( - props: ShowDemoCodeProps -) => { - const { - codeSandboxJS = "https://codesandbox.io/s/dropzone-ui-basic-3j01v", - codeSandboxTS = "https://codesandbox.io/s/dropzone-ui-basic-3j01v", - codeCompleteJS = "", - codeCompleteTS = "", - codeSplittedJS = "", - codeSplittedTS = "", - splittedOnly = false, - } = props; - const [showComplete, setShowComplete] = React.useState(false); - const [showJS, setShowJS] = React.useState(true); - - const [usuario, ] = React.useContext(UserContext); - const darkMode = usuario.darkMode; - - const code: string = showComplete - ? showJS - ? codeCompleteJS - : codeCompleteTS - : showJS - ? codeSplittedJS - : codeSplittedTS; - - return ( - <React.Fragment> - {!splittedOnly && ( - <Stack - direction={"row"} - justifyContent="space-between" - style={{ margin: "20px 0" }} - > - <Stack direction={"row"} justifyContent="flex-start"> - {code.length > 0 && ( - <ButtonGroup - variant="outlined" - aria-label="outlined button group" - > - <Button - size="small" - style={ - showJS ? { backgroundColor: "rgba(4, 35, 84, 0.09)" } : {} - } - //startIcon={} - onClick={() => setShowJS(true)} - > - <JSIcon color={darkMode?"rgb(178, 186, 194)":"rgb(45, 56, 67)"}/> - </Button> - <Button - size="small" - style={ - !showJS ? { backgroundColor: "rgba(4, 35, 84, 0.09)" } : {} - } - // endIcon={} - onClick={() => setShowJS(false)} - > - <TSIcon color={darkMode?"rgb(178, 186, 194)":"rgb(45, 56, 67)"}/> - </Button> - </ButtonGroup> - )} - </Stack> - - <Stack direction={"row"} justifyContent="flex-end" spacing={1}> - <Tooltip title={showComplete ? "Hide full code" : "Show full code"}> - <IconButton - style={{ borderRadius: "50%", border: "0.5px solid #eaeef3" }} - onClick={() => setShowComplete((showComplete) => !showComplete)} - //color="secondary" - aria-label="upload picture" - component="label" - > - <CodeIcon /* htmlColor="white" */ /> - </IconButton> - </Tooltip> - <Tooltip title={"Edit in CodeSandBox"}> - <IconButton - style={{ borderRadius: "50%", border: "0.5px solid #eaeef3" }} - onClick={() => { - window?.open( - showJS ? codeSandboxJS : codeSandboxTS, - "_blank" - ); - }} - //color="secondary" - aria-label="upload picture" - component="label" - > - <ViewInArIcon /* htmlColor="white" */ /> - </IconButton> - </Tooltip> - </Stack> - </Stack> - )} - <Highlighter - onCopyToClipboard={(code_) => { - console.log("code copied to clipboard: "); - console.log(code_); - }} - style={{ - margin: "20px 0", - fontSize: "15px", - lineHeight: "", - }} - > - {code} - </Highlighter> - </React.Fragment> - ); -}; -export default ShowDemoCode; diff --git a/src/components/switch/FileCardMosaicSwitch.jsx b/src/components/switch/FileCardMosaicSwitch.jsx deleted file mode 100644 index adaf57d52ab961f8df778507649f8947b9f979cc..0000000000000000000000000000000000000000 --- a/src/components/switch/FileCardMosaicSwitch.jsx +++ /dev/null @@ -1,44 +0,0 @@ -import * as React from "react"; -import Radio from "@mui/material/Radio"; -import RadioGroup from "@mui/material/RadioGroup"; -import FormControlLabel from "@mui/material/FormControlLabel"; -import FormControl from "@mui/material/FormControl"; -import FormLabel from "@mui/material/FormLabel"; - -export default function FileCardMosaicSwitch({ - value, - onChange, - withInput = false, - row = false, -}) { - //const [value, setValue] = React.useState('female'); - - const handleChange = (event) => { - //setValue(event.target.value); - onChange?.(event.target.value); - }; - - return ( - <FormControl> - <FormLabel id="demo-controlled-radio-buttons-group">Component</FormLabel> - <RadioGroup - aria-labelledby="demo-controlled-radio-buttons-group" - name="controlled-radio-buttons-group" - value={value} - onChange={handleChange} - row={row ? undefined : "horizontal"} - > - <FormControlLabel - value="FileMosaic" - control={<Radio />} - label={withInput ? "<FileMosaic/> & <Dropzone/>" : "<FileMosaic/>"} - /> - <FormControlLabel - value="FileCard" - control={<Radio />} - label={withInput ? "<FileCard/> & <FileInputButton/>" : "<FileCard/>"} - /> - </RadioGroup> - </FormControl> - ); -} diff --git a/src/components/typeHighlight/TypeHighlight.scss b/src/components/typeHighlight/TypeHighlight.scss deleted file mode 100644 index 09626fc33465a15c129168eb98a4473e16731623..0000000000000000000000000000000000000000 --- a/src/components/typeHighlight/TypeHighlight.scss +++ /dev/null @@ -1,16 +0,0 @@ -.type-highlight { - color: rgb(147, 41, 129); - //color: #ef7ed1; - - font-size: 0.9125rem; - line-height: 1.6; - // word-break: break-all; - padding: 0px 5px; - display: inline-block; - &.np{ - padding: 0; - } - &.darkmode{ - color: #ffb6ec; - } -} diff --git a/src/components/typeHighlight/TypeHighlight.tsx b/src/components/typeHighlight/TypeHighlight.tsx deleted file mode 100644 index f52e725aee9c52959f5273b06663a9c1ae0f2446..0000000000000000000000000000000000000000 --- a/src/components/typeHighlight/TypeHighlight.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; -import { UserContext } from "../../globals/contexts/UserContext"; -import "./TypeHighlight.scss"; - -interface TypeHighlightProps { - children?: React.ReactNode; - np?: boolean; - size?: string; - darkMode?: boolean; -} -const TypeHighlight: React.FC<TypeHighlightProps> = ( - props: TypeHighlightProps -) => { - const { children, np, size } = props; - const [usuario, ] = React.useContext(UserContext); - const darkMode = usuario.darkMode; - const finaldarkmodeclassName = !darkMode - ? "type-highlight" - : "type-highlight darkmode"; - const finalNpclassName = np - ? `${finaldarkmodeclassName} np` - : finaldarkmodeclassName; - - return ( - <div className={finalNpclassName} style={{ fontSize: size }}> - {children} - </div> - ); -}; -export default TypeHighlight; diff --git a/src/components/util-components/AnchorToTab.tsx b/src/components/util-components/AnchorToTab.tsx deleted file mode 100644 index a7847b3be3f3b2d7a4f509700fcd1cc7b06e82c1..0000000000000000000000000000000000000000 --- a/src/components/util-components/AnchorToTab.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; -type AnchorToTabProps = React.HTMLProps<HTMLAnchorElement>; -const AnchorToTab: React.FC<AnchorToTabProps> = (props: AnchorToTabProps) => { - const { children, href, target, rel, ...rest } = props; - return ( - <a - href={href} - target={target || "_blank"} - rel={rel || "noopener noreferrer"} - {...rest} - > - {children} - </a> - ); -}; -export default AnchorToTab; diff --git a/src/data/ActionButtonItemAPIRows.tsx b/src/data/ActionButtonItemAPIRows.tsx deleted file mode 100644 index 384ad25b5844771dffcfbbe75e14f8fbaf531566..0000000000000000000000000000000000000000 --- a/src/data/ActionButtonItemAPIRows.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const ActionButtonItemAPIRows = [ - { - name: "children", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The content of the button.</>, - }, - { - name: "label", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The label of the button.</>, - }, - - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object applied to the main container.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. Classname is applied to the main container. - </> - ), - }, - { - name: "resetStyles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, the given class name and style properties will replace the - default ones instead of overriding them. - </> - ), - }, - { - name: "onClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the button is clicked. If given, will replace the - default behaviour.{" "} - </> - ), - }, - { - name: "disabled", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, the component is disabled.</>, - }, -]; diff --git a/src/data/ActionButtonsAPIRows.tsx b/src/data/ActionButtonsAPIRows.tsx deleted file mode 100644 index 7fce373a1423b40a9ddd50100c44142700c0f174..0000000000000000000000000000000000000000 --- a/src/data/ActionButtonsAPIRows.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../components/util-components/AnchorToTab"; - -export const ActionButtonsAPIRows = [ - { - name: "position", - type: ( - <> - <TypeHighlight np>{'"before"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"after"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <>The position of the action buttons. Before or after the component.</> - ), - }, - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object applied to the main container.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. Classname is applied to the main container. - </> - ), - }, - { - name: "uploadButton", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#actionbuttonitem">{"ActionButtonItem"}</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, the upload button will be shown. Specific props applied to the upload button. - Type definition can be found{" "} - <AnchorToTab href="/types#actionbuttonitem">{"here"}</AnchorToTab>. - </> - ), - }, - { - name: "abortButton", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#actionbuttonitem">{"ActionButtonItem"}</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, the abort button will be shown. Specific props applied to the abort button. - Type definition can be found{" "} - <AnchorToTab href="/types#actionbuttonitem">{"here"}</AnchorToTab>. - </> - ), - }, - { - name: "deleteButton", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#actionbuttonitem">{"ActionButtonItem"}</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, the delete button will be shown. Specific props applied to the delete button. - Type definition can be found{" "} - <AnchorToTab href="/types#actionbuttonitem">{"here"}</AnchorToTab>. - </> - ), - }, - { - name: "cleanButton", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#actionbuttonitem">{"ActionButtonItem"}</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, the clean button will be shown. Specific props applied to the clean button. - Type definition can be found{" "} - <AnchorToTab href="/types#actionbuttonitem">{"here"}</AnchorToTab>. - </> - ), - }, -]; diff --git a/src/data/AvatarAPIPropsRows.tsx b/src/data/AvatarAPIPropsRows.tsx deleted file mode 100644 index 4dbf77758fc4fe35d541986292e296a00764f19d..0000000000000000000000000000000000000000 --- a/src/data/AvatarAPIPropsRows.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../components/util-components/AnchorToTab"; - -export const AvatarAPIPropsRows = [ - { - name: "readOnly", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true and if a src is given, then avatar will show the image and will - not allow the user to change the picture. Also, layer on hover will not - be shown - </> - ), - }, - { - name: "src", - type: ( - <> - <TypeHighlight np>{"string"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"File"}</TypeHighlight> - </> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Image source in string format (URL) or File Object (Will be read as - URL). - </> - ), - }, - { - name: "alt", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <>Alternative label when an error occurs on loading the image</> - ), - }, - { - name: "onChange", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when an image file is selected. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(selectedFile: File) => void"}</CodeHighlight> - </> - ), - }, - { - name: "accept", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np>{"image/*"}</TypeHighlight>, - description: ( - <> - A comma-separated list of one or more file types, or{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept#unique_file_type_specifiers"> - unique file type specifiers - </AnchorToTab> - , describing which file types to allow. The default implementation of - accept checks the file's mime type or extension against this list. More - information can be found{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept"> - here - </AnchorToTab> - . - </> - ), - }, - - { - name: "emptyLabel", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>Label to be displayed when image source is not set.</>, - }, - { - name: "changeLabel", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>Label to be displayed when there is a valid source set.</>, - }, - { - name: "loadingLabel", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Label to be displayed when "isLoading" prop is set set. This will cover - the current image. - </> - ), - }, - { - name: "isLoading", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, loadingLabel will be shown.</>, - }, - { - name: "onError", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <>Callback fired when an error occured on loading the image.</> - ), - }, - { - name: "smartImgFit", - type: ( - <> - <TypeHighlight np>false</TypeHighlight> - {" | "} - <TypeHighlight np>{'"orientation"'}</TypeHighlight> - {" | "} - <TypeHighlight>{'"center"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"center"'}</TypeHighlight>, - description: ( - <> - If false, image width will be set to 100%. - <br /> - If present, image will be analized and displayed according to its heigh - and width. Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. . - <ul> - <li> - If value is "center", image will be centered and will not be - displayed complete. This the empty space is avoided. This is achived - by giving 100% to width prop if the orientation is "portrait". When - orientation is "landscape", height prop will be set to 100%. - </li> - <li> - If value is "orientation", image will be displayed complete by - giving 100% to width prop if the orientation is "landscape". When - orientation is "portrait", height prop will be set to 100%. Some - images will show an empty space. - </li> - </ul> - </> - ), - }, - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object.</>, - }, -]; diff --git a/src/data/DropzoneAPIPropsRows.tsx b/src/data/DropzoneAPIPropsRows.tsx deleted file mode 100644 index cb69fff46ac3149fd2dd12016cc60154eaa19b87..0000000000000000000000000000000000000000 --- a/src/data/DropzoneAPIPropsRows.tsx +++ /dev/null @@ -1,410 +0,0 @@ -import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../components/util-components/AnchorToTab"; - -export const DropzoneAPIPropsRows = [ - { - name: "value", - type: <TypeHighlight np>{"ExtFile"}</TypeHighlight>, - default: <TypeHighlight np>{"[]"}</TypeHighlight>, - description: ( - <> - Just like any other input component. The value of the input element, - required for a controlled component. - </> - ), - }, - { - name: "onChange", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Probably one of the most important methods (callbacks). Returns as first - parameter an array of `ExtFile` objects. This callback is fired when the - delete icon is clicked. If set, the delete icon will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(files: ExtFile[]) => void"}</CodeHighlight> - </> - ), - }, - // Validation stage - { - name: "accept", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A comma-separated list of one or more file types, or{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept#unique_file_type_specifiers"> - unique file type specifiers - </AnchorToTab> - , describing which file types to allow. The default implementation of - accept checks the file's mime type or extension against this list. More - information can be found{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept"> - here - </AnchorToTab> - . - </> - ), - }, - { - name: "maxFiles", - type: <TypeHighlight np>number</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The max number of files to be accepted.</>, - }, - { - name: "maxFileSize", - type: <TypeHighlight np>number</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The max file size allowed in bytes.</>, - }, - { - name: "validator", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the delete icon is clicked. If set, the delete icon - will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(f: File) => "}{" "} - <AnchorToTab href="/types#validatefileresponse"> - ValidateFileResponse - </AnchorToTab> - </CodeHighlight> - </> - ), - }, - { - name: "onClean", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the clean icon is clicked. If set and if validation - is active, the clean icon will be shown. - </> - ), - }, - { - name: "autoClean", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, the component will automatically remove non valid files when - user drops files or selects them from file dialog. This flag will only - work if validation is active. - </> - ), - }, - { - name: "cleanFiles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, "clean" button will be shown and every time user clicks the - buttom it will trigger the default "clean operation": Remove non valid - files. This flag will only work if validation is active. - </> - ), - }, - /////////////// UPLOAD STAGE /////////////// - { - name: "uploadConfig", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#uploadconfig">UploadConfig</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The configuration needed for uploading the files. If not set or or - uploadConfig.url is undefined the upload button will not be visible and - uploadOnDrop prop flag will not work. - </> - ), - }, - { - name: "fakeUpload", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, the component will simulate the upload operation by randomly - setting the upload status and message on each uploadable{" "} - <TypeHighlight>ExtFile</TypeHighlight>. It will also set a fake - progress. Will also ignore the uploadConfig prop and will show the - upload button - </> - ), - }, - { - name: "onUploadStart", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the upload process starts. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(uploadAbleFiles: ExtFile[]) => void"}</CodeHighlight> - <ul> - <li>uploadAbleFiles: The list of files to be uploaded.</li> - </ul> - </> - ), - }, - { - name: "onUploadFinish", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the upload process ends. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(uploadedFiles: ExtFile[]) => void"}</CodeHighlight> - <ul> - <li>uploadAbleFiles: The list of uploaded files.</li> - </ul> - </> - ), - }, - /////////////// STYLING /////////// - - { - name: "background", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np>{'"transparent'}</TypeHighlight>, - description: <>The background color for dropzone container.</>, - }, - { - name: "color", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np>{'"#646c7f"'}</TypeHighlight>, - description: <>The main color for dropzone labels and borders.</>, - }, - { - name: "minHeight", - type: ( - <> - <TypeHighlight np>string</TypeHighlight> - {" | "} - <TypeHighlight np>number</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"180px"'}</TypeHighlight>, - description: ( - <> - The min height of the component. If the value is given in number format, - "px" will be assumed - </> - ), - }, - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object applied to the main container.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. Classname is applied to the main container. - </> - ), - }, - - { - name: "label", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The label to place when no files were selected.</>, - }, - { - name: "localization", - type: ( - <> - <TypeHighlight np>{'"EN-en"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ES-es"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"FR-fr"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"IT-it"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"PT-pt"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"RU-ru"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-cn"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-hk"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"EN-en"'}</TypeHighlight>, - description: <>The language in which text labels are shown.</>, - }, - { - name: "disableRipple", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, will not show a ripple effect everytime the user drops files or - clicks the dropzone for selecting files. - </> - ), - }, - /// DRAG OPERATIONS - { - name: "onDragEnter", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Method for performing specific tasks on drag enter operations. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(evt: React.DragEvent<HTMLDivElement>) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onDragLeave", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Method for performing specific tasks on drag leave operations. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(evt: React.DragEvent<HTMLDivElement>) => void"} - </CodeHighlight> - </> - ), - }, - //ACTION BUTTONS - { - name: "actionButtons", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#actionbuttons">ActionButtons</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, buttons will be added before or after of the component. This - buttons triggresthe common opertions of the component such as clean, - upload, abort and delete all. - </> - ), - }, - { - name: "dropOnLayer", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, the drop operation will be performed in a layer that covers the - complete component container. - </> - ), - }, - { - name: "footer", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If false, hides the dropzone footer.</>, - }, - { - name: "header", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If false, hides the dropzone header.</>, - }, - - { - name: "headerConfig", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#headerconfig">HeaderConfig</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: <>Configuration related to the dropzone header.</>, - }, - { - name: "footerConfig", - type: ( - <TypeHighlight np> - <AnchorToTab href="/types#footerconfig">FooterConfig</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: <>Configuration related to the dropzone footer.</>, - }, - { - name: "disabled", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, the component is disabled.</>, - }, - { - name: "clickable", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: ( - <> - If false, the component will not be clickable. So, file dialog will not - be opened. - </> - ), - }, - { - name: "behaviour", - type: ( - <> - <TypeHighlight np>{'"add"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"replace"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"add"'}</TypeHighlight>, - description: <>The behaviour when new files are selected or dropped</>, - }, - { - name: "children", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The content of the dropozone. Tipically it is an array of{" "} - <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> components. - </> - ), - }, -]; diff --git a/src/data/ExtFileAPIRows.tsx b/src/data/ExtFileAPIRows.tsx deleted file mode 100644 index 146e804fecb8447e5667a73c79691d11419a492b..0000000000000000000000000000000000000000 --- a/src/data/ExtFileAPIRows.tsx +++ /dev/null @@ -1,158 +0,0 @@ -import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../components/util-components/AnchorToTab"; -export const ExtFileAPIRows = (darkMode = false) => [ - { - name: "id", - type: ( - <> - {" "} - <TypeHighlight darkMode={darkMode} np> - {"string"} - </TypeHighlight>{" "} - {" | "} - <TypeHighlight darkMode={darkMode} np>{"number"}</TypeHighlight> - </> - ), - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The identifier of the file</>, - }, - { - name: "file", - type: <TypeHighlight darkMode={darkMode} np>{"File"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The file object obtained from client drop or selection</>, - }, - { - name: "name", - type: <TypeHighlight darkMode={darkMode} np>{"string"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The name of the file</>, - }, - { - name: "type", - type: <TypeHighlight darkMode={darkMode} np>{"string"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The file mime type.</>, - }, - - { - name: "size", - type: <TypeHighlight darkMode={darkMode} np>{"number"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The size of the file in bytes.</>, - }, - { - name: "valid", - type: <TypeHighlight darkMode={darkMode} np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: ( - <> - If present, it will show a valid or rejected message ("valid", - "denied"). By default valid is <CodeHighlight darkMode={darkMode}>undefined</CodeHighlight>. - </> - ), - }, - { - name: "errors", - type: <TypeHighlight darkMode={darkMode} np>{"string[]"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: ( - <> - The list of errors according to the validation criteria or the result of - the given custom validation function. - </> - ), - }, - { - name: "uploadStatus", - type: ( - <TypeHighlight darkMode={darkMode} np> - <AnchorToTab href="/types#uploadstatus">{"UPLOADSTATUS"}</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The current upload status. (e.g. "uploading").</>, - }, - { - name: "uploadMessage", - type: <TypeHighlight darkMode={darkMode} np>{"string"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>A message that shows the result of the upload process.</>, - }, - { - name: "imageUrl", - type: <TypeHighlight darkMode={darkMode} np>{"string"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: ( - <> - A string representation or web url of the image that will be set to the - "src" prop of an <CodeHighlight darkMode={darkMode}>{"<img/>"}</CodeHighlight> tag. If - given, the component will use this image source instead of reading the - image file. - </> - ), - }, - { - name: "downloadUrl", - type: <TypeHighlight darkMode={darkMode} np>string</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: ( - <> - The url to be used to perform a GET request in order to download the - file. If defined, the download icon will be shown. - </> - ), - }, - { - name: "progress", - type: <TypeHighlight darkMode={darkMode} np>number</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np>undefined</TypeHighlight>, - description: ( - <> - The current percentage of upload progress. This value will have a higher - priority over the upload progress value calculated inside the component. - </> - ), - }, - { - name: "extraUploadData", - type: <TypeHighlight darkMode={darkMode} np>{"Record<string, any>"}</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: ( - <> - The additional data that will be sent to the server when files are - uploaded individually - </> - ), - }, - { - name: "extraData", - type: <TypeHighlight darkMode={darkMode} np>Object</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>Any kind of extra data that could be needed.</>, - }, - { - name: "serverResponse", - type: ( - <TypeHighlight darkMode={darkMode} np> - <AnchorToTab href="/api/dropzone#serverresponse"> - ServerResponse - </AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: <>The upload response from server.</>, - }, - { - name: "xhr", - type: <TypeHighlight darkMode={darkMode} np>XMLHttpRequest</TypeHighlight>, - default: <TypeHighlight darkMode={darkMode} np></TypeHighlight>, - description: ( - <> - A reference to the XHR object that allows the upload, progress and abort - events. - </> - ), - }, -]; diff --git a/src/data/FileCardAPIPropsRows.tsx b/src/data/FileCardAPIPropsRows.tsx deleted file mode 100644 index 94cd2d4f05a96e0d0d6a33315e123ff4b08eadfa..0000000000000000000000000000000000000000 --- a/src/data/FileCardAPIPropsRows.tsx +++ /dev/null @@ -1,409 +0,0 @@ -import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -export const FileCardAPIPropsRows = [ - { - id: 0, - name: "alwaysActive", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: ( - <> - Flag that makes all buttons visible. If{" "} - <TypeHighlight np>false</TypeHighlight>, the buttons and info will be - visible only when user triggers the hover event. - </> - ), - }, - { - id: 1, - name: "elevation", - type: ( - <> - <TypeHighlight np>false</TypeHighlight> - {" | "} - <TypeHighlight np>0</TypeHighlight> - {" | "} - <TypeHighlight np>1</TypeHighlight> - {" | "} - <TypeHighlight np>2</TypeHighlight> - {" | "} - <TypeHighlight np>3</TypeHighlight> - {" | "} - <TypeHighlight np>4</TypeHighlight> - {" | "} - <TypeHighlight np>5</TypeHighlight> - {" | ..."} - <TypeHighlight np>24</TypeHighlight> - {" | "} - <TypeHighlight np>{"'0'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'1'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'2'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'3'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'4'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'5'"}</TypeHighlight> - {" | "} - {"..."} - <TypeHighlight np>{"'24'"}</TypeHighlight> - </> - ), - default: <TypeHighlight np>4</TypeHighlight>, - description: ( - <> - Shadow depth for the FileItem container. It accepts values between 0 and - 24 inclusive. - </> - ), - }, - { - id: 2, - name: "errors", - type: <TypeHighlight np>{"string[]"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The list of errors according to the validation criteria or the result of - the given custom validation function. - </> - ), - }, - { - id: 5, - name: "id", - type: ( - <> - {" "} - <TypeHighlight np>{"string"}</TypeHighlight> {" | "} - <TypeHighlight np>{"number"}</TypeHighlight> - </> - ), - default: <TypeHighlight np></TypeHighlight>, - description: <>The identifier of the file</>, - }, - { - id: 3, - name: "file", - type: <TypeHighlight np>{"File"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The file object obtained from client drop or selection</>, - }, - { - name: "name", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The name of the file</>, - }, - { - name: "type", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The file mime type.</>, - }, - { - name: "size", - type: <TypeHighlight np>{"number"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The size of the file in bytes.</>, - }, - { - name: "valid", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If present, it will show a valid or rejected message ("valid", - "denied"). By default valid is <CodeHighlight>undefined</CodeHighlight>. - </> - ), - }, - { - id: 6, - name: "info", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, the info button will be visible</>, - }, - { - id: 7, - name: "imageUrl", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A string representation or web url of the image that will be set to the - "src" prop of an <CodeHighlight>{"<img/>"}</CodeHighlight> tag. If - given, the component will use this image source instead of reading the - image file. - </> - ), - }, - { - id: 7, - name: "backgroundBlurImage", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, a background blur image will be shown</>, - }, - { - id: 7, - name: "darkMode", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, dark mode colors are used in the component.</>, - }, - { - name: "localization", - type: ( - <> - <TypeHighlight np>{'"EN-en"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ES-es"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"FR-fr"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"IT-it"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"PT-pt"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"RU-ru"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-cn"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-hk"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"EN-en"'}</TypeHighlight>, - description: <>The language in which text labels are shown.</>, - }, - { - name: "progress", - type: <TypeHighlight np>number</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The current percentage of upload progress. This value will have a higher - priority over the upload progress value calculated inside the component. - </> - ), - }, - { - name: "xhr", - type: <TypeHighlight np>XMLHttpRequest</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A reference to the XHR object that allows the upload, progress and abort - events. - </> - ), - }, - { - name: "onSee", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the see icon is clicked. If set, the see icon will - be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {" (imageSource: string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onWatch", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the play icon is clicked. If set, the play icon will - be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(videoSource: File | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onDelete", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the delete icon is clicked. If set, the delete icon - will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(fileId: number | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onAbort", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the abort icon is clicked. If set, the abort icon - will be shown during the upload stage. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(fileId: number | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onCancel", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the cancel icon is clicked. If set, the cancel icon - will be shown only before the upload stage has started during the - preparing phase. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(fileId: number | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onDownload", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the download icon is clicked. If set, the download - icon will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - { - "(fileId: number | string | undefined, downloadUrl?: string) => void" - } - </CodeHighlight> - </> - ), - }, - { - name: "onClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the component is clicked if set. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(evt: React.MouseEvent) => void"}</CodeHighlight> - </> - ), - }, - { - name: "onDoubleClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the component is double clicked if set. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(evt: React.MouseEvent) => void"}</CodeHighlight> - </> - ), - }, - { - name: "onRightClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the component is right clicked if set. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{" (evt: React.MouseEvent) => void"}</CodeHighlight> - </> - ), - }, - { - name: "resultOnTooltip", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If present a tooltip that contains the upload message will be diplayed - on hover. - </> - ), - }, - { - name: "downloadUrl", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The url to be used to perform a GET request in order to download the - file. If defined, the download icon will be shown. - </> - ), - }, - { - name: "smartImgFit", - type: ( - <> - <TypeHighlight np>false</TypeHighlight> - {" | "} - <TypeHighlight np>{'"orientation"'}</TypeHighlight> - {" | "} - <TypeHighlight>{'"center"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"orientation"'}</TypeHighlight>, - description: ( - <> - If false, image width will be set to 100%. - <br /> - If present, image will be analized and displayed according to its heigh - and width. Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. . - <ul> - <li> - If value is "orientation", image will be displayed complete by - giving 100% to width prop if the orientation is "landscape". When - orientation is "portrait", height prop will be set to 100%. Some - images will show an empty space. - </li> - <li> - If value is "center", image will be centered and will not be - displayed complete. This the empty space is avoided. This is achived - by giving 100% to width prop if the orientation is "portrait". When - orientation is "landscape", height prop will be set to 100%. - </li> - </ul> - </> - ), - }, -]; diff --git a/src/data/FileInputButtonPropsRows.tsx b/src/data/FileInputButtonPropsRows.tsx deleted file mode 100644 index a8ca9de1080bf42125c7b27f44c4f2328fd1c08f..0000000000000000000000000000000000000000 --- a/src/data/FileInputButtonPropsRows.tsx +++ /dev/null @@ -1,281 +0,0 @@ -import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../components/util-components/AnchorToTab"; - -export const FileInputButtonPropsRows = [ - { - name: "value", - type: <TypeHighlight np>{"ExtFile"}</TypeHighlight>, - default: <TypeHighlight np>{"[]"}</TypeHighlight>, - description: ( - <> - Just like any other input component. The value of the input element, - required for a controlled component. - </> - ), - }, - { - name: "onChange", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Probably one of the most important methods (callbacks). Returns as first - parameter an array of `ExtFile` objects. This callback is fired when the - delete icon is clicked. If set, the delete icon will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(files: ExtFile[]) => void"}</CodeHighlight> - </> - ), - }, - // Validation stage - { - name: "accept", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A comma-separated list of one or more file types, or{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept#unique_file_type_specifiers"> - unique file type specifiers - </AnchorToTab> - , describing which file types to allow. The default implementation of - accept checks the file's mime type or extension against this list. More - information can be found{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept"> - here - </AnchorToTab> - . - </> - ), - }, - { - name: "maxFiles", - type: <TypeHighlight np>number</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The max number of files to be accepted.</>, - }, - { - name: "maxFileSize", - type: <TypeHighlight np>number</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The max file size allowed in bytes.</>, - }, - { - name: "validator", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the delete icon is clicked. If set, the delete icon - will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(f: File) => "}{" "} - <AnchorToTab href="/api/types#validatefileresponse"> - ValidateFileResponse - </AnchorToTab> - </CodeHighlight> - </> - ), - }, - - { - name: "autoClean", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, the component will automatically remove non valid files when - user drops files or selects them from file dialog. This flag will only - work if validation is active. - </> - ), - }, - - /////////////// UPLOAD STAGE /////////////// - { - name: "uploadConfig", - type: ( - <TypeHighlight np> - <AnchorToTab href="/api/types#uploadconfig">UploadConfig</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The configuration needed for uploading the files. If not set or or - uploadConfig.url is undefined the upload button will not be visible and - uploadOnDrop prop flag will not work. - </> - ), - }, - { - name: "fakeUpload", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, the component will simulate the upload operation by randomly - setting the upload status and message on each uploadable{" "} - <TypeHighlight>ExtFile</TypeHighlight>. It will also set a fake - progress. Will also ignore the uploadConfig prop and will show the - upload button - </> - ), - }, - { - name: "onUploadStart", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the upload process starts. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(uploadAbleFiles: ExtFile[]) => void"}</CodeHighlight> - <ul> - <li>uploadAbleFiles: The list of files to be uploaded.</li> - </ul> - </> - ), - }, - { - name: "onUploadFinish", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the upload process ends. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(uploadedFiles: ExtFile[]) => void"}</CodeHighlight> - <ul> - <li>uploadAbleFiles: The list of uploaded files.</li> - </ul> - </> - ), - }, - /////////////// STYLING /////////// - - { - name: "color", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np>{'"#646c7f"'}</TypeHighlight>, - description: <>The main color for background, hover and borders.</>, - }, - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object.</>, - }, - { - name: "textColor", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np>{'"transparent'}</TypeHighlight>, - description: <>The color of the text.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. - </> - ), - }, - - { - name: "label", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The text label for the button.</>, - }, - { - name: "localization", - type: ( - <> - <TypeHighlight np>{'"EN-en"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ES-es"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"FR-fr"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"IT-it"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"PT-pt"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"RU-ru"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-cn"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-hk"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"EN-en"'}</TypeHighlight>, - description: <>The language in which text labels are shown.</>, - }, - { - name: "disableRipple", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, will not show a ripple effect everytime the user clicks the - components for selecting files. - </> - ), - }, - - //ACTION BUTTONS - { - name: "actionButtons", - type: ( - <TypeHighlight np> - <AnchorToTab href="/api/types#actionbuttons">ActionButtons</AnchorToTab> - </TypeHighlight> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If set, buttons will be added before or after of the component. This - buttons triggresthe common opertions of the component such as clean, - upload, abort and delete all. - </> - ), - }, - - { - name: "disabled", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, the component is disabled.</>, - }, - { - name: "behaviour", - type: ( - <> - <TypeHighlight np>{'"add"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"replace"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"add"'}</TypeHighlight>, - description: <>The behaviour when new files are selected or dropped</>, - }, - { - name: "children", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The content of the component.</>, - }, -]; diff --git a/src/data/FileMosaicAPIPropsRows.tsx b/src/data/FileMosaicAPIPropsRows.tsx deleted file mode 100644 index 5fd7513da530e5c9b1b5ed7cbc54d383ff70a831..0000000000000000000000000000000000000000 --- a/src/data/FileMosaicAPIPropsRows.tsx +++ /dev/null @@ -1,410 +0,0 @@ -import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; -export const FileMosaicAPIPropsRows = [ - { - id: 0, - name: "alwaysActive", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: ( - <> - Flag that makes all buttons visible. If{" "} - <TypeHighlight np>false</TypeHighlight>, the buttons and info will be - visible only when user triggers the hover event. - </> - ), - }, - /* { - id: 1, - name: "elevation", - type: ( - <> - <TypeHighlight np>false</TypeHighlight> - {" | "} - <TypeHighlight np>0</TypeHighlight> - {" | "} - <TypeHighlight np>1</TypeHighlight> - {" | "} - <TypeHighlight np>2</TypeHighlight> - {" | "} - <TypeHighlight np>3</TypeHighlight> - {" | "} - <TypeHighlight np>4</TypeHighlight> - {" | "} - <TypeHighlight np>5</TypeHighlight> - {" | ..."} - <TypeHighlight np>24</TypeHighlight> - {" | "} - <TypeHighlight np>{"'0'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'1'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'2'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'3'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'4'"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"'5'"}</TypeHighlight> - {" | "} - {"..."} - <TypeHighlight np>{"'24'"}</TypeHighlight> - </> - ), - default: <TypeHighlight np>4</TypeHighlight>, - description: ( - <> - Shadow depth for the FileItem container. It accepts values between 0 and - 24 inclusive. - </> - ), - }, */ - - { - id: 5, - name: "id", - type: ( - <> - {" "} - <TypeHighlight np>{"string"}</TypeHighlight> {" | "} - <TypeHighlight np>{"number"}</TypeHighlight> - </> - ), - default: <TypeHighlight np></TypeHighlight>, - description: <>The identifier of the file</>, - }, - { - id: 3, - name: "file", - type: <TypeHighlight np>{"File"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The file object obtained from client drop or selection</>, - }, - { - name: "name", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The name of the file</>, - }, - { - name: "type", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The file mime type.</>, - }, - { - name: "size", - type: <TypeHighlight np>{"number"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The size of the file in bytes.</>, - }, - { - name: "valid", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If present, it will show a valid or rejected message ("valid", - "denied"). By default valid is <CodeHighlight>undefined</CodeHighlight>. - </> - ), - }, - { - id: 2, - name: "errors", - type: <TypeHighlight np>{"string[]"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The list of errors according to the validation criteria or the result of - the given custom validation function. - </> - ), - }, - { - id: 6, - name: "info", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, the info button will be visible</>, - }, - { - id: 7, - name: "imageUrl", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A string representation or web url of the image that will be set to the - "src" prop of an <CodeHighlight>{"<img/>"}</CodeHighlight> tag. If - given, the component will use this image source instead of reading the - image file. - </> - ), - }, - { - id: 7, - name: "backgroundBlurImage", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, a background blur image will be shown</>, - }, - { - id: 7, - name: "darkMode", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np>false</TypeHighlight>, - description: <>If true, dark mode colors are used in the component.</>, - }, - { - name: "localization", - type: ( - <> - <TypeHighlight np>{'"EN-en"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ES-es"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"FR-fr"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"IT-it"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"PT-pt"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"RU-ru"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-cn"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"ZH-hk"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"EN-en"'}</TypeHighlight>, - description: <>The language in which text labels are shown.</>, - }, - { - name: "progress", - type: <TypeHighlight np>number</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The current percentage of upload progress. This value will have a higher - priority over the upload progress value calculated inside the component. - </> - ), - }, - { - name: "xhr", - type: <TypeHighlight np>XMLHttpRequest</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A reference to the XHR object that allows the upload, progress and abort - events. - </> - ), - }, - { - name: "onSee", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the see icon is clicked. If set, the see icon will - be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {" (imageSource: string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onWatch", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the play icon is clicked. If set, the play icon will - be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(videoSource: File | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onDelete", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the delete icon is clicked. If set, the delete icon - will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(fileId: number | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onAbort", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the abort icon is clicked. If set, the abort icon - will be shown during the upload stage. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(fileId: number | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onCancel", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the cancel icon is clicked. If set, the cancel icon - will be shown only before the upload stage has started during the - preparing phase. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - {"(fileId: number | string | undefined) => void"} - </CodeHighlight> - </> - ), - }, - { - name: "onDownload", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the download icon is clicked. If set, the download - icon will be shown. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight> - { - "(fileId: number | string | undefined, downloadUrl?: string) => void" - } - </CodeHighlight> - </> - ), - }, - { - name: "onClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the component is clicked if set. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(evt: React.MouseEvent) => void"}</CodeHighlight> - </> - ), - }, - { - name: "onDoubleClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the component is double clicked if set. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{"(evt: React.MouseEvent) => void"}</CodeHighlight> - </> - ), - }, - { - name: "onRightClick", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Callback fired when the component is right clicked if set. - <br /> - <strong>Signature:</strong> - <br /> - <CodeHighlight>{" (evt: React.MouseEvent) => void"}</CodeHighlight> - </> - ), - }, - { - name: "resultOnTooltip", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If present a tooltip that contains the upload message will be diplayed - on hover. - </> - ), - }, - { - name: "downloadUrl", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The url to be used to perform a GET request in order to download the - file. If defined, the download icon will be shown. - </> - ), - }, - { - name: "smartImgFit", - type: ( - <> - <TypeHighlight np>false</TypeHighlight> - {" | "} - <TypeHighlight np>{'"orientation"'}</TypeHighlight> - {" | "} - <TypeHighlight>{'"center"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"orientation"'}</TypeHighlight>, - description: ( - <> - If false, image width will be set to 100%. - <br /> - If present, image will be analized and displayed according to its heigh - and width. Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. . - <ul> - <li> - If value is "orientation", image will be displayed complete by - giving 100% to width prop if the orientation is "landscape". When - orientation is "portrait", height prop will be set to 100%. Some - images will show an empty space. - </li> - <li> - If value is "center", image will be centered and will not be - displayed complete. This the empty space is avoided. This is achived - by giving 100% to width prop if the orientation is "portrait". When - orientation is "landscape", height prop will be set to 100%. - </li> - </ul> - </> - ), - }, -]; diff --git a/src/data/FilesUiConfigAPIRows.tsx b/src/data/FilesUiConfigAPIRows.tsx deleted file mode 100644 index 53d2ebdf36e7686c9409b57b242641623a7cc825..0000000000000000000000000000000000000000 --- a/src/data/FilesUiConfigAPIRows.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const FilesUiConfigAPIRows = [ - { - name: "success", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, it means that the request was successful.</>, - }, - { - name: "message", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>A message that describes the result of the request.</>, - }, - { - name: "payload", - type: <TypeHighlight np>Object</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The response of the server.</>, - }, -]; diff --git a/src/data/FooterConfigAPIRows.tsx b/src/data/FooterConfigAPIRows.tsx deleted file mode 100644 index fb75138072fa02182b1d982ef273d05d7fa3982d..0000000000000000000000000000000000000000 --- a/src/data/FooterConfigAPIRows.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const FooterConfigAPIRows = [ - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object applied to the main container.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. Classname is applied to the main container. - </> - ), - }, - { - name: "resetStyles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, the given class name and style properties will replace the - default ones instead of overriding them. - </> - ), - }, - - { - name: "allowedTypesLabel", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If false, the label that indicates the allowed files types will not be - shown. - </> - ), - }, - { - name: "uploadProgressMessage", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If false, the label that indicates the current upload progress will not - be shown. - </> - ), - }, - { - name: "uploadResultMessage", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If false, the label that indicates the final result of the upload - progress will not be shown. - </> - ), - }, - { - name: "noMissingFilesLabel", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If false, the label that indicates that there are not files missing to - upload will not be shown. - </> - ), - }, - { - name: "customMessage", - type: <TypeHighlight np>JSX.Element</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>A custom message to display in the footer.</>, - }, - { - name: "customFooter", - type: <TypeHighlight np>JSX.Element</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A custom header to replace the default one. If given, the rest of the - props are ignored - </> - ), - }, -]; diff --git a/src/data/HeaderConfigAPIRows.tsx b/src/data/HeaderConfigAPIRows.tsx deleted file mode 100644 index 73549142752f1f50f3c001bf84f563d022131839..0000000000000000000000000000000000000000 --- a/src/data/HeaderConfigAPIRows.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const HeaderConfigAPIRows = [ - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object applied to the main container.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. Classname is applied to the main container. - </> - ), - }, - { - name: "resetStyles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, the given class name and style properties will replace the - default ones instead of overriding them. - </> - ), - }, - { - name: "deleteFiles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: <>If true, the delete icon will be shown.</>, - }, - { - name: "cleanFiles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: <>If true, the clean icon will be shown.</>, - }, - { - name: "uploadFiles", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: <>If true, the upload icon will be shown.</>, - }, - { - name: "uploadingIcon", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If true, the upload in progress icon will be shown during the upload - process. - </> - ), - }, - { - name: "maxFileSize", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If true, the upload in progress icon will be shown during the upload - process. - </> - ), - }, - { - name: "validFilesCount", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np>true</TypeHighlight>, - description: ( - <> - If true, the current count of alid files will be shown. - </> - ), - }, - { - name: "customHeader", - type: <TypeHighlight np>JSX.Element</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A custom header to replace the default one. If given, the rest of the - props are ignored - </> - ), - }, -]; diff --git a/src/data/IconsMapAPIRows.tsx b/src/data/IconsMapAPIRows.tsx deleted file mode 100644 index 041c02866120ec2d27b379e4b804cd349fdaea30..0000000000000000000000000000000000000000 --- a/src/data/IconsMapAPIRows.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const IconsMapAPIRows = [ - { - name: "success", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, it means that the request was successful.</>, - }, - -]; diff --git a/src/data/ServerResponseAPIRows.tsx b/src/data/ServerResponseAPIRows.tsx deleted file mode 100644 index 2ab4cbeec27e804eebb2850810173b8c5c3607f9..0000000000000000000000000000000000000000 --- a/src/data/ServerResponseAPIRows.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const ServerResponseAPIRows = [ - { - name: "success", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, it means that the request was successful.</>, - }, - { - name: "message", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>A message that describes the result of the request.</>, - }, - { - name: "payload", - type: <TypeHighlight np>Object</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The response of the server.</>, - }, -]; diff --git a/src/data/UploadConfigAPIRows.tsx b/src/data/UploadConfigAPIRows.tsx deleted file mode 100644 index 96605b68ba34e19aa42a28261048de171053e38e..0000000000000000000000000000000000000000 --- a/src/data/UploadConfigAPIRows.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const UploadConfigAPIRows = [ - { - name: "url", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The url endpoint to upload the file. e.g. - "https://www.myasomwbackend/uploads/file". - </> - ), - }, - { - name: "method", - type: ( - <> - <TypeHighlight np>{'"POST"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"PUT"'}</TypeHighlight> - {" | "} - <TypeHighlight np>{'"PATCH"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"POST"'}</TypeHighlight>, - description: <>Request headers for http request.</>, - }, - { - name: "uploadLabel", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np>{'"file"'}</TypeHighlight>, - description: ( - <> - The label to use in the request. On the server this must be the label to - get the file. - </> - ), - }, - { - name: "cleanOnUpload", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Flag for indicating whther to remove the non-valid files before starting - the upload process. This flag is valid only if validation is enable. - </> - ), - }, - { - name: "autoUpload", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - If true, onDrop event or file selection not only will make Dropzone to - return the list of files, but also it will start the upload stage for - the files if at least url was set By default is false - </> - ), - }, - { - name: "preparingTime", - type: <TypeHighlight np>{"number"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The time that will last the "preparing" stage By default is 1500 - miliseconds = 1.5 seconds. - </> - ), - }, - { - name: "uploadingMessage", - type: <TypeHighlight np>{"string"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - A message to show in the footer when the uploading process takes place. - </> - ), - }, -]; diff --git a/src/data/UploadStatusAPIRows.tsx b/src/data/UploadStatusAPIRows.tsx deleted file mode 100644 index be9d103aabf146f10c01be9845431199b08164fb..0000000000000000000000000000000000000000 --- a/src/data/UploadStatusAPIRows.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export const UPLOADSTATUSAPIRows=[ - -] \ No newline at end of file diff --git a/src/data/ValidateFileResponseAPIrows.tsx b/src/data/ValidateFileResponseAPIrows.tsx deleted file mode 100644 index 373058e49b2e10ef11e016bc2535ed0c47cfcd86..0000000000000000000000000000000000000000 --- a/src/data/ValidateFileResponseAPIrows.tsx +++ /dev/null @@ -1,18 +0,0 @@ -//import CodeHighlight from "../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../components/typeHighlight/TypeHighlight"; - -export const ValidateFileResponseAPIrows = [ - { - name: "valid", - type: <TypeHighlight np>{"boolean"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, that means that the File is valid</>, - }, - { - id: 2, - name: "errors", - type: <TypeHighlight np>{"string[]"}</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The list of errors associated with an specific file.</>, - }, -]; diff --git a/src/data/imagesURL.js b/src/data/imagesURL.js deleted file mode 100644 index 8720c9a6cc7c102e3ec783a489a34d1e240c2627..0000000000000000000000000000000000000000 --- a/src/data/imagesURL.js +++ /dev/null @@ -1,2 +0,0 @@ -export const BIA_URL = - "https://i.pinimg.com/564x/9a/8b/cf/9a8bcfaba81783eff9241538b00343b1.jpg"; diff --git a/src/data/videoLinks.js b/src/data/videoLinks.js deleted file mode 100644 index 69dd46eb60fd1920b482a20d3807cfc3ab2ffb69..0000000000000000000000000000000000000000 --- a/src/data/videoLinks.js +++ /dev/null @@ -1,18 +0,0 @@ -import ThorEN from "../static/videos/ThorEN.mp4"; -import ThorES from "../static/videos/ThorEN-1.mp4"; -import NarutoEN from "../static/videos/NarutoEN.mp4"; -import NarutoES from "../static/videos/NarutoES.mp4"; - -/* const BASE_URL = - "/static/media/videos"; - -export const ThorArrivesWakandaEN = BASE_URL+"/ThorEN.cd3bd7cae7054bb5a630.mp4"; -export const ThorArrivesWakandaES = BASE_URL+"/ThorES.cd3bd7cae7054bb5a630.mp4"; -export const NarutoAndSasukeVsMomoshikiEN = BASE_URL+"/NarutoEN.ea6c18d269c6beda2aa3.mp4"; -export const NarutoAndSasukeVsMomoshikiES = BASE_URL+"/NarutoES.64ada0ad3f1f096e0f6f.mp4"; - */ - -export const ThorArrivesWakandaEN = ThorEN; -export const ThorArrivesWakandaES = ThorES; -export const NarutoAndSasukeVsMomoshikiEN = NarutoEN; -export const NarutoAndSasukeVsMomoshikiES = NarutoES; \ No newline at end of file diff --git a/src/files-ui/core/color/colors.d.ts b/src/files-ui/core/color/colors.d.ts deleted file mode 100644 index 471c4120619d011dfd48494532d1e9d053043a9c..0000000000000000000000000000000000000000 --- a/src/files-ui/core/color/colors.d.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Make the color into a darker color - * @param colorInput - * @returns the darked color in - */ -export declare const darkerColor: (colorInput: string, percentage?: number) => string; -/** - * Make the color into a brighted color - * @param colorInput - * @returns the brighted color - */ -export declare const brighterColor: (colorInput: string, percentage?: number) => string; -/** - * In order to managae rgba() we convert hex colors into rgba() - * If the given color is already a rgb() color, it can add the percentage to convert it into rgba() - * - * - * @param colorInput color in hex or in rgb - * @param perc percentage for RGBA() color - * @returns the rgba representation of a hex color - */ -export declare const hexColorToRGB: (colorInput: string | undefined, perc?: number, defaultColor?: string) => string; -/** - * Validates wheteher the color is hexadecimal css color - * Example: #FF56AC - * - * - * @param colorInput the color inpt to test - * @returns true if the inputColor is a hexadecimal css color - */ -export declare const isHexColor: (colorInput: string) => boolean; -/** - * Converts a named color into hexadecimal color - * from a list of well known namd colors if found. - * When not given returns a "" - * When not found in the list, returns the same value given - * @param colour the named color - * @returns The hex representation of the color or "" or the same color - */ -export declare function colourNameToHex(colour: string | undefined): string; -/** - * Converts hex number in string representation to decimal number - * - * - * @param letter the string hex number - * @returns a decimal number - */ -export declare const hexTodec: (letter: string) => number; -/** - * Asure a base color. When not given or when given an incorrect color format - * default color is this kind of grey #5d6475 - * - * @param color param color given by user - * @returns returns the same color - */ -export declare const asureColor: (color?: string) => string; -/** - * Asure a base color. When not given or when given an incorrect color format - * default color is this kind of grey #5d6475 - * - * @param color param color given by user - * @returns returns the same color - */ -export declare const completeAsureColor: (color?: string, perc?: number) => string; -export declare const DEFAULT_FONT_COLOR = "#646c7f"; diff --git a/src/files-ui/core/color/index.d.ts b/src/files-ui/core/color/index.d.ts deleted file mode 100644 index 2b51c13cd1efebcf647c650532931c074f0ab6f6..0000000000000000000000000000000000000000 --- a/src/files-ui/core/color/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { NAMED_COLORS } from "./namedColors"; -export { asureColor, brighterColor, colourNameToHex, darkerColor, hexColorToRGB, hexTodec, isHexColor, completeAsureColor } from "./colors"; diff --git a/src/files-ui/core/color/namedColors.d.ts b/src/files-ui/core/color/namedColors.d.ts deleted file mode 100644 index 661cdc353c7239cbb5dec0a7bbfc78fa0da809f3..0000000000000000000000000000000000000000 --- a/src/files-ui/core/color/namedColors.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { NamedColor } from "../types/NamedColor"; -/** - * The full list of named Colors provided by - * https://htmlcolorcodes.com/es/nombres-de-los-colores/ - */ -export declare const NAMED_COLORS: NamedColor; diff --git a/src/files-ui/core/download/downloadFile.d.ts b/src/files-ui/core/download/downloadFile.d.ts deleted file mode 100644 index 5bd48e9ad5c2e6a8b7201985e73fb5c76ee4fd33..0000000000000000000000000000000000000000 --- a/src/files-ui/core/download/downloadFile.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const downloadFileAnchor: (fileName?: string, downloadUrl?: string) => Promise<void>; -export declare const downloadFileXHR: (fileName?: string, downloadUrl?: string) => Promise<void>; -export declare const downloadFileFetch: (fileName?: string, downloadUrl?: string) => Promise<void>; -export declare const downloadAnchor: (fileName?: string, downloadUrl?: string) => Promise<void>; diff --git a/src/files-ui/core/file-manager/index.d.ts b/src/files-ui/core/file-manager/index.d.ts deleted file mode 100644 index 2ef646c95ef59472bcdbeb52ace12de4d4e432fe..0000000000000000000000000000000000000000 --- a/src/files-ui/core/file-manager/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { extFileReconcilation } from "./reconcilation"; diff --git a/src/files-ui/core/file-manager/reconcilation.d.ts b/src/files-ui/core/file-manager/reconcilation.d.ts deleted file mode 100644 index 198c59f3bd6f500d0360d41def4cee13b74f2e1f..0000000000000000000000000000000000000000 --- a/src/files-ui/core/file-manager/reconcilation.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { ExtFile } from "../types"; -export declare const extFileReconcilation: (dropzoneId: number | string | undefined, extFileIncomming: ExtFile[]) => ExtFile[] | undefined; diff --git a/src/files-ui/core/index.d.ts b/src/files-ui/core/index.d.ts deleted file mode 100644 index 899e9931af84c701a0ef2cfc3705c318e7aece2c..0000000000000000000000000000000000000000 --- a/src/files-ui/core/index.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export { DropzoneEnglish, DropzoneFrench, DropzoneItalian, DropzoneLocalizer, DropzoneLocalizerSelector, DropzonePortuguese, DropzoneRussian, DropzoneSimplifiedChinese, DropzoneSpanish, DropzoneTraditionalChinese, FileItemEnglish, FileItemFrench, FileItemItalian, FileItemLocalizer, FileItemLocalizerSelector, FileItemPortuguese, FileItemRussian, FileItemSimplifiedChinese, FileItemSpanish, FileItemTraditionalChinese, ValidateErrorEnglish, ValidateErrorFrench, ValidateErrorItalian, ValidateErrorLocalizer, ValidateErrorLocalizerSelector, ValidateErrorPortuguese, ValidateErrorRussian, ValidateErrorSimplifiedChinese, ValidateErrorSpanish, ValidateErrorTraditionalChinese } from "./localization"; -export { readAsArrayBuffer, readAsBinaryString, readAsDataURL, readAsText, resizeImage, getImageOrientation } from "./reader"; -export { aac, abw, accdb, avi, azw, bmp, bz, bz2, cda, csh, css, csv, docx, drawio, eot, epub, freearc, gif, gzip, html, icalendar, jar, java, javascript, jpeg, json, jsonld, midi, mp3, mp4, mpeg, mpkg, octet, odp, ods, odt, oga, ogv, ogx, opus, otf, pdf, php, png, pptx, psd, python, rar, react, rtf, sass, sevenzip, sh, swf, tar, text, tiff, ttf, typescript, vsd, vue, wav, weba, webm, webp, wma, wmv, woff, xlsx, xml, xul, zip, applicationSelector, audioSelector, checkIsCode, extensionSelector, fontSelector, getURLFileIco, imageSelector, mimeSelector, textSelector, videoSelector, getURLFileIcoFromNameAndType, } from "./mime"; -export type { ExtFile, Behaviour, ValidateFileResponse, ComponentLocalizer, ExtFileListMap, FileValidatorProps, FunctionLabel, LocalLabels, Localization, Method, NamedColor, ServerResponse, UploadPromiseResponse, UploadResponse, UploadConfig, UPLOADSTATUS, IconsMap } from "./types"; -export { ExtFileInstance, ExtFileManager, createUploadConfig } from "./types"; -export { extFileMock } from "./mocks"; -export { uploadExtFile, FuiUpload, completeUploadResult, instantPreparingToUploadOne, preparingToUploadOne, sleepTransition, toUploadableExtFileList, unableToUploadResult, makeServerResponse, uploadFile, uploadFormData, ABORTED_ERROR_RESPONSE, JSON_PARSE_ERROR_RESPONSE, JsonParseResponse, NO_XHR_PROVIDED_ERROR, TIMEOUT_ERROR_RESPONSE, UNEXPECTED_ERROR_RESPONSE, makeErrorUploadResponse, makeSuccessUploadResponse, addExtraData, addHeaders, sanitizeArrExtFile, unexpectedErrorUploadResult, setNextUploadStatus } from "./upload"; -export { FileIdGenerator, fileListToExtFileArray, fileListToExtFileInstanceArray, fileSizeFormater, getExt, isValidateActive, shrinkWord, fakeFuiUpload, prepToUploadOne, setPrepToUploading, sleepPreparing, uploadOne, uploadOneExtFile, cleanInput, addClassName, getRandomInt, isUploadAbleExtFile, getLocalFileItemData } from "./utils"; -export { fileListvalidator, separateAccept, validateAccept, validateExtFile, validateExtFileList, validateFile } from "./validation"; -export { asureColor, brighterColor, colourNameToHex, darkerColor, hexColorToRGB, hexTodec, isHexColor, NAMED_COLORS, completeAsureColor } from "./color"; -export { SyntheticFile, createListOfMultiTypeFile, createSyntheticFile, makeSyntheticExtFile } from "./synthetic-file"; -export { extFileReconcilation } from "./file-manager"; diff --git a/src/files-ui/core/index.es.js b/src/files-ui/core/index.es.js deleted file mode 100644 index 68eb2961f37a33226757b48dfe53a28039beffd8..0000000000000000000000000000000000000000 --- a/src/files-ui/core/index.es.js +++ /dev/null @@ -1,2 +0,0 @@ -var e=function(e){if(e)return e<1024?e+" Bytes":e<1048576?(e/1024).toFixed(2)+" KB":e<1073741824?(e/1024/1024).toFixed(2)+" MB":e<1099511627776?(e/1024/1024/1024).toFixed(2)+" GB":(e/1024/1024/1024/1024).toFixed(2)+" TB"},t={defaultLabel:"Trascina qui i tuoi file",uploadingMessage:function(e){return"Caricamento di ".concat(e," file")},uploadFinished:function(e,t){return"File caricati: ".concat(e,", File rifiutati: ").concat(t)},noFilesMessage:"Nessun file valido in attesa di essere caricato",footer:{acceptAll:"Tutti i tipi di file sono accettati",acceptCustom:function(e){return"Tipi di file consentiti: ".concat(e)}},header:{uploadFilesMessage:"Caricamento",maxSizeMessage:function(e){return"Dimensione massima ".concat(e)},validFilesMessage:function(e,t){return"File ".concat(e,"/").concat(t)}},fakeuploadsuccess:"Il file è stato caricato con successo ",fakeUploadError:"Errore di caricamento del file"},r={fullInfoLayer:{name:"Nome: ",size:"Dimensione: ",type:"Tipo: "},status:{preparing:"preparazione",uploading:"In corso",success:"Successo",valid:"Valido",denied:"Non válido",error:"Errore",aborted:"Interrotto"}},a={maxSizeError:function(t){return"Il file è molto grande. Il tam. il massimo è ".concat(e(t))},acceptError:"Tipo di file illegale",maxFileCount:function(e){return"Numero massimo di file (".concat(e,") raggiunto")}},n={defaultLabel:"Déposez vos fichiers ici",uploadingMessage:function(e){return"Envoi de ".concat(e," fichiers")},uploadFinished:function(e,t){return"Fichiers téléchargés : ".concat(e,", Fichiers rejetés: ").concat(t)},noFilesMessage:"Aucun fichier valide ne manque",footer:{acceptAll:"Tous types de fichiers acceptés ",acceptCustom:function(e){return"Types de fichier: ".concat(e)}},header:{uploadFilesMessage:"Envoyer",maxSizeMessage:function(e){return"Taille maximale ".concat(e)},validFilesMessage:function(e,t){return"Fichiers ".concat(e,"/").concat(t)}},fakeuploadsuccess:"Le fichier a été téléchargé avec succès",fakeUploadError:"Erreur lors du téléchargement "},i={fullInfoLayer:{name:"Le nom: ",size:"Le taille: ",type:"Le type: "},status:{preparing:"préparer",uploading:"En cours",success:"Succès",valid:"Valide",denied:"Refusé",error:"Erreur",aborted:"Interrompu"}},c={maxSizeError:function(t){return"Le fichier est très volumineux. Le tam. le maximum est de ".concat(e(t))},acceptError:"Type de fichier illégal ",maxFileCount:function(e){return"Limite de fichiers atteinte (".concat(e,")")}},o={defaultLabel:"Drop your files here",uploadingMessage:function(e){return"Uploading ".concat(e," files")},uploadFinished:function(e,t){return"Uploaded files: ".concat(e,", Rejected files: ").concat(t)},noFilesMessage:"There is no missing valid file to upload",footer:{acceptAll:"All file types accepted",acceptCustom:function(e){return"Allowed types: ".concat(e)}},header:{uploadFilesMessage:"Upload files",maxSizeMessage:function(e){return"Max file size: ".concat(e)},validFilesMessage:function(e,t){return"Files ".concat(e,"/").concat(t)}},fakeuploadsuccess:"File was successfuly uploaded",fakeUploadError:"Error on uploading. Please try again later."},s={fullInfoLayer:{name:"Name: ",size:"Size: ",type:"Type: "},status:{preparing:"Preparing",uploading:"Uploading",success:"Success",valid:"Valid",denied:"Not valid",error:"Error",aborted:"Aborted"}},u={maxSizeError:function(t){return"File is too big. Max file size allowed is ".concat(e(t))},acceptError:"File type is not allowed",maxFileCount:function(e){return"Max amount of files (".concat(e,") has been reached")}},l={defaultLabel:"Suelta tus archivos aquí",uploadingMessage:function(e){return"Subiendo ".concat(e," archivos")},uploadFinished:function(e,t){return"Archivos subidos: ".concat(e,", Archivos rechazados: ").concat(t)},noFilesMessage:"No hay archivos válidos pendientes por subir",footer:{acceptAll:"Todos los tipos de archivo aceptados",acceptCustom:function(e){return"Tipo(s) de archivo permitidos: ".concat(e)}},header:{uploadFilesMessage:"Subir",maxSizeMessage:function(e){return"Tam. máximo ".concat(e)},validFilesMessage:function(e,t){return"Archivos ".concat(e,"/").concat(t)}},fakeuploadsuccess:"El archivo se subió correctamente",fakeUploadError:"Error al subir el archivo"},p={fullInfoLayer:{name:"Nombre: ",size:"Tamaño: ",type:"Tipo: "},status:{preparing:"Preparando",uploading:"Subiendo",success:"Éxito",valid:"Válido",denied:"No válido",error:"Error",aborted:"Anulado"}},d={maxSizeError:function(t){return"El archivo es muy grande. El tam. máximo es ".concat(e(t))},acceptError:"Tipo de archivo no permitido",maxFileCount:function(e){return"Cantidad máxima de archivos (".concat(e,") alcanzada")}},f={defaultLabel:"Перетащите сюда свои файлы.",uploadingMessage:function(e){return"Выгрузка ".concat(e," файлов")},uploadFinished:function(e,t){return"Загружено файлов: ".concat(e,", отклоненных файлов: ").concat(t)},noFilesMessage:"Действительный файл не отсутствует для загрузки",footer:{acceptAll:"Принимаются все типы файлов ",acceptCustom:function(e){return"Допустимые типы: ".concat(e)}},header:{uploadFilesMessage:"Отправить",maxSizeMessage:function(e){return"макс размер: ".concat(e)},validFilesMessage:function(e,t){return"Файлы ".concat(e,"/").concat(t)}},fakeuploadsuccess:"Файл был успешно загружен",fakeUploadError:"Ошибка при загрузке"},g={fullInfoLayer:{name:"Имя: ",size:"Размер: ",type:"Tип: "},status:{preparing:"подготовка",uploading:"Загрузка",success:"успех",valid:"годный",denied:"выкинутый",error:"ошибка",aborted:"прерванный"}},m={maxSizeError:function(t){return"Файл слишком большой. Максимально допустимый размер файла - ".concat(e(t))},acceptError:"Тип файла не разрешен",maxFileCount:function(e){return"Достигнуто максимальное количество файлов (".concat(e,")")}},h={defaultLabel:"Solte seus arquivos aqui ",uploadingMessage:function(e){return"Enviando ".concat(e," arquivos")},uploadFinished:function(e,t){return"Arquivos enviados: ".concat(e,", Arquivos rejeitados: ").concat(t)},noFilesMessage:"Nenhum arquivo válido está faltando para enviar",footer:{acceptAll:"Todos os tipos de arquivo são aceitos",acceptCustom:function(e){return"Tipos permitidos: ".concat(e)}},header:{uploadFilesMessage:"Enviar",maxSizeMessage:function(e){return"Tamanho máximo: ".concat(e)},validFilesMessage:function(e,t){return"Arquivos ".concat(e,"/").concat(t)}},fakeuploadsuccess:"O arquivo foi enviado com sucesso",fakeUploadError:"Erro ao enviar"},b={fullInfoLayer:{name:"Nome: ",size:"Tamanho: ",type:"Tipo: "},status:{preparing:"Preparando",uploading:"Enviando",success:"Êxito",valid:"válido",denied:"Negado",error:"Erro",aborted:"Abortado"}},v={maxSizeError:function(t){return"O arquivo é muito grande. O tamanho máximo de arquivo permitido é ".concat(e(t))},acceptError:"O tipo de arquivo não é permitido ",maxFileCount:function(e){return"Quantidade máxima de arquivos (".concat(e,") alcançada")}},F={defaultLabel:"将您的文件放在这里",uploadingMessage:function(e){return"上传 ".concat(e," 个文件")},uploadFinished:function(e,t){return"上传文件:".concat(e,",拒绝文件:").concat(t)},noFilesMessage:"没有缺少要加载的有效文件",footer:{acceptAll:"接受所有文件类型",acceptCustom:function(e){return"允许的类型: ".concat(e)}},header:{uploadFilesMessage:"上传文件",maxSizeMessage:function(e){return"最大文件大小:".concat(e)},validFilesMessage:function(e,t){return"文档 ".concat(e,"/").concat(t)}},fakeuploadsuccess:"文件已成功上传",fakeUploadError:"上传时出错"},w={fullInfoLayer:{name:"文档名称: ",size:"尺寸: ",type:"文件类型: "},status:{preparing:"预加载",uploading:"上传",success:"成功",valid:"接受的文件",denied:"被拒绝的文件",error:"错误",aborted:"中止"}},x={maxSizeError:function(t){return"文件太大。 允许的最大文件大小为 ".concat(e(t))},acceptError:"文件类型不允许",maxFileCount:function(e){return"已达到最大文件数 (".concat(e,")")}},_={defaultLabel:"把你的文件放在這裡 ",uploadingMessage:function(e){return"上傳".concat(e,"個文件")},uploadFinished:function(e,t){return"上傳文件: ".concat(e,", 拒絕的文件:").concat(t)},noFilesMessage:"沒有缺少要上傳的有效文件",footer:{acceptAll:"接受所有文件類型",acceptCustom:function(e){return"允許的類型:".concat(e)}},header:{uploadFilesMessage:"上傳文件",maxSizeMessage:function(e){return"最大文件大小:".concat(e)},validFilesMessage:function(e,t){return" 文件 ".concat(e,"/").concat(t)}},fakeuploadsuccess:"文件已成功上傳",fakeUploadError:"上傳時出錯"},y={fullInfoLayer:{name:"文檔名稱: ",size:"文件大小: ",type:"文件類型: "},status:{preparing:"預加載",uploading:"上傳",success:"成功",valid:"有效文件",denied:"無效文件",error:"錯誤",aborted:"中止"}},E={maxSizeError:function(t){return"文件太大。 允許的最大文件大小為 ".concat(e(t))},acceptError:"文件類型不允許",maxFileCount:function(e){return"已達到最大文件數 (".concat(e,")")}},A={"ES-es":p,"EN-en":s,"FR-fr":i,"IT-it":r,"PT-pt":b,"RU-ru":g,"ZH-cn":w,"ZH-hk":y},z=function(e){switch(e){case"ES-es":return A["ES-es"];case"EN-en":default:return A["EN-en"];case"FR-fr":return A["FR-fr"];case"IT-it":return A["IT-it"];case"PT-pt":return A["PT-pt"];case"RU-ru":return A["RU-ru"];case"ZH-cn":return A["ZH-cn"];case"ZH-hk":return A["ZH-hk"]}},k={"ES-es":l,"EN-en":o,"FR-fr":n,"IT-it":t,"PT-pt":h,"RU-ru":f,"ZH-cn":F,"ZH-hk":_},S=function(e){switch(e){case"ES-es":return k["ES-es"];case"EN-en":default:return k["EN-en"];case"FR-fr":return k["FR-fr"];case"IT-it":return k["IT-it"];case"PT-pt":return k["PT-pt"];case"RU-ru":return k["RU-ru"];case"ZH-cn":return k["ZH-cn"];case"ZH-hk":return k["ZH-hk"]}},M={"ES-es":d,"EN-en":u,"FR-fr":c,"IT-it":a,"PT-pt":v,"RU-ru":m,"ZH-cn":x,"ZH-hk":E},D=function(e){return e&&["ES-es","EN-en","FR-fr","IT-it","PT-pt","RU-ru","ZH-cn","ZH-hk"].includes(e)?M[e]:M["EN-en"]},j=function(e,t,r){return new Promise((function(a,n){try{var i=new FileReader;i.onprogress=function(){null==t||t()},i.onerror=function(){null==r||r()},i.onload=function(){a(i.result)},i.readAsDataURL(e)}catch(e){n(void 0)}}))},C=function(e,t,r,a){return new Promise((function(n,i){try{var c=new FileReader;c.onload=function(){n(c.result)},c.onprogress=function(){null==r||r()},c.onerror=function(){null==a||a()},c.readAsText(e,t||"base64")}catch(e){i(void 0)}}))},B=function(e,t,r){return new Promise((function(a,n){try{var i=new FileReader;i.onload=function(){a(i.result)},i.onprogress=function(){null==t||t()},i.onerror=function(){null==r||r()},i.readAsBinaryString(e)}catch(e){n(void 0)}}))},T=function(e,t,r){return new Promise((function(a,n){try{var i=new FileReader;i.onload=function(){a(i.result)},i.onprogress=function(){null==t||t()},i.onerror=function(){null==r||r()},i.readAsArrayBuffer(e)}catch(e){n(void 0)}}))};function I(e,t,r){return void 0===t&&(t=135),void 0===r&&(r=120),new Promise((function(a,n){try{var i=new Image;i.src=e,i.onload=function(){var c=document.createElement("canvas"),o=t,s=r,u=i.width,l=i.height;t>u&&r>l?a(e):u>l?u>o&&(l*=o/u,u=o):l>s&&(u*=s/l,l=s),c.width=u,c.height=l;var p=c.getContext("2d");p?(p.drawImage(i,0,0,u,l),a(c.toDataURL())):("development"===process.env.NODE_ENV&&console.error("An error ocurred when trying to make a thumnail"),n(void 0))}}catch(e){"development"===process.env.NODE_ENV&&console.error("An error ocurred when trying to make a thumnail"),n(void 0)}}))}function L(e){return new Promise((function(t,r){if(e&&0!==e.length)try{var a=new Image;a.src=e,a.onerror=function(e){r("landscape")},a.onload=function(){var e=a.width,r=a.height;t(e>r?"landscape":"portrait")}}catch(e){"development"===process.env.NODE_ENV&&console.error("An error ocurred when trying to get the image orientation"),r("landscape")}else r("landscape")}))}var R="https://user-images.githubusercontent.com/43678736/132086517-72a51a12-e403-4675-bfd7-22c23affa730.png",U="https://user-images.githubusercontent.com/43678736/132086518-7026d4f1-ea16-4ed0-89fd-37c1aa8ac3ed.png",N="https://user-images.githubusercontent.com/43678736/132086519-863c63b4-917e-4471-94ff-7e15651cc14b.png",P="https://user-images.githubusercontent.com/43678736/132086520-9bc6aa3b-51c9-4da2-9ef7-349162b86d0b.png",q="https://user-images.githubusercontent.com/43678736/132086521-dbd6cf0d-d4d7-4b92-bb26-17e8a51a9383.png",O="https://user-images.githubusercontent.com/43678736/132086522-070f48e8-78a8-4294-8dbb-aab81525e164.png",H="https://user-images.githubusercontent.com/43678736/132086595-90ab7f90-f87e-4900-94d9-d0b26745df48.png",Z="https://user-images.githubusercontent.com/43678736/132086597-e285ad5c-613a-4679-a270-493e5be4ffd9.png",V="https://user-images.githubusercontent.com/43678736/132086598-623c410a-084a-4395-a448-211b2ff61cfe.png",G="https://user-images.githubusercontent.com/43678736/132086600-8b70a007-512d-4252-9c66-eabd3ddd6573.png",X="https://user-images.githubusercontent.com/43678736/132086601-e62e5d1a-d8a2-4475-a14f-85922cec9272.png",K="https://user-images.githubusercontent.com/43678736/132086602-4c772934-f608-4f01-8459-c4622cee8ad5.png",J="https://user-images.githubusercontent.com/43678736/132086604-b5b019fe-572e-477e-92c2-3769a48a1304.png",Q="https://user-images.githubusercontent.com/43678736/132086606-715ccb66-4702-4f7d-9b09-ac93ba17b643.png",$="https://user-images.githubusercontent.com/43678736/132086608-bcae9d57-8e54-488c-90c4-4952ae530b5e.png",W="https://user-images.githubusercontent.com/43678736/132086618-397d6bd2-9fda-43ed-a135-cb40388c35af.png",Y="https://user-images.githubusercontent.com/43678736/132086620-2586ba40-c583-4589-b1a4-8bb5b258b44d.png",ee="https://user-images.githubusercontent.com/43678736/132086621-3b95fb64-2533-4ccc-abcd-bd2beba572e9.png",te="https://user-images.githubusercontent.com/43678736/132086622-af705a0c-2b25-4ba7-8ab6-bd69ec97f7e2.png",re="https://user-images.githubusercontent.com/43678736/132086624-89141a46-64e4-4fa0-bf69-54a0eb4d48c9.png",ae="https://user-images.githubusercontent.com/43678736/132086625-1b8f2652-1de0-4475-8c12-7da4a9973ffb.png",ne="https://user-images.githubusercontent.com/43678736/132086626-38699705-1e6f-4bca-984b-03167b236faa.png",ie="https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png",ce="https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png",oe="https://user-images.githubusercontent.com/43678736/132086652-4562942e-aaea-466c-968f-380fffabf3f9.png",se="https://user-images.githubusercontent.com/43678736/132086653-0487e7e2-1ee3-49e2-8cfe-3e20f1f7490a.png",ue="https://user-images.githubusercontent.com/43678736/132086656-6e96c815-e4e2-4ffd-9d71-57e9cc2450bc.png",le="https://user-images.githubusercontent.com/43678736/132086658-5d27d3c2-394f-43fb-b512-9b414a257875.png",pe="https://user-images.githubusercontent.com/43678736/132086659-98f3ef6e-b9f3-4b6d-b18f-469b5334ba27.png",de="https://user-images.githubusercontent.com/43678736/132086661-a5484553-06c7-4ffa-a8f9-96b57b1b0344.png",fe="https://user-images.githubusercontent.com/43678736/132086662-05ad1597-d5e5-4efa-833e-2876e966a745.png",ge="https://user-images.githubusercontent.com/43678736/132086663-90c58955-f7fb-4bdb-ac53-92667d16d4a3.png",me="https://user-images.githubusercontent.com/43678736/132086664-9a7530e7-6d78-4ef3-a176-20cf7f57b555.png",he="https://user-images.githubusercontent.com/43678736/132086666-ab3c505d-b2c0-4177-9a06-aed5d9c39ee4.png",be="https://user-images.githubusercontent.com/43678736/132086667-6c7dcbcc-8d83-41a2-8e0a-85b09e2791ae.png",ve="https://user-images.githubusercontent.com/43678736/132086668-9f246e91-cf2e-49cf-9617-e1fbb71abbbb.png",Fe="https://user-images.githubusercontent.com/43678736/132086669-46113762-84d1-4b32-9441-b0138ce17a5d.png",we="https://user-images.githubusercontent.com/43678736/145835364-2054509d-3448-4d34-921f-73dd6e297fc7.png",xe="https://user-images.githubusercontent.com/43678736/145835367-19172bf8-cd5a-4cbe-b512-d0de1d91f269.png",_e="https://user-images.githubusercontent.com/43678736/145835373-a57ef0f5-3968-483b-9f55-6d67e7f1dcea.png",ye="https://user-images.githubusercontent.com/43678736/132086670-0f96e770-cedc-4635-a5f9-cf97894c1d7a.png",Ee="https://user-images.githubusercontent.com/43678736/132086671-02ad35ef-ec3a-4a65-abd5-5bf794dfcf7b.png",Ae="https://user-images.githubusercontent.com/43678736/132086672-3a856fda-823d-4997-b802-c7c640e6ef44.png",ze="https://user-images.githubusercontent.com/43678736/132086673-0c4409ab-754e-4619-8cfa-179d0ccf1bd9.png",ke="https://user-images.githubusercontent.com/43678736/132086674-fdb56d02-5845-49b7-8462-6357bc963464.png",Se="https://user-images.githubusercontent.com/43678736/132086675-c879645d-acb4-41a6-ab3c-4e6c2048badb.png",Me="https://user-images.githubusercontent.com/43678736/132086685-4e327c4c-a409-4b83-b36a-8d88936b314b.png",De="https://user-images.githubusercontent.com/43678736/132086688-8e82fae4-3a9b-49c0-bf99-77189525514c.png",je="https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png",Ce="https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png",Be="https://user-images.githubusercontent.com/43678736/132086691-d472576b-ec6a-4332-acd2-dd6a00b72952.png",Te="https://user-images.githubusercontent.com/43678736/132086693-9d43571e-0c86-438f-b247-e2cb42e19e06.png",Ie="https://user-images.githubusercontent.com/43678736/132086694-4e661d6a-1118-441e-8bc3-c52fcb2133b6.png",Le="https://user-images.githubusercontent.com/43678736/132086697-1d82d724-35b6-4f06-847a-3c59a5deda6e.png",Re="https://user-images.githubusercontent.com/43678736/132086698-19384230-dbd7-4e05-bc69-ef4537b6aae3.png",Ue="https://user-images.githubusercontent.com/43678736/132086699-5993a482-04f4-4915-b105-9037f527cf61.png",Ne="https://user-images.githubusercontent.com/43678736/132086700-c23461c8-6819-46e1-aecd-0a1f8d3507bb.png",Pe="https://user-images.githubusercontent.com/43678736/132086701-c8044c09-8d95-4af1-9410-66761001d7da.png",qe="https://user-images.githubusercontent.com/43678736/132086702-59294337-ed99-4302-badd-316b2c1ff62f.png",Oe="https://user-images.githubusercontent.com/43678736/132086704-8fd51e7c-afa2-47a3-ab2f-d0bcd0ecae9f.png",He="https://user-images.githubusercontent.com/43678736/132086705-33294da1-5c0f-49f7-b890-e4857cec0a6d.png",Ze="https://user-images.githubusercontent.com/43678736/132086706-22f805d0-39d4-494b-824e-47dc75d05eb7.png",Ve="https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png",Ge="https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png",Xe="https://user-images.githubusercontent.com/43678736/132086708-21d096dd-7148-40aa-97f1-cbb099339740.png",Ke="https://user-images.githubusercontent.com/43678736/132086709-811d4e90-3cfa-4044-a956-aeda9c67fc92.png",Je="https://user-images.githubusercontent.com/43678736/132086710-c5479c6c-0249-4542-adad-48b0ef40b775.png",Qe="https://user-images.githubusercontent.com/43678736/132086711-1524a3e7-3e33-4822-a34f-ff3235404045.png",$e="https://user-images.githubusercontent.com/43678736/132086712-17e2c491-f6e4-4586-aef6-06bcc5f4b0e5.png",We="https://user-images.githubusercontent.com/43678736/132086715-204b5a8b-9c5a-4bac-8294-9237ebc16089.png",Ye="https://user-images.githubusercontent.com/43678736/132086716-64511d20-58cb-45a8-85df-f4d9408b469d.png",et="https://user-images.githubusercontent.com/43678736/132086718-a8499333-6282-4820-aa1f-4d133eb54648.png",tt=function(e){var t=/(?:\.([^.]+))?$/.exec(e);return t?t[1]:""},rt="octet",at=function(e){switch(e){case"aac":return"aac";case"midi":case"x-midi":return"midi";case"mpeg":return"mpeg";case"ogg":return"oga";case"opus":return"opus";case"wav":return"wav";case"webm":return"webm";case"wma":return"wma";default:return rt}},nt=function(e){switch(e){case"css":return"css";case"csv":return"csv";case"html":return"html";case"calendar":return"icalendar";case"javascript":case"x-javascript":return"javascript";case"plain":return"text";case"xml":return"xml";default:return rt}},it=function(e){switch(e){case"bmp":return"bmp";case"gif":return"gif";case"jpg":case"jpeg":return"jpeg";case"png":return"png";case"tiff":return"tiff";case"webp":return"webp";default:return rt}},ct=function(e){switch(e){case"otf":return"otf";case"ttf":return"ttf";case"woff":case"woff2":return"woff";default:return rt}},ot=function(e){switch(e){case"x-msvideo":case"msvideo":case"avi":return"avi";case"mp4":return"mp4";case"mpeg":return"mpeg";case"ogg":return"ogv";case"mp2t":return"mp2t";case"wmv":return"wmv";case"webm":return"webm";default:return rt}},st=function(e){switch(e){case"x-abiword":case"abiword":return"abw";case"x-freearc":case"freearc":return"arc";case"vnd.amazon.ebook":return"azw";case"octet-stream":return"octet";case"x-bzip":case"bzip":return"bz";case"x-bzip2":case"bzip2":return"bz2";case"x-cdf":return"cda";case"msaccess":return"accdb";case"csh":case"x-csh":return"csh";case"vnd.ms-fontobject":return"eot";case"epub+zip":return"epub";case"gzip":return"gzip";case"java-archive":return"jar";case"x-javascript":return"javascript";case"json":return"json";case"ld+json":return"jsonld";case"vnd.apple.installer+xml":return"mpkg";case"ogg":return"ogx";case"vnd.rar":return"rar";case"rtf":return"rtf";case"x-sh":case"sh":return"sh";case"x-shockwave-flash":return"swf";case"x-tar":return"tar";case"x-httpd-php":return"php";case"vnd.visio":return"vsd";case"xhtml+xml":return"xhtml";case"xml":return"xml";case"vnd.mozilla.xul+xml":return"xul";case"vnd.openxmlformats-officedocument.wordprocessingml.document":case"msword":return"docx";case"vnd.openxmlformats-officedocument.spreadsheetml.sheet":return"xlsx";case"vnd.openxmlformats-officedocument.presentationml.presentation":case"vnd.ms-powerpoint":return"pptx";case"vnd.oasis.opendocument.presentation":return"odp";case"vnd.oasis.opendocument.text":return"odt";case"vnd.oasis.opendocument.spreadsheet":return"ods";case"zip":case"x-zip-compressed":return"zip";case"pdf":return"pdf";default:return rt}},ut=function(e){if(!e||!e.includes("/"))return rt;var t=e.split("/")[0],r=e.split("/")[1];switch(t){case"application":return st(r);case"audio":return at(r);case"video":return ot(r);case"text":return nt(r);case"image":return it(r);case"font":return ct(r);default:return rt}},lt=function(e){var t="octet";return e&&""!==e&&(e.includes("zip")||e.includes("rar")?t="zip":e.includes("doc")?t="docx":e.includes("xls")?t="xlsx":e.includes("drawio")?t="drawio":e.includes("psd")?t="psd":e.includes("csv")?t="csv":"jsx"===e?t="react":"py"===e?t="python":"vue"===e?t="vue":"java"===e?t="java":"ts"===e?t="typescript":"sass"!==e&&"scss"!==e||(t="sass")),t},pt=function(e){var t="text";return e&&""!==e&&("jsx"===e?t="react":"py"===e?t="python":"vue"===e?t="vue":"java"===e?t="java":"ts"===e||"tsx"===e?t="typescript":"js"===e?t="javascript":"xml"===e?t="xml":"php"===e&&(t="php")),t},dt=function(e,t){var r="fallBack";if(!e)return r=rt,(null==t?void 0:t.fallBack)?{url:null==t?void 0:t.fallBack,mimeResume:r}:{url:gt[r],mimeResume:r};r=ut(e.type);var a=tt(e.name);"text"===r&&(r=pt(a)),r===rt&&(r=lt(a));var n=null==t?void 0:t[r];return void 0!==n?{url:n,mimeResume:r}:{url:gt[r],mimeResume:r}},ft=function(e,t,r){var a="octet";if(!e)return a=rt,(null==r?void 0:r.fallBack)?{url:null==r?void 0:r.fallBack,mimeResume:a}:{url:gt[a],mimeResume:a};a=ut(t);var n=tt(e);"text"===a&&(a=pt(n)),a===rt&&(a=lt(n));var i=null==r?void 0:r[a];return void 0!==i?{url:i,mimeResume:a}:{url:gt[a],mimeResume:a}},gt={aac:U,accdb:P,abw:N,arc:ee,avi:q,azw:O,octet:he,bmp:H,bz:Z,bz2:V,cda:G,csh:X,css:K,csv:J,docx:Q,drawio:$,eot:W,epub:Y,gzip:re,gif:te,html:ae,icalendar:ne,jar:ce,jpeg:se,javascript:oe,json:ue,jsonld:le,midi:pe,mp3:de,mp4:fe,mpeg:ge,mpkg:me,mp2t:he,odp:be,ods:ve,odt:Fe,oga:we,ogv:xe,ogx:_e,opus:ye,otf:Ee,png:ke,pdf:Ae,php:ze,pptx:Se,psd:Me,rar:Ce,rtf:Te,sass:Ie,sh:Le,swf:Re,tar:je,tiff:Ne,ttf:Pe,typescript:qe,text:Ue,vsd:Oe,wav:Ze,weba:Ge,webm:Ve,webp:Xe,woff:Qe,wma:Ke,wmv:Je,xhtml:ae,xlsx:$e,xml:We,xul:Ye,zip:et,sevenzip:R,python:De,java:ie,react:Be,vue:He,fallBack:he},mt=function(){function e(e){var t=e.id,r=e.file,a=e.name,n=e.size,i=e.type,c=e.imageUrl,o=e.valid,s=e.errors,u=e.uploadMessage,l=e.uploadStatus,p=e.progress,d=e.xhr,f=e.extraData,g=e.extraUploadData,m=e.serverResponse,h=e.downloadUrl,b=e.videoUrl;this.id=t,this.file=r,this.name=a,this.size=n,this.type=i,this.imageUrl=c,this.valid=o,this.errors=s,this.uploadStatus=l,this.uploadMessage=u,this.progress=p,this.xhr=d,this.extraData=f,this.extraUploadData=g,this.serverResponse=m,this.downloadUrl=h,this.videoUrl=b}return e.toExtFile=function(e){for(var t={},r=Object.keys(e),a=Object.values(e),n=0;n<a.length;n++){var i=a[n],c=r[n];void 0!==i&&(t[c]=i)}return t},e.prototype.toExtFile=function(){return e.toExtFile(this)},e}(),ht=function(){return ht=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},ht.apply(this,arguments)};function bt(e,t,r,a){return new(r||(r=Promise))((function(n,i){function c(e){try{s(a.next(e))}catch(e){i(e)}}function o(e){try{s(a.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,o)}s((a=a.apply(e,t||[])).next())}))}function vt(e,t){var r,a,n,i,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,o[0]&&(c=0)),c;)try{if(r=1,a&&(n=2&o[0]?a.return:o[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,o[1])).done)return n;switch(a=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return c.label++,{value:o[1],done:!1};case 5:c.label++,a=o[1],o=[0];continue;case 7:o=c.ops.pop(),c.trys.pop();continue;default:if(!(n=c.trys,(n=n.length>0&&n[n.length-1])||6!==o[0]&&2!==o[0])){c=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3])){c.label=o[1];break}if(6===o[0]&&c.label<n[1]){c.label=n[1],n=o;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(o);break}n[2]&&c.ops.pop(),c.trys.pop();continue}o=t.call(e,c)}catch(e){o=[6,e],a=0}finally{r=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function Ft(e,t,r){if(r||2===arguments.length)for(var a,n=0,i=t.length;n<i;n++)!a&&n in t||(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))}var wt=function(){function e(){}return e.getNextId=function(){return e.nextId++,e.nextId},e.setFileList=function(t,r){return t?(e.fileLists[t]=Ft([],r,!0),t):0},e.createFileListMap=function(){var t=e.getNextId();return e.fileLists[t]=[],t},e.removeFileListMap=function(t){if(!t)return 0;try{return e.fileLists[t]=void 0,t}catch(e){return"development"===process.env.NODE_ENV&&console.error("Error on remove",e),0}},e.getExtFileInstanceList=function(t){try{if(!t)return;return e.fileLists[t]}catch(e){return void("development"===process.env.NODE_ENV&&console.error("Error on getExtFileInstanceList",e))}},e.setFileListMapPreparing=function(t,r,a,n){if("number"==typeof t||"string"==typeof t)try{var i,c=Ft([],r,!0);n&&a&&(c=c.filter((function(e){return e.valid}))),i=(c=a?c.map((function(e){return"success"!==e.uploadStatus&&e.valid?ht(ht({},e),{uploadStatus:"preparing"}):ht({},e)})):c.map((function(e){return"success"!==e.uploadStatus?ht(ht({},e),{uploadStatus:"preparing"}):ht({},e)}))).map((function(e){return new mt(e)}));e.setFileList(t,i);return i}catch(e){return void("development"===process.env.NODE_ENV&&console.error("setFileListMapPreparing Error on get List",e))}},e.setFileListMapPreparing2=function(t,r,a,n){return e.setFileList(t,r.map((function(e){return new mt(ht(ht({},e),{uploadStatus:"preparing"}))}))),e.getExtFileInstanceList(t)},e.nextId=0,e.fileLists={},e}(),xt=function(e,t,r,a,n){return{url:e,method:t,headers:r,uploadLabel:a,cleanonUpload:n}},_t=function(){function e(){}return e.createFile=function(e,t,r){var a=new File([],e,{type:r});return Object.defineProperty(a,"size",{get:function(){return t}}),a},e.create_aac=function(t){return e.createFile("acc_audio-file-with-large-name.aac",t||3516516,"audio/aac")},e.create_abw=function(t){return e.createFile("abiword-file-with-large-name.abw",t||3516516,"application/x-abiword")},e.create_freearc=function(t){return e.createFile("freearc-file-with-large-name.arc",t||3516516,"application/x-freearc")},e.create_avi=function(t){return e.createFile("avi-file-with-large-name.avi",t||3516516,"video/x-msvideo")},e.create_azw=function(t){return e.createFile("amazon_kindle_ebook-file-with-large-name.azw",t||3516516,"application/vnd.amazon.ebook")},e.create_octet=function(t){return e.createFile("binary_octet_stream-file-with-large-name.bin",t||3516516,"application/octet-stream")},e.create_bmp=function(t){return e.createFile("bit_map-file-with-large-name.bmp",t||3516516,"image/bmp")},e.create_bz=function(t){return e.createFile("x_bzip-file-with-large-name.bz",t||3516516,"application/x-bzip")},e.create_bz2=function(t){return e.createFile("x_bzip_2-file-with-large-name.bz2",t||3516516,"application/x-bzip2")},e.create_cda=function(t){return e.createFile("cd_audio-file-with-large-name.cda",t||3516516,"application/x-cdf")},e.create_csh=function(t){return e.createFile("test-file-with-large-name.csh",t||3516516,"application/x-csh")},e.create_css=function(t){return e.createFile("test-file-with-large-name.css",t||3516516,"text/css")},e.create_csv=function(t){return e.createFile("test-file-with-large-name.csv",t||3516516,"text/csv")},e.create_doc=function(t){return e.createFile("test-file-with-large-name.doc",t||3516516,"application/msword")},e.create_docx=function(t){return e.createFile("test-file-with-large-name.docx",t||3516516,"application/vnd.openxmlformats-officedocument.wordprocessingml.document")},e.create_eot=function(t){return e.createFile("test-file-with-large-name.eot",t||3516516,"application/vnd.ms-fontobject")},e.create_epub=function(t){return e.createFile("test-file-with-large-name.epub",t||3516516,"application/epub+zip")},e.create_gzip=function(t){return e.createFile("test-file-with-large-name.gz",t||3516516,"application/gzip")},e.create_gif=function(t){return e.createFile("test-file-with-large-name.gif",t||3516516,"image/gif")},e.create_htm=function(t){return e.createFile("test-file-with-large-name.htm",t||3516516,"text/html")},e.create_html=function(t){return e.createFile("test-file-with-large-name.html",t||3516516,"text/html")},e.create_ico=function(t){return e.createFile("test-file-with-large-name.ico",t||3516516,"image/vnd.microsoft.icon")},e.create_icalendar=function(t){return e.createFile("test-file-with-large-name.ics",t||3516516,"text/calendar")},e.create_jar=function(t){return e.createFile("test-file-with-large-name.jar",t||3516516,"application/java-archive")},e.create_jpeg=function(t){return e.createFile("test-file-with-large-name.jpeg",t||3516516,"image/jpeg")},e.create_jpg=function(t){return e.createFile("test-file-with-large-name.jpg",t||3516516,"image/jpeg")},e.create_js=function(t){return e.createFile("test-file-with-large-name.js",t||3516516,"text/javascript")},e.create_json=function(t){return e.createFile("test-file-with-large-name.json",t||3516516,"application/json")},e.create_jsonld=function(t){return e.createFile("test-file-with-large-name.jsonld",t||3516516,"application/ld+json")},e.create_mid=function(t){return e.createFile("test-file-with-large-name.mid",t||3516516,"audio/midi")},e.create_x_mid=function(t){return e.createFile("test-file-with-large-name.mid",t||3516516,"audio/x-midi")},e.create_midi=function(t){return e.createFile("test-file-with-large-name.midi",t||3516516,"audio/x-midi")},e.create_x_midi=function(t){return e.createFile("test-file-with-large-name.midi",t||3516516,"audio/x-midi")},e.create_mjs=function(t){return e.createFile("test-file-with-large-name.mjs",t||3516516,"text/javascript")},e.create_mp3=function(t){return e.createFile("test-file-with-large-name.mp3",t||3516516,"audio/mpeg")},e.create_mp4=function(t){return e.createFile("test-file-with-large-name.mp4",t||3516516,"video/mp4")},e.create_mpeg=function(t){return e.createFile("test-file-with-large-name.mpeg",t||3516516,"video/mpeg")},e.create_mpkg=function(t){return e.createFile("test-file-with-large-name.mpkg",t||3516516,"application/vnd.apple.installer+xml")},e.create_odp=function(t){return e.createFile("test-file-with-large-name.odp",t||3516516,"application/vnd.oasis.opendocument.presentation")},e.create_ods=function(t){return e.createFile("test-file-with-large-name.ods",t||3516516,"application/vnd.oasis.opendocument.spreadsheet")},e.create_odt=function(t){return e.createFile("test-file-with-large-name.odt",t||3516516,"application/vnd.oasis.opendocument.text")},e.create_oga=function(t){return e.createFile("test-file-with-large-name.oga",t||3516516,"audio/ogg")},e.create_ogv=function(t){return e.createFile("test-file-with-large-name.ogv",t||3516516,"video/ogg")},e.create_ogx=function(t){return e.createFile("test-file-with-large-name.ogx",t||3516516,"application/ogg")},e.create_opus=function(t){return e.createFile("test-file-with-large-name.opus",t||3516516,"audio/opus")},e.create_otf=function(t){return e.createFile("test-file-with-large-name.otf",t||3516516,"font/otf")},e.create_png=function(t){return e.createFile("test-file-with-large-name.png",t||3516516,"image/png")},e.create_pdf=function(t){return e.createFile("test-file-with-large-name.pdf",t||3516516,"application/pdf")},e.create_php=function(t){return e.createFile("test-file-with-large-name.php",t||3516516,"application/x-httpd-php")},e.create_ppt=function(t){return e.createFile("test-file-with-large-name.ppt",t||3516516,"application/vnd.ms-powerpoint")},e.create_pptx=function(t){return e.createFile("test-file-with-large-name.pptx",t||3516516,"application/vnd.openxmlformats-officedocument.presentationml.presentation")},e.create_rar=function(t){return e.createFile("test-file-with-large-name.rar",t||3516516,"application/vnd.rar")},e.create_rtf=function(t){return e.createFile("test-file-with-large-name.rtf",t||3516516,"application/rtf")},e.create_sh=function(t){return e.createFile("test-file-with-large-name.sh",t||3516516,"application/x-sh")},e.create_svg=function(t){return e.createFile("test-file-with-large-name.svg",t||3516516,"image/svg+xml")},e.create_swf=function(t){return e.createFile("test-file-with-large-name.swf",t||3516516,"application/x-shockwave-flash")},e.create_tar=function(t){return e.createFile("test-file-with-large-name.tar",t||3516516,"application/x-tar")},e.create_tif=function(t){return e.createFile("test-file-with-large-name.tif",t||3516516,"image/tiff")},e.create_tiff=function(t){return e.createFile("test-file-with-large-name.tiff",t||3516516,"image/tiff")},e.create_ts=function(t){return e.createFile("mp2t_video-file-with-large-name.ts",t||3516516,"video/mp2t")},e.create_ttf=function(t){return e.createFile("test-file-with-large-name.ttf",t||3516516,"font/ttf")},e.create_text=function(t){return e.createFile("test-file-with-large-name.txt",t||3516516,"text/plain")},e.create_typescript=function(t){return e.createFile("typescript-file-with-large-name.ts",t||3516516,"text/plain")},e.create_vsd=function(t){return e.createFile("ms_visio-file-with-large-name.vsd",t||3516516,"application/vnd.visio")},e.create_wav=function(t){return e.createFile("wav_audio-file-with-large-name.wav",t||3516516,"audio/wav")},e.create_weba=function(t){return e.createFile("web_audio-file-with-large-name.weba",t||3516516,"audio/webm")},e.create_webm=function(t){return e.createFile("web_video-file-with-large-name.webm",t||3516516,"video/webm")},e.create_webp=function(t){return e.createFile("web_image-file-with-large-name.webp",t||3516516,"image/webp")},e.create_woff=function(t){return e.createFile("test-file-with-large-name.woff",t||3516516,"font/woff")},e.create_woff2=function(t){return e.createFile("test-file-with-large-name.woff2",t||3516516,"font/woff2")},e.create_xhtml=function(t){return e.createFile("test-file-with-large-name.xhtml",t||3516516,"application/xhtml+xml")},e.create_xlsx=function(t){return e.createFile("test-file-with-large-name.xls",t||3516516,"application/vnd.ms-excel")},e.create_xls=function(t){return e.createFile("test-file-with-large-name.xlsx",t||3516516,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")},e.create_xml=function(t){return e.createFile("xml-file-with-large-name.xml",t||3516516,"application/xml")},e.create_xml_txt=function(t){return e.createFile("xml_plain_text-file-with-large-name.xml",t||3516516,"application/xml")},e.create_xul=function(t){return e.createFile("test-file-with-large-name.xul",t||3516516,"application/vnd.mozilla.xul+xml")},e.create_zip=function(t){return e.createFile("zip-file-with-large-name.zip",t||3516516,"application/zip")},e.create_3gp=function(t){return e.createFile("3gp_video-file-with-large-name.3gp",t||3516516,"video/3gpp")},e.create_3gp2=function(t){return e.createFile("3gp2_video-file-with-large-name.3g2",t||3516516,"video/3gpp2")},e.create_3gp_a=function(t){return e.createFile("3gp_audio-file-with-large-name.3gp",t||3516516,"audio/3gpp")},e.create_3gp_v=function(t){return e.createFile("3gp_audio-file-with-large-name.3gp2",t||3516516,"audio/3gpp2")},e.create_7z=function(t){return e.createFile("seven_zip-file-with-large-name.7z",t||3516516,"application/x-7z-compressed")},e.create_python=function(t){return e.createFile("python-file-with-large-name.py",t||3516516,"text/plain")},e.create_java=function(t){return e.createFile("java-file-with-large-name.java",t||3516516,"text/plain")},e.create_react=function(t){return e.createFile("react_jsx-file-with-large-name.jsx",t||3516516,"text/plain")},e.create_vue=function(t){return e.createFile("vue-file-with-large-name.vue",t||3516516,"text/plain")},e.createFileListMiscelanious=function(t){var r=[];return r.push(e.create_aac(t)),r.push(e.create_abw(t)),r.push(e.create_freearc(t)),r.push(e.create_avi(t)),r.push(e.create_azw(t)),r.push(e.create_octet(t)),r.push(e.create_bmp(t)),r.push(e.create_bz(t)),r.push(e.create_bz2(t)),r.push(e.create_cda(t)),r.push(e.create_csh(t)),r.push(e.create_css(t)),r.push(e.create_csv(t)),r.push(e.create_doc(t)),r.push(e.create_docx(t)),r.push(e.create_eot(t)),r.push(e.create_epub(t)),r.push(e.create_gzip(t)),r.push(e.create_gif(t)),r.push(e.create_htm(t)),r.push(e.create_html(t)),r.push(e.create_ico(t)),r.push(e.create_icalendar(t)),r.push(e.create_jar(t)),r.push(e.create_jpeg(t)),r.push(e.create_jpg(t)),r.push(e.create_js(t)),r.push(e.create_json(t)),r.push(e.create_jsonld(t)),r.push(e.create_mid(t)),r.push(e.create_midi(t)),r.push(e.create_x_mid(t)),r.push(e.create_x_midi(t)),r.push(e.create_mjs(t)),r.push(e.create_mp3(t)),r.push(e.create_mp4(t)),r.push(e.create_mpeg(t)),r.push(e.create_mpkg(t)),r.push(e.create_odp(t)),r.push(e.create_ods(t)),r.push(e.create_odt(t)),r.push(e.create_oga(t)),r.push(e.create_ogv(t)),r.push(e.create_ogx(t)),r.push(e.create_opus(t)),r.push(e.create_otf(t)),r.push(e.create_png(t)),r.push(e.create_pdf(t)),r.push(e.create_php(t)),r.push(e.create_ppt(t)),r.push(e.create_pptx(t)),r.push(e.create_rar(t)),r.push(e.create_rtf(t)),r.push(e.create_sh(t)),r.push(e.create_svg(t)),r.push(e.create_swf(t)),r.push(e.create_tar(t)),r.push(e.create_tif(t)),r.push(e.create_tiff(t)),r.push(e.create_ts(t)),r.push(e.create_ttf(t)),r.push(e.create_text(t)),r.push(e.create_typescript(t)),r.push(e.create_vsd(t)),r.push(e.create_wav(t)),r.push(e.create_weba(t)),r.push(e.create_webm(t)),r.push(e.create_webp(t)),r.push(e.create_woff(t)),r.push(e.create_woff2(t)),r.push(e.create_xhtml(t)),r.push(e.create_xlsx(t)),r.push(e.create_xls(t)),r.push(e.create_xml(t)),r.push(e.create_xml_txt(t)),r.push(e.create_xul(t)),r.push(e.create_zip(t)),r.push(e.create_python(t)),r.push(e.create_java(t)),r.push(e.create_react(t)),r.push(e.create_vue(t)),r},e}(),yt=function(e){return _t.createFileListMiscelanious(e)},Et=function(e,t,r){return void 0===e&&(e="png-image-file-with-large-name.png"),void 0===t&&(t=455555),void 0===r&&(r="image/png"),_t.createFile(e,t,r)},At=function(){function e(){}return e.getNextId=function(){return e.nextId++,e.nextId},e.nextId=0,e}(),zt=function(e){for(var t=[],r=0,a=void 0;a=e[r];r++)t.push({id:At.getNextId(),file:a,name:a.name,size:a.size,type:a.type});return t},kt=function(e){for(var t=[],r=0,a=void 0;a=e[r];r++)t.push(new mt({id:At.getNextId(),file:a,name:a.name,size:a.size,type:a.type}));return t},St=function(e,t,r,a){return null!=e||null!=t||null!=r||null!=a},Mt=function(e,t){void 0===e&&(e=""),void 0===t&&(t=!1);var r=e;return t?e.length>=20&&(r=e.slice(0,10)+"..."+e.slice(-7)):e.length>=30&&(r=e.slice(0,13)+"..."+e.slice(-8)),r},Dt=function(e){return new Promise((function(t,r){setTimeout((function(){t(ht(ht({},e),{uploadStatus:"uploading"}))}),1500)}))},jt=function(e){return new Promise((function(t,r){setTimeout((function(){t(ht(ht({},e),{uploadStatus:"success"}))}),2e3)}))},Ct=function(e){return void 0===e&&(e=5e3),new Promise((function(t,r){setTimeout((function(){t()}),e)}))},Bt=function(e){return new Promise((function(t,r){setTimeout((function(){e.uploadStatus="uploading",t(ht(ht({},e),{uploadStatus:"uploading"}))}),1500)}))},Tt=function(e){return new Promise((function(t,r){setTimeout((function(){e.uploadStatus="success",t(ht(ht({},e),{uploadStatus:"success"}))}),2e3)}))},It=function(e,t){void 0===t&&(t=S("EN-en"));var r=e.toExtFile();return new Promise((function(e,a){setTimeout((function(){if(Math.floor(10*Math.random())%2==0){var a=!0,n=t.fakeuploadsuccess,i={url:""};e(ht(ht({},r),{serverResponse:{success:a,message:n,payload:i},uploadStatus:"success",uploadMessage:n}))}else{a=!1,n=t.fakeUploadError,i={};e(ht(ht({},r),{serverResponse:{success:a,message:n,payload:i},uploadStatus:"error",uploadMessage:n}))}}),1700)}))};function Lt(e,t){return void 0===e&&(e=0),void 0===t&&(t=0),Math.floor(Math.random()*(t-e))+e}var Rt=function(e){e&&(e.value="")},Ut=function(e,t){return t?"".concat(e," ").concat(t):e},Nt=function(e,t){return(!t||t&&e.valid)&&"success"!==e.uploadStatus},Pt=function(e,t,r,a){var n="",i=void 0,c=void 0;return e&&"string"==typeof e.name?(n=e.name,i=e.type,c=e.size):t&&"string"==typeof t&&(n=t,i=r,c=a),[n,i,c]},qt=function(e){return e&&0!==e.length?e.split(",").map((function(e){return e.trim()})):[]},Ot=function(e,t){for(var r=t.name,a=t.type,n=0;n<e.length;n++){var i=e[n];if(0!==i.length){if("."===i.charAt(0)&&i.includes(tt(r)))return!0;if(a&&a.length>0&&i.includes("/")&&a.includes("/")){var c=i.split("/")[0],o=i.split("/")[1],s=a.split("/")[0],u=a.split("/")[1];if(c===s){if("*"===o)return!0;if(o===u)return!0}}}}return!1},Ht=function(e,t,r,a,n,i){for(var c=[],o=t,s=D(i),u=0,l=void 0;l=e[u];u++){var p=Gt(l,a,r,s);if(p.valid){var d=o>0;if(p.valid=d,!d){var f=s.maxFileCount;p.errors=p.errors?Ft(Ft([],p.errors,!0),[f(n||1/0)],!1):[f(n||1/0)]}o--}c.push(p)}return c},Zt=function(e,t,r,a,n,i){var c=[];if(!t)return c;for(var o=t,s=D(i),u=s.maxFileCount,l=0;l<e.length;l++){var p=e[l];if((p=Vt(p,a,r,s)).valid){var d=o>0;p.valid=d,d||(p.errors=p.errors?Ft(Ft([],p.errors,!0),[u(n||1/0)],!1):[u(n||1/0)]),o--}c.push(p)}return c},Vt=function(e,t,r,a){var n=ht({},e),i=[];if(!e.file)return ht({},n);if(t){var c=t(n.file).errors;c&&i.push.apply(i,c)}var o=r.maxFileSize,s=r.accept,u=e.file;if(o&&u.size>o){var l=a.maxSizeError;i.push(l(o))}s&&!Ot(qt(s),u)&&i.push(a.acceptError);var p=0===i.length;return n=ht(ht({},n),{valid:p,errors:p?void 0:i})},Gt=function(e,t,r,a){var n=At.getNextId(),i=[];if(t)return ht({id:n,file:e},t(e));var c=r.maxFileSize,o=r.accept;if(c&&e.size>c){var s=a.maxSizeError;i.push(s(c))}return o&&!Ot(qt(o),e)&&i.push(a.acceptError),{id:n,file:e,valid:0===i.length,errors:i}},Xt=["File is too big. Max file size allowed is 80mb.","File's type is not allowed.","Max amount of files (28) has been reached."],Kt=function(e,t,r,a){void 0===t&&(t=Math.ceil(28*Math.random())%2==0);var n=[],i=r||function(){switch(Lt(0,4)){case 0:return"error";case 1:return"uploading";case 2:return"success";default:return}}(),c=a||"";if(t){if(!a)switch(i){case"error":c="Upload failed. There was an error";break;case"success":c="File was successfully upload";break;default:a=void 0}n=void 0}else{var o=Lt(0,3);n.push(Xt[o]),i=void 0,c=void 0}return{id:At.getNextId(),valid:t,file:e,uploadStatus:i,uploadMessage:c,errors:n}},Jt=function(e){return{id:e||At.getNextId(),name:"fileName.ext",size:29360128,type:"files-ui/mock",file:Et("fileName.ext",29360128,"files-ui/mock"),errors:Xt,uploadMessage:"uploaded",uploadStatus:"preparing",valid:!1,progress:28,xhr:new XMLHttpRequest,extraData:{extraData1:"files-ui is the best",extraData2:{id:1,name:"files-ui.mock"},deleted:!0},downloadUrl:"https://www.files-ui.com/mock/file-download"}};function Qt(e,t){for(var r=Object.keys(t||{}),a=0;a<r.length&&t;a++)e.append(r[a],t[r[a]]);e.append("otherValue","HAAAAAAAAAAAAAAa")}function $t(e,t){for(var r=Object.keys(t||{}),a=0;a<r.length&&t;a++)e.setRequestHeader(r[a],t[r[a]])}var Wt={success:!1,message:"Timeout error",payload:{}},Yt={success:!1,message:"Upload aborted",payload:{}},er={success:!1,message:"Error when parsing JSON response",payload:{}},tr={success:!1,message:"Unexpected error",payload:{}},rr=function(e){return ht(ht({},e),{uploadMessage:"Unable to upload. xhr object was not provided",uploadStatus:"error",serverResponse:{success:!1}})},ar=function(e,t,r){return{success:e,message:t,payload:r}},nr=function(e){try{var t=JSON.parse(e.response),r=t.success,a=t.message;return{success:"boolean"==typeof r&&r,message:"string"==typeof a?a:"Error on message response",payload:t.payload||{}}}catch(e){return er}},ir=function(e,t){return ht(ht({},e),{serverResponse:t,uploadMessage:t.message,uploadStatus:"success"})},cr=function(e,t){return ht(ht({},e),{uploadMessage:t.message,uploadStatus:"error",serverResponse:t})},or=function(e,t,r,a,n){return void 0===t&&(t="POST"),new Promise((function(i,c){var o=["POST","PUT","PATCH"].includes(t.toUpperCase())?t:"POST";e.upload.onload=function(){},e.upload.ontimeout=function(){return i(Wt)},e.upload.onabort=function(){i(Yt)},e.onloadend=function(e){return bt(void 0,void 0,void 0,(function(){return vt(this,(function(e){return[2]}))}))},e.onreadystatechange=function(t){return bt(void 0,void 0,void 0,(function(){return vt(this,(function(t){return e.readyState,4===e.readyState&&(""!==e.response?i(nr(e)):i(Yt)),[2]}))}))},e.open(o,r,!0),$t(e,n),e.send(a)}))},sr=function(e,t,r,a,n){return bt(void 0,void 0,void 0,(function(){return vt(this,(function(i){return[2,new Promise((function(i,c){return bt(void 0,void 0,void 0,(function(){var c,o,s,u,l,p;return vt(this,(function(d){switch(d.label){case 0:return d.trys.push([0,2,,3]),(c=e.xhr)?(o=r||"POST",s=e.file,(u=new FormData).append(n||"file",s),l=ht({otherValue:"other valueee haaaa",param2:{tecnica:"KIKOHUUUU",friend:"Chaos",age:25}},e.extraUploadData),Qt(u,l),p=void 0,[4,or(c,o,t,u,a||{})]):(i(rr(e)),[2]);case 1:return(p=d.sent()).success?i(ir(e,p)):i(cr(e,p)),[3,3];case 2:return d.sent(),i(cr(e,tr)),[3,3];case 3:return[2]}}))}))}))]}))}))};function ur(e,t,r,a,n){var i=this;return new Promise((function(c,o){return bt(i,void 0,void 0,(function(){var i,o;return vt(this,(function(s){switch(s.label){case 0:(i=new FormData).append(a||"file",e),s.label=1;case 1:return s.trys.push([1,3,,4]),[4,or(new XMLHttpRequest,r,t,i,n)];case 2:return o=s.sent(),c(o),[3,4];case 3:return s.sent(),c(tr),[3,4];case 4:return[2]}}))}))}))}var lr=function(e,t,r,a,n){return new Promise((function(i,c){e.upload.onload=function(){},e.upload.ontimeout=function(){return i(Wt)},e.upload.onabort=function(){return i(Yt)},e.onreadystatechange=function(t){return bt(void 0,void 0,void 0,(function(){return vt(this,(function(t){return 4===e.readyState&&(""!==e.response?i(nr(e)):i(tr)),[2]}))}))},e.open(t,r,!0);for(var o=Object.keys(n),s=0;s<o.length;s++)e.setRequestHeader(o[s],n[o[s]]);e.send(a)}))},pr=function(e){return ht(ht({},e),{uploadMessage:"Unexpected error",uploadStatus:"error",serverResponse:{success:!1,message:"Error on upload: unexpected error ",payload:{}}})},dr=function(e){return{id:e.id,uploadedFile:ht(ht({},e),{uploadMessage:"Unable to upload. XHR was not provided",uploadStatus:"error"}),serverResponse:{success:!1,message:"Error on upload: Unable to upload. XHR was not provided ",payload:{}}}},fr=function(e,t,r){return{id:e.id,uploadedFile:ht(ht({},e),{uploadMessage:t.message,uploadStatus:r}),serverResponse:t}},gr=function(e){return e?e.map((function(e){return ht(ht({},e),{xhr:new XMLHttpRequest})})):[]},mr=function(e){return"preparing"===e.uploadStatus?(e.uploadStatus="uploading",ht(ht({},e),{uploadStatus:"uploading"})):e},hr=function(e){return new Promise((function(t,r){setTimeout((function(){"preparing"===e.uploadStatus?(e.uploadStatus="uploading",t(ht(ht({},e),{uploadStatus:"uploading"}))):t(e)}),1500)}))},br=function(e){return void 0===e&&(e=1500),new Promise((function(t,r){setTimeout((function(){t(!0)}),e)}))},vr=function(e){return e.filter((function(e){var t;return!(null===(t=e.extraData)||void 0===t?void 0:t.deleted)})).map((function(e){return"aborted"!==e.uploadStatus||e.uploadMessage||(e.uploadMessage="Upload aborted by user"),mt.toExtFile(e)}))},Fr=function(e,t){var r=e.uploadStatus,a=t.uploadStatus;"preparing"===r&&["aborted",void 0].includes(a)?(e.uploadStatus=void 0,e.uploadMessage=t.uploadMessage):"uploading"===r&&["aborted",void 0].includes(a)&&(e.uploadStatus="aborted",e.uploadMessage=t.uploadMessage)},wr={indianred:"#CD5C5C",lightcoral:"#F08080",salmon:"#FA8072",darksalmon:"#E9967A",lightsalmon:"#FFA07A",crimson:"#DC143C",red:"#FF0000",firebrick:"#B22222",darkred:"#8B0000",pink:"#FFC0CB",lightpink:"#FFB6C1",hotpink:"#FF69B4",deeppink:"#FF1493",mediumvioletred:"#C71585",palevioletred:"#DB7093",coral:"#FF7F50",tomato:"#FF6347",orangered:"#FF4500",darkorange:"#FF8C00",orange:"#FFA500",gold:"#FFD700",yellow:"#FFFF00",lightyellow:"#FFFFE0",lemonchiffon:"#FFFACD",lightgoldenrodyellow:"#FAFAD2",papayawhip:"#FFEFD5",moccasin:"#FFE4B5",peachpuff:"#FFDAB9",palegoldenrod:"#EEE8AA",khaki:"#F0E68C",darkkhaki:"#BDB76B",lavender:"#E6E6FA",thistle:"#D8BFD8",plum:"#DDA0DD",violet:"#EE82EE",orchid:"#DA70D6",fuchsia:"#FF00FF",magenta:"#FF00FF",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",rebeccapurple:"#663399",blueviolet:"#8A2BE2",darkviolet:"#9400D3",darkorchid:"#9932CC",darkmagenta:"#8B008B",purple:"#800080",indigo:"#4B0082",slateblue:"#6A5ACD",darkslateblue:"#483D8B",mediumslateblue:"#7B68EE",greenyellow:"#ADFF2F",chartreuse:"#7FFF00",lawngreen:"#7CFC00",lime:"#00FF00",limegreen:"#32CD32",palegreen:"#98FB98",lightgreen:"#90EE90",mediumspringgreen:"#00FA9A",springgreen:"#00FF7F",mediumseagreen:"#3CB371",seagreen:"#2E8B57",forestgreen:"#228B22",green:"#008000",darkgreen:"#006400",yellowgreen:"#9ACD32",olivedrab:"#6B8E23",olive:"#808000",darkolivegreen:"#556B2F",mediumaquamarine:"#66CDAA",darkseagreen:"#8FBC8B",lightseagreen:"#20B2AA",darkcyan:"#008B8B",teal:"#008080",aqua:"#00FFFF",cyan:"#00FFFF",lightcyan:"#E0FFFF",paleturquoise:"#AFEEEE",aquamarine:"#7FFFD4",turquoise:"#40E0D0",mediumturquoise:"#48D1CC",darkturquoise:"#00CED1",cadetblue:"#5F9EA0",steelblue:"#4682B4",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",lightblue:"#ADD8E6",skyblue:"#87CEEB",lightskyblue:"#87CEFA",deepskyblue:"#00BFFF",dodgerblue:"#1E90FF",cornflowerblue:"#6495ED",royalblue:"#4169E1",blue:"#0000FF",mediumblue:"#0000CD",darkblue:"#00008B",navy:"#000080",midnightblue:"#191970",cornsilk:"#FFF8DC",blanchedalmond:"#FFEBCD",bisque:"#FFE4C4",navajowhite:"#FFDEAD",wheat:"#F5DEB3",burlywood:"#DEB887",tan:"#D2B48C",rosybrown:"#BC8F8F",sandybrown:"#F4A460",goldenrod:"#DAA520",darkgoldenrod:"#B8860B",peru:"#CD853F",chocolate:"#D2691E",saddlebrown:"#8B4513",sienna:"#A0522D",brown:"#A52A2A",maroon:"#800000",white:"#FFFFFF",snow:"#FFFAFA",honeydew:"#F0FFF0",mintcream:"#F5FFFA",azure:"#F0FFFF",aliceblue:"#F0F8FF",ghostwhite:"#F8F8FF",whitesmoke:"#F5F5F5",seashell:"#FFF5EE",beige:"#F5F5DC",oldlace:"#FDF5E6",floralwhite:"#FFFAF0",ivory:"#FFFFF0",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lavenderblush:"#FFF0F5",mistyrose:"#FFE4E1",gainsboro:"#DCDCDC",lightgray:"#D3D3D3",silver:"#C0C0C0",darkgray:"#A9A9A9",gray:"#808080",dimgray:"#696969",lightslategray:"#778899",slategray:"#708090",darkslategray:"#2F4F4F",black:"#000000"},xr=function(e,t){void 0===t&&(t=25);var r="",a=(100-t)/100,n=0,i=0,c=0;if(Er(Ar(e)))n=16*Sr(e.charAt(1))+Sr(e.charAt(2)),i=16*Sr(e.charAt(3))+Sr(e.charAt(4)),c=16*Sr(e.charAt(5))+Sr(e.charAt(6)),r="rgb(".concat(n*a,", ").concat(i*a,",").concat(c*a,")");else if(e.includes("rgba")){var o=e.replace("rgba(","").split(",");r="rgb(".concat(parseInt(o[0],10)*a,", ").concat(parseInt(o[1],10)*a,",").concat(parseInt(o[2],10)*a,")")}else if(e.includes("rgb")){o=e.replace("rgb(","").split(",");r="rgb(".concat(parseInt(o[0],10)*a,", ").concat(parseInt(o[1],10)*a,",").concat(parseInt(o[2],10)*a,")")}return r},_r=function(e,t){void 0===t&&(t=25);var r="",a=(100+t)/100,n=0,i=0,c=0;if(Er(Ar(e)))n=16*Sr(e.charAt(1))+Sr(e.charAt(2)),i=16*Sr(e.charAt(3))+Sr(e.charAt(4)),c=16*Sr(e.charAt(5))+Sr(e.charAt(6)),r="rgb(".concat(n*a,", ").concat(i*a,",").concat(c*a,")");else if(e.includes("rgba")){var o=e.replace("rgba(","").split(",");r="rgb(".concat(parseInt(o[0],10)*a,", ").concat(parseInt(o[1],10)*a,",").concat(parseInt(o[2],10)*a,")")}else if(e.includes("rgb")){o=e.replace("rgb(","").split(",");r="rgb(".concat(parseInt(o[0],10)*a,", ").concat(parseInt(o[1],10)*a,",").concat(parseInt(o[2],10)*a,")")}return r},yr=function(e,t,r){void 0===t&&(t=0);var a=r||"rgba(255, 255, 255, 0.6)";if(!e)return a;var n=e.toUpperCase();if(n.includes("RGBA"))return n;if(n.includes("RGB"))return n.replace("RGB","rgba").replace(")",", ".concat(t,")"));if(!Er(Ar(n)))return a;var i,c,o;return i=16*Sr(n.charAt(1))+Sr(n.charAt(2)),c=16*Sr(n.charAt(3))+Sr(n.charAt(4)),o=16*Sr(n.charAt(5))+Sr(n.charAt(6)),"rgba(".concat(i,", ").concat(c,",").concat(o," , ").concat(t,")")},Er=function(e){if("#"!==e.charAt(0))return!1;if(7!==e.length)return!1;for(var t=1;t<e.length;t++)if(!zr.includes(e.charAt(t)))return!1;return!0};function Ar(e){return e?void 0!==wr[e.toLocaleLowerCase()]?wr[e.toLocaleLowerCase()]:e:""}var zr=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"],kr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],Sr=function(e){return zr.includes(e)?kr[zr.indexOf(e)]:0},Mr=function(e){return void 0!==e&&""!==e?e:jr},Dr=function(e,t){return void 0===t&&(t=1),yr(Mr(Ar(e)),t)},jr="#646c7f",Cr=function(e,t){var r=wt.getExtFileInstanceList(e);if(r){var a=Ft([],t,!0);if(a=a.filter((function(e){return-1===(null==r?void 0:r.findIndex((function(t){return t.id===e.id})))})),r.length!==t.length||0===t.length)return;for(var n=0;n<r.length;n++)void 0===t[n].uploadStatus&&"preparing"===r[n].uploadStatus&&(r[n].uploadStatus=void 0)}return[]};export{Yt as ABORTED_ERROR_RESPONSE,o as DropzoneEnglish,n as DropzoneFrench,t as DropzoneItalian,k as DropzoneLocalizer,S as DropzoneLocalizerSelector,h as DropzonePortuguese,f as DropzoneRussian,F as DropzoneSimplifiedChinese,l as DropzoneSpanish,_ as DropzoneTraditionalChinese,mt as ExtFileInstance,wt as ExtFileManager,At as FileIdGenerator,s as FileItemEnglish,i as FileItemFrench,r as FileItemItalian,A as FileItemLocalizer,z as FileItemLocalizerSelector,b as FileItemPortuguese,g as FileItemRussian,w as FileItemSimplifiedChinese,p as FileItemSpanish,y as FileItemTraditionalChinese,lr as FuiUpload,er as JSON_PARSE_ERROR_RESPONSE,nr as JsonParseResponse,wr as NAMED_COLORS,rr as NO_XHR_PROVIDED_ERROR,_t as SyntheticFile,Wt as TIMEOUT_ERROR_RESPONSE,tr as UNEXPECTED_ERROR_RESPONSE,u as ValidateErrorEnglish,c as ValidateErrorFrench,a as ValidateErrorItalian,M as ValidateErrorLocalizer,D as ValidateErrorLocalizerSelector,v as ValidateErrorPortuguese,m as ValidateErrorRussian,x as ValidateErrorSimplifiedChinese,d as ValidateErrorSpanish,E as ValidateErrorTraditionalChinese,U as aac,N as abw,P as accdb,Ut as addClassName,Qt as addExtraData,$t as addHeaders,st as applicationSelector,Mr as asureColor,at as audioSelector,q as avi,O as azw,H as bmp,_r as brighterColor,Z as bz,V as bz2,G as cda,pt as checkIsCode,Rt as cleanInput,Ar as colourNameToHex,Dr as completeAsureColor,fr as completeUploadResult,yt as createListOfMultiTypeFile,Et as createSyntheticFile,xt as createUploadConfig,X as csh,K as css,J as csv,xr as darkerColor,Q as docx,$ as drawio,W as eot,Y as epub,Jt as extFileMock,Cr as extFileReconcilation,lt as extensionSelector,It as fakeFuiUpload,zt as fileListToExtFileArray,kt as fileListToExtFileInstanceArray,Ht as fileListvalidator,e as fileSizeFormater,ct as fontSelector,ee as freearc,tt as getExt,L as getImageOrientation,Pt as getLocalFileItemData,Lt as getRandomInt,dt as getURLFileIco,ft as getURLFileIcoFromNameAndType,te as gif,re as gzip,yr as hexColorToRGB,Sr as hexTodec,ae as html,ne as icalendar,it as imageSelector,mr as instantPreparingToUploadOne,Er as isHexColor,Nt as isUploadAbleExtFile,St as isValidateActive,ce as jar,ie as java,oe as javascript,se as jpeg,ue as json,le as jsonld,cr as makeErrorUploadResponse,ar as makeServerResponse,ir as makeSuccessUploadResponse,Kt as makeSyntheticExtFile,pe as midi,ut as mimeSelector,de as mp3,fe as mp4,ge as mpeg,me as mpkg,he as octet,be as odp,ve as ods,Fe as odt,we as oga,xe as ogv,_e as ogx,ye as opus,Ee as otf,Ae as pdf,ze as php,ke as png,Se as pptx,Bt as prepToUploadOne,hr as preparingToUploadOne,Me as psd,De as python,Ce as rar,Be as react,T as readAsArrayBuffer,B as readAsBinaryString,j as readAsDataURL,C as readAsText,I as resizeImage,Te as rtf,vr as sanitizeArrExtFile,Ie as sass,qt as separateAccept,Fr as setNextUploadStatus,Dt as setPrepToUploading,R as sevenzip,Le as sh,Mt as shrinkWord,Ct as sleepPreparing,br as sleepTransition,Re as swf,je as tar,Ue as text,nt as textSelector,Ne as tiff,gr as toUploadableExtFileList,Pe as ttf,qe as typescript,dr as unableToUploadResult,pr as unexpectedErrorUploadResult,sr as uploadExtFile,ur as uploadFile,or as uploadFormData,jt as uploadOne,Tt as uploadOneExtFile,Ot as validateAccept,Vt as validateExtFile,Zt as validateExtFileList,Gt as validateFile,ot as videoSelector,Oe as vsd,He as vue,Ze as wav,Ge as weba,Ve as webm,Xe as webp,Ke as wma,Je as wmv,Qe as woff,$e as xlsx,We as xml,Ye as xul,et as zip}; -//# sourceMappingURL=index.es.js.map diff --git a/src/files-ui/core/index.es.js.map b/src/files-ui/core/index.es.js.map deleted file mode 100644 index c4a8edb4f9b9d15ce32af04ce7d75a85b3d06df8..0000000000000000000000000000000000000000 --- a/src/files-ui/core/index.es.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.es.js","sources":["../src/utils/fileSizeFormatter.ts","../src/localization/Italian/localization.italian.ts","../src/localization/French/localization.french.ts","../src/localization/English/localization.english.ts","../src/localization/Spanish/localization.spanish.ts","../src/localization/Russian/localization.russian.ts","../src/localization/Portuguese/localization.portuguese.ts","../src/localization/Chinese-simplified/localization.simplifiedChinese.ts","../src/localization/Chinese-traditional/localization.traditionalChinese.ts","../src/localization/FileItem.localization.ts","../src/localization/dropzone.localization.ts","../src/localization/validationError.localization.ts","../src/reader/readers.ts","../src/reader/resizeImage.ts","../src/reader/imageOrientation.ts","../src/mime/icons.ts","../src/utils/getExt.ts","../src/mime/mime.ts","../src/types/ExtFile.ts","../src/types/ExtFileManager.ts","../src/types/UploadConfig.ts","../src/synthetic-file/SyntheticFile.ts","../src/utils/IdGenerator.ts","../src/utils/fileListParser.ts","../src/utils/dropzone.utils.ts","../src/utils/shrinkWord.ts","../src/utils/fakeupload.utils.ts","../src/utils/randomInt.ts","../src/utils/input.utils.ts","../src/utils/addClassName.ts","../src/utils/isUploadAbleExtFile.ts","../src/utils/getLocalFileItemData.ts","../src/validation/separateAccept.ts","../src/validation/validateAccept.ts","../src/validation/fileValidator.ts","../src/validation/fakeerros.ts","../src/synthetic-file/syntheticfileGenerator.ts","../src/validation/randomStatus.ts","../src/mocks/extFileMock.ts","../src/upload/addExtraData.upload.ts","../src/upload/addheaders.upload.ts","../src/upload/errors.upload.ts","../src/upload/response.upload.ts","../src/upload/upload.ts","../src/upload/utils.upload.ts","../src/color/namedColors.ts","../src/color/colors.ts","../src/file-manager/reconcilation.ts"],"sourcesContent":["/**\r\n * Gives a XX.XX format in Bytes KB, MB, GB or TB\r\n * @param fileSize file size to give format in Bytes\r\n */\r\n export const fileSizeFormater = (fileSize?: number | false): string| undefined => {\r\n let result = \"\";\r\n if (!fileSize) {\r\n return undefined;\r\n }\r\n if (fileSize < 1024) {\r\n result = fileSize + \" Bytes\"\r\n } else {\r\n //KB\r\n if (fileSize < 1024 * 1024) {\r\n result = (fileSize / 1024).toFixed(2) + \" KB\";\r\n } else if (fileSize < 1024 * 1024 * 1024) {\r\n result = ((fileSize / 1024) / 1024).toFixed(2) + \" MB\";\r\n } else if (fileSize < 1024 * 1024 * 1024 * 1024) {\r\n result = (((fileSize / 1024) / 1024) / 1024).toFixed(2) + \" GB\";\r\n } else {\r\n result = ((((fileSize / 1024) / 1024) / 1024) / 1024).toFixed(2) + \" TB\";\r\n }\r\n }\r\n return result;\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Italian translation for Dropzone component\r\n */\r\nexport const DropzoneItalian: LocalLabels = {\r\n defaultLabel: \"Trascina qui i tuoi file\",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Caricamento di ${amountOfFiles} file`; },\r\n uploadFinished: (uploaded, rejected) => `File caricati: ${uploaded}, File rifiutati: ${rejected}`,\r\n noFilesMessage: `Nessun file valido in attesa di essere caricato`,\r\n footer: {\r\n acceptAll: `Tutti i tipi di file sono accettati`,\r\n acceptCustom: (accept) => `Tipi di file consentiti: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Caricamento\",\r\n maxSizeMessage: (maxFileSize) => `Dimensione massima ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `File ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"Il file è stato caricato con successo \",\r\n fakeUploadError: \"Errore di caricamento del file\",\r\n}\r\n\r\n/**\r\n * Italian translation for FileItem component\r\n */\r\nexport const FileItemItalian: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Nome: `,\r\n size: \"Dimensione: \",\r\n type: \"Tipo: \"\r\n },\r\n status: {\r\n preparing:\"preparazione\",\r\n uploading: \"In corso\",\r\n success: \"Successo\",\r\n valid: \"Valido\",\r\n denied: \"Non válido\",\r\n error: \"Errore\",\r\n aborted:\"Interrotto\"\r\n },\r\n}\r\n/**\r\n * Italian translation for Validation Errors\r\n */\r\n export const ValidateErrorItalian: LocalLabels = {\r\n maxSizeError: (maxSize) => `Il file è molto grande. Il tam. il massimo è ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Tipo di file illegale`,\r\n maxFileCount: (maxFiles) => `Numero massimo di file (${maxFiles}) raggiunto`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * French translation for Dropzone component\r\n */\r\nexport const DropzoneFrench: LocalLabels = {\r\n defaultLabel: \"Déposez vos fichiers ici\",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Envoi de ${amountOfFiles} fichiers`; },\r\n uploadFinished: (uploaded, rejected) => `Fichiers téléchargés : ${uploaded}, Fichiers rejetés: ${rejected}`,\r\n noFilesMessage: `Aucun fichier valide ne manque`,\r\n footer: {\r\n acceptAll: `Tous types de fichiers acceptés `,\r\n acceptCustom: (accept) => `Types de fichier: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Envoyer\",\r\n maxSizeMessage: (maxFileSize) => `Taille maximale ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Fichiers ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"Le fichier a été téléchargé avec succès\",\r\n fakeUploadError: \"Erreur lors du téléchargement \",\r\n}\r\n\r\n/**\r\n * French translation for FileItem component\r\n */\r\nexport const FileItemFrench: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Le nom: `,\r\n size: \"Le taille: \",\r\n type: \"Le type: \"\r\n },\r\n status: {\r\n preparing:\"préparer\",\r\n uploading: \"En cours\",\r\n success: \"Succès\",\r\n valid: \"Valide\",\r\n denied: \"Refusé\",\r\n error: \"Erreur\",\r\n aborted:\"Interrompu\"\r\n },\r\n}\r\n/**\r\n * French translation for Validation Errors\r\n */\r\n export const ValidateErrorFrench: LocalLabels = {\r\n maxSizeError: (maxSize) => `Le fichier est très volumineux. Le tam. le maximum est de ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Type de fichier illégal `,\r\n maxFileCount: (maxFiles) => `Limite de fichiers atteinte (${maxFiles})`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * English translation for Dropzone component\r\n */\r\nexport const DropzoneEnglish: LocalLabels = {\r\n defaultLabel: \"Drop your files here\",\r\n uploadingMessage: (amountOfFiles) => { return `Uploading ${amountOfFiles} files`; },\r\n uploadFinished: (uploaded, rejected) => `Uploaded files: ${uploaded}, Rejected files: ${rejected}`,\r\n noFilesMessage: `There is no missing valid file to upload`,\r\n footer: {\r\n acceptAll: `All file types accepted`,\r\n acceptCustom: (accept) => `Allowed types: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Upload files\",\r\n maxSizeMessage: (maxFileSize) => `Max file size: ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Files ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"File was successfuly uploaded\",\r\n fakeUploadError: \"Error on uploading. Please try again later.\",\r\n}\r\n\r\n/**\r\n * English translation for FileItem component\r\n */\r\nexport const FileItemEnglish: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Name: `,\r\n size: \"Size: \",\r\n type: \"Type: \"\r\n },\r\n status: {\r\n preparing:\"Preparing\",\r\n uploading: \"Uploading\",\r\n success: \"Success\",\r\n valid: \"Valid\",\r\n denied: \"Not valid\",\r\n error: \"Error\",\r\n aborted:\"Aborted\"\r\n },\r\n}\r\n\r\n/**\r\n * English translation for Validation Errors\r\n */\r\nexport const ValidateErrorEnglish: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `File is too big. Max file size allowed is ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `File type is not allowed`,\r\n maxFileCount: (maxFiles) =>\r\n `Max amount of files (${maxFiles}) has been reached`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Spanish translation for Dropzone component\r\n */\r\nexport const DropzoneSpanish: LocalLabels = {\r\n defaultLabel: \"Suelta tus archivos aquí\",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Subiendo ${amountOfFiles} archivos`; },\r\n uploadFinished: (uploaded, rejected) => `Archivos subidos: ${uploaded}, Archivos rechazados: ${rejected}`,\r\n noFilesMessage: `No hay archivos válidos pendientes por subir`,\r\n footer: {\r\n acceptAll: `Todos los tipos de archivo aceptados`,\r\n acceptCustom: (accept) => `Tipo(s) de archivo permitidos: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Subir\",\r\n maxSizeMessage: (maxFileSize) => `Tam. máximo ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Archivos ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"El archivo se subió correctamente\",\r\n fakeUploadError: \"Error al subir el archivo\",\r\n}\r\n\r\n/**\r\n * Spanish translation for FileItem component\r\n */\r\nexport const FileItemSpanish: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Nombre: `,\r\n size: \"Tamaño: \",\r\n type: \"Tipo: \"\r\n },\r\n status: {\r\n preparing:\"Preparando\",\r\n uploading: \"Subiendo\",\r\n success: \"Éxito\",\r\n valid: \"Válido\",\r\n denied: \"No válido\",\r\n error: \"Error\",\r\n aborted: \"Anulado\"\r\n },\r\n}\r\n/**\r\n * Spanish translation for Validation Errors\r\n */\r\nexport const ValidateErrorSpanish: LocalLabels = {\r\n maxSizeError: (maxSize) => `El archivo es muy grande. El tam. máximo es ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Tipo de archivo no permitido`,\r\n maxFileCount: (maxFiles) => `Cantidad máxima de archivos (${maxFiles}) alcanzada`\r\n}\r\n","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Russian translation for Dropzone component\r\n */\r\nexport const DropzoneRussian: LocalLabels = {\r\n defaultLabel: \"Перетащите сюда свои файлы.\",\r\n uploadingMessage: (amountOfFiles) => { return `Выгрузка ${amountOfFiles} файлов`; },\r\n uploadFinished: (uploaded, rejected) => `Загружено файлов: ${uploaded}, отклоненных файлов: ${rejected}`,\r\n noFilesMessage: `Действительный файл не отсутствует для загрузки`,\r\n footer: {\r\n acceptAll: `Принимаются все типы файлов `,\r\n acceptCustom: (accept) => `Допустимые типы: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Отправить\",\r\n maxSizeMessage: (maxFileSize) => `макс размер: ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Файлы ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"Файл был успешно загружен\",\r\n fakeUploadError: \"Ошибка при загрузке\",\r\n}\r\n\r\n/**\r\n * Russian translation for FileItem component\r\n *\r\n */\r\nexport const FileItemRussian: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Имя: `,\r\n size: \"Размер: \",\r\n type: \"Tип: \"\r\n },\r\n status: {\r\n preparing:\"подготовка\",\r\n uploading: \"Загрузка\",\r\n success: \"успех\",\r\n valid: \"годный\",\r\n denied: \"выкинутый\",\r\n error: \"ошибка\",\r\n aborted:\"прерванный\"\r\n },\r\n}\r\n\r\n/**\r\n * Russian translation for Validation Errors\r\n */\r\nexport const ValidateErrorRussian: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `Файл слишком большой. Максимально допустимый размер файла - ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Тип файла не разрешен`,\r\n maxFileCount: (maxFiles) =>\r\n `Достигнуто максимальное количество файлов (${maxFiles})`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Portuguese translation for Dropzone\r\n */\r\nexport const DropzonePortuguese: LocalLabels = {\r\n defaultLabel: \"Solte seus arquivos aqui \",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Enviando ${amountOfFiles} arquivos`; },\r\n uploadFinished: (uploaded, rejected) => `Arquivos enviados: ${uploaded}, Arquivos rejeitados: ${rejected}`,\r\n noFilesMessage: `Nenhum arquivo válido está faltando para enviar`,\r\n footer: {\r\n acceptAll: `Todos os tipos de arquivo são aceitos`,\r\n acceptCustom: (accept) => `Tipos permitidos: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Enviar\",\r\n maxSizeMessage: (maxFileSize) => `Tamanho máximo: ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Arquivos ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"O arquivo foi enviado com sucesso\",\r\n fakeUploadError: \"Erro ao enviar\",\r\n}\r\n\r\n\r\n/**\r\n * Portuguese translation for FileItem component\r\n */\r\nexport const FileItemPortuguese: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Nome: `,\r\n size: \"Tamanho: \",\r\n type: \"Tipo: \"\r\n },\r\n status: {\r\n preparing:\"Preparando\",\r\n uploading: \"Enviando\",\r\n success: \"Êxito\",\r\n valid: \"válido\",\r\n denied: \"Negado\",\r\n error: \"Erro\",\r\n aborted:\"Abortado\"\r\n },\r\n}\r\n/**\r\n * Portuguese translation for Validation Errors\r\n */\r\n export const ValidateErrorPortuguese: LocalLabels = {\r\n maxSizeError: (maxSize) => `O arquivo é muito grande. O tamanho máximo de arquivo permitido é ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `O tipo de arquivo não é permitido `,\r\n maxFileCount: (maxFiles) => `Quantidade máxima de arquivos (${maxFiles}) alcançada`\r\n}","import { LocalLabels } from \"../../types\";\r\nimport { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\n\r\n/**\r\n * English translation for Dropzone component\r\n */\r\nexport const DropzoneSimplifiedChinese: LocalLabels = {\r\n defaultLabel: \"将您的文件放在这里\",\r\n uploadingMessage: (amountOfFiles) => { return `上传 ${amountOfFiles} 个文件`; },\r\n uploadFinished: (uploaded, rejected) => `上传文件:${uploaded},拒绝文件:${rejected}`,\r\n noFilesMessage: `没有缺少要加载的有效文件`,\r\n footer: {\r\n acceptAll: `接受所有文件类型`,\r\n acceptCustom: (accept) => `允许的类型: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"上传文件\",\r\n maxSizeMessage: (maxFileSize) => `最大文件大小:${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `文档 ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"文件已成功上传\",\r\n fakeUploadError: \"上传时出错\",\r\n}\r\n\r\n/**\r\n * Chinnese translation for FileItem component\r\n */\r\nexport const FileItemSimplifiedChinese: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `文档名称: `,\r\n size: \"尺寸: \",\r\n type: \"文件类型: \"\r\n },\r\n status: {\r\n preparing:\"预加载\",\r\n uploading: \"上传\",\r\n success: \"成功\",\r\n valid: \"接受的文件\",\r\n denied: \"被拒绝的文件\",\r\n error: \"错误\",\r\n aborted:\"中止\"\r\n },\r\n}\r\n\r\n/**\r\n * English translation for Validation Errors\r\n */\r\nexport const ValidateErrorSimplifiedChinese: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `文件太大。 允许的最大文件大小为 ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `文件类型不允许`,\r\n maxFileCount: (maxFiles) =>\r\n `已达到最大文件数 (${maxFiles})`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n\r\n/**\r\n * English translation for Dropzone component\r\n */\r\nexport const DropzoneTraditionalChinese: LocalLabels = {\r\n defaultLabel: \"把你的文件放在這裡 \",\r\n uploadingMessage: (amountOfFiles) => { return `上傳${amountOfFiles}個文件`; },\r\n uploadFinished: (uploaded, rejected) => `上傳文件: ${uploaded}, 拒絕的文件:${rejected}`,\r\n noFilesMessage: `沒有缺少要上傳的有效文件`,\r\n footer: {\r\n acceptAll: `接受所有文件類型`,\r\n acceptCustom: (accept) => `允許的類型:${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"上傳文件\",\r\n maxSizeMessage: (maxFileSize) => `最大文件大小:${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => ` 文件 ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"文件已成功上傳\",\r\n fakeUploadError: \"上傳時出錯\",\r\n}\r\n\r\n/**\r\n * Chinese translation for FileItem component\r\n */\r\nexport const FileItemTraditionalChinese: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `文檔名稱: `,\r\n size: \"文件大小: \",\r\n type: \"文件類型: \"\r\n },\r\n status: {\r\n preparing: \"預加載\",\r\n uploading: \"上傳\",\r\n success: \"成功\",\r\n valid: \"有效文件\",\r\n denied: \"無效文件\",\r\n error: \"錯誤\",\r\n aborted: \"中止\"\r\n },\r\n}\r\n\r\n/**\r\n * English translation for Validation Errors\r\n */\r\nexport const ValidateErrorTraditionalChinese: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `文件太大。 允許的最大文件大小為 ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `文件類型不允許`,\r\n maxFileCount: (maxFiles) =>\r\n `已達到最大文件數 (${maxFiles})`\r\n}","import { FileItemRussian } from \"./Russian/localization.russian\";\r\nimport { ComponentLocalizer, LocalLabels, Localization } from \"../types\";\r\nimport { FileItemEnglish } from \"./English/localization.english\";\r\nimport { FileItemFrench } from \"./French/localization.french\";\r\nimport { FileItemPortuguese } from \"./Portuguese/localization.portuguese\";\r\nimport { FileItemSpanish } from \"./Spanish/localization.spanish\";\r\nimport { FileItemSimplifiedChinese } from \"./Chinese-simplified/localization.simplifiedChinese\";\r\nimport { FileItemTraditionalChinese } from \"./Chinese-traditional/localization.traditionalChinese\";\r\nimport { FileItemItalian } from \"./Italian/localization.italian\";\r\n\r\nexport const FileItemLocalizer: ComponentLocalizer = {\r\n \"ES-es\": FileItemSpanish,\r\n \"EN-en\": FileItemEnglish,\r\n \"FR-fr\": FileItemFrench,\r\n \"IT-it\": FileItemItalian,\r\n \"PT-pt\": FileItemPortuguese,\r\n \"RU-ru\": FileItemRussian,\r\n \"ZH-cn\": FileItemSimplifiedChinese,\r\n \"ZH-hk\": FileItemTraditionalChinese\r\n}\r\n\r\n/**\r\n * Secure translation through a selector\r\n * @param local the Localization\r\n * @returns a ComponentLocalizer object that contains the translation\r\n */\r\nexport const FileItemLocalizerSelector = (local?: Localization): LocalLabels => {\r\n switch (local) {\r\n case \"ES-es\": return FileItemLocalizer[\"ES-es\"];\r\n case \"EN-en\": return FileItemLocalizer[\"EN-en\"];\r\n case \"FR-fr\": return FileItemLocalizer[\"FR-fr\"];\r\n case \"IT-it\": return FileItemLocalizer[\"IT-it\"];\r\n case \"PT-pt\": return FileItemLocalizer[\"PT-pt\"];\r\n case \"RU-ru\": return FileItemLocalizer[\"RU-ru\"];\r\n case \"ZH-cn\": return FileItemLocalizer[\"ZH-cn\"];\r\n case \"ZH-hk\": return FileItemLocalizer[\"ZH-hk\"];\r\n default: return FileItemLocalizer[\"EN-en\"];\r\n }\r\n}","import { DropzoneRussian } from \"./Russian/localization.russian\";\r\nimport { DropzoneEnglish } from \"./English/localization.english\";\r\nimport { DropzoneFrench } from \"./French/localization.french\";\r\nimport { DropzonePortuguese } from \"./Portuguese/localization.portuguese\";\r\nimport { DropzoneSpanish } from \"./Spanish/localization.spanish\";\r\nimport { DropzoneSimplifiedChinese } from \"./Chinese-simplified/localization.simplifiedChinese\";\r\nimport { DropzoneTraditionalChinese } from \"./Chinese-traditional/localization.traditionalChinese\";\r\nimport { DropzoneItalian } from \"./Italian/localization.italian\";\r\nimport { ComponentLocalizer, Localization, LocalLabels } from \"../types\";\r\n\r\nexport const DropzoneLocalizer: ComponentLocalizer = {\r\n \"ES-es\": DropzoneSpanish,\r\n \"EN-en\": DropzoneEnglish,\r\n \"FR-fr\": DropzoneFrench,\r\n \"IT-it\": DropzoneItalian,\r\n \"PT-pt\": DropzonePortuguese,\r\n \"RU-ru\": DropzoneRussian,\r\n \"ZH-cn\": DropzoneSimplifiedChinese,\r\n \"ZH-hk\": DropzoneTraditionalChinese\r\n\r\n}\r\n/**\r\n * Secure translation through a selector\r\n * @param local the Localization\r\n * @returns a ComponentLocalizer object that contains the translation\r\n */\r\nexport const DropzoneLocalizerSelector = (local: Localization | undefined): LocalLabels => {\r\n switch (local) {\r\n case \"ES-es\": return DropzoneLocalizer[\"ES-es\"];\r\n case \"EN-en\": return DropzoneLocalizer[\"EN-en\"];\r\n case \"FR-fr\": return DropzoneLocalizer[\"FR-fr\"];\r\n case \"IT-it\": return DropzoneLocalizer[\"IT-it\"];\r\n case \"PT-pt\": return DropzoneLocalizer[\"PT-pt\"];\r\n case \"RU-ru\": return DropzoneLocalizer[\"RU-ru\"];\r\n case \"ZH-cn\": return DropzoneLocalizer[\"ZH-cn\"];\r\n case \"ZH-hk\": return DropzoneLocalizer[\"ZH-hk\"];\r\n default: return DropzoneLocalizer[\"EN-en\"];\r\n }\r\n}","import { ValidateErrorRussian } from \"./Russian/localization.russian\";\r\nimport { ComponentLocalizer, LocalLabels, Localization } from \"./../types\";\r\nimport { ValidateErrorEnglish } from \"./English/localization.english\";\r\nimport { ValidateErrorFrench } from \"./French/localization.french\";\r\nimport { ValidateErrorPortuguese } from \"./Portuguese/localization.portuguese\";\r\nimport { ValidateErrorSpanish } from \"./Spanish/localization.spanish\";\r\nimport { ValidateErrorSimplifiedChinese } from \"./Chinese-simplified/localization.simplifiedChinese\";\r\nimport { ValidateErrorTraditionalChinese } from \"./Chinese-traditional/localization.traditionalChinese\";\r\nimport { ValidateErrorItalian } from \"./Italian/localization.italian\";\r\n\r\nexport const ValidateErrorLocalizer: ComponentLocalizer = {\r\n \"ES-es\": ValidateErrorSpanish,\r\n \"EN-en\": ValidateErrorEnglish,\r\n \"FR-fr\": ValidateErrorFrench,\r\n \"IT-it\": ValidateErrorItalian,\r\n \"PT-pt\": ValidateErrorPortuguese,\r\n \"RU-ru\": ValidateErrorRussian,\r\n \"ZH-cn\": ValidateErrorSimplifiedChinese,\r\n \"ZH-hk\": ValidateErrorTraditionalChinese,\r\n}\r\n/**\r\n * Secure translation through a selector\r\n * @param local the Localization\r\n * @returns a ComponentLocalizer object that contains the translation\r\n */\r\nexport const ValidateErrorLocalizerSelector = (local: Localization | undefined): LocalLabels => {\r\n if (!local || ![\"ES-es\", \"EN-en\", \"FR-fr\", \"IT-it\", \"PT-pt\", \"RU-ru\", \"ZH-cn\", \"ZH-hk\"].includes(local)) {\r\n return ValidateErrorLocalizer[\"EN-en\"];\r\n }\r\n return ValidateErrorLocalizer[local];\r\n}","/**\r\n * Reads an image (or other type) file as data URL in a promise way, \r\n * so you can use await.\r\n * It will return a string that contains the URL representation\r\n * @param file File or Blob object\r\n * @returns data URL of the file\r\n */\r\nexport const readAsDataURL = (file: File | Blob, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.readAsDataURL(file);\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n/**\r\n * Reads a file as Text in a promise way, so you can use await.\r\n * If other kind of file is sent, this function will read it anyway\r\n * and will return a string that contains the URL representation\r\n * @param file File or Blob object\r\n * @param encoding The type of encoding such as \"base64\"\r\n * @returns data text of the file\r\n */\r\nexport const readAsText = (file: File | Blob, encoding?: string, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.readAsText(file, encoding ? encoding : \"base64\");\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n/**\r\n * Reads a file and return the raw binary data from the file. \r\n * @param file File or Blob object\r\n * @param encoding The type of encoding such as \"base64\"\r\n * @returns raw binary data of the file\r\n */\r\nexport const readAsBinaryString = (file: File | Blob, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.readAsBinaryString(file);\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Reads a file and returns an ArrayBuffer representing the file's data \r\n * @param file File or blob object\r\n * @param encoding The type of encoding such as \"base64\"\r\n * @returns ArrayBuffer representation of the file\r\n */\r\nexport const readAsArrayBuffer = (file: File | Blob, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}","/**\r\n * Resize an image resolution given maxWidth and maxHeight\r\n * \r\n * Should be called with await\r\n * @param base64Str a string representation of an imae file\r\n * @param maxWidth the max width of he image\r\n * @param maxHeight the max height of he image\r\n * @returns the resized image\r\n */\r\nexport function resizeImage(\r\n base64Str: string,\r\n maxWidth = 135,\r\n maxHeight = 120\r\n): Promise<string | undefined> {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let img: HTMLImageElement = new Image();\r\n img.src = base64Str;\r\n img.onload = () => {\r\n let canvas: HTMLCanvasElement = document.createElement('canvas');\r\n const MAX_WIDTH: number = maxWidth;\r\n const MAX_HEIGHT: number = maxHeight;\r\n let width: number = img.width;\r\n let height: number = img.height;\r\n\r\n if (maxWidth > width && maxHeight > height) {\r\n resolve(base64Str);\r\n } else\r\n if (width > height) {\r\n if (width > MAX_WIDTH) {\r\n height *= MAX_WIDTH / width;\r\n width = MAX_WIDTH;\r\n }\r\n } else {\r\n if (height > MAX_HEIGHT) {\r\n width *= MAX_HEIGHT / height;\r\n height = MAX_HEIGHT;\r\n }\r\n }\r\n canvas.width = width\r\n canvas.height = height\r\n let ctx: CanvasRenderingContext2D | null = canvas.getContext('2d')\r\n if (ctx) {\r\n ctx.drawImage(img, 0, 0, width, height);\r\n resolve(canvas.toDataURL());\r\n\r\n } else {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"An error ocurred when trying to make a thumnail\");\r\n }\r\n reject(undefined);\r\n }\r\n }\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"An error ocurred when trying to make a thumnail\");\r\n }\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n","/**\r\n * Resize an image resolution given maxWidth and maxHeight\r\n * \r\n * Should be called with await\r\n * @param base64Str a string representation of an imae file\r\n * @param maxWidth the max width of he image\r\n * @param maxHeight the max height of he image\r\n * @returns the resized image\r\n */\r\nexport function getImageOrientation(\r\n imageSource: string | undefined,\r\n): Promise<\"landscape\" | \"portrait\"> {\r\n return new Promise((resolve, reject) => {\r\n //console.log(\"getImageOrientation imageSource\", imageSource);\r\n if (!imageSource || imageSource.length === 0) {\r\n // console.log(\"getImageOrientation rejected\", imageSource);\r\n\r\n reject(\"landscape\");\r\n return;\r\n }\r\n try {\r\n //console.log(\"getImageOrientation try ini\", imageSource);\r\n\r\n let img: HTMLImageElement = new Image();\r\n img.src = imageSource;\r\n img.onerror = (ev: string | Event) => {\r\n //console.log(\"getImageOrientation There was a ne error reading\", ev);\r\n reject(\"landscape\");\r\n }\r\n img.onload = () => {\r\n let width: number = img.width;\r\n let height: number = img.height;\r\n if (width > height) {\r\n resolve(\"landscape\");\r\n } else {\r\n resolve(\"portrait\");\r\n }\r\n }\r\n } catch (error) {\r\n //console.error(\"An error ocurred when trying to get the image orientation\");\r\n\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"An error ocurred when trying to get the image orientation\");\r\n }\r\n reject(\"landscape\");\r\n }\r\n });\r\n}\r\n\r\n","export const sevenzip = \"https://user-images.githubusercontent.com/43678736/132086517-72a51a12-e403-4675-bfd7-22c23affa730.png\";\r\nexport const aac = \"https://user-images.githubusercontent.com/43678736/132086518-7026d4f1-ea16-4ed0-89fd-37c1aa8ac3ed.png\";\r\nexport const abw = \"https://user-images.githubusercontent.com/43678736/132086519-863c63b4-917e-4471-94ff-7e15651cc14b.png\";\r\nexport const accdb = \"https://user-images.githubusercontent.com/43678736/132086520-9bc6aa3b-51c9-4da2-9ef7-349162b86d0b.png\";\r\nexport const avi = \"https://user-images.githubusercontent.com/43678736/132086521-dbd6cf0d-d4d7-4b92-bb26-17e8a51a9383.png\";\r\nexport const azw = \"https://user-images.githubusercontent.com/43678736/132086522-070f48e8-78a8-4294-8dbb-aab81525e164.png\";\r\nexport const bmp = \"https://user-images.githubusercontent.com/43678736/132086595-90ab7f90-f87e-4900-94d9-d0b26745df48.png\";\r\nexport const bz = \"https://user-images.githubusercontent.com/43678736/132086597-e285ad5c-613a-4679-a270-493e5be4ffd9.png\";\r\nexport const bz2 = \"https://user-images.githubusercontent.com/43678736/132086598-623c410a-084a-4395-a448-211b2ff61cfe.png\";\r\nexport const c = \"https://user-images.githubusercontent.com/43678736/132086599-7a5cd692-b4df-45f5-80d9-384cb3e0c314.png\";\r\nexport const cda = \"https://user-images.githubusercontent.com/43678736/132086600-8b70a007-512d-4252-9c66-eabd3ddd6573.png\";\r\nexport const csh = \"https://user-images.githubusercontent.com/43678736/132086601-e62e5d1a-d8a2-4475-a14f-85922cec9272.png\";\r\nexport const css = \"https://user-images.githubusercontent.com/43678736/132086602-4c772934-f608-4f01-8459-c4622cee8ad5.png\";\r\nexport const csv = \"https://user-images.githubusercontent.com/43678736/132086604-b5b019fe-572e-477e-92c2-3769a48a1304.png\";\r\nexport const docx = \"https://user-images.githubusercontent.com/43678736/132086606-715ccb66-4702-4f7d-9b09-ac93ba17b643.png\";\r\nexport const docx2 = \"https://user-images.githubusercontent.com/43678736/132086607-a246b386-52c9-4fe1-a7e4-204894e6722d.png\";\r\nexport const drawio = \"https://user-images.githubusercontent.com/43678736/132086608-bcae9d57-8e54-488c-90c4-4952ae530b5e.png\";\r\nexport const dw = \"https://user-images.githubusercontent.com/43678736/132086616-0c7842d6-d20e-4ede-988b-3dd063a4de8d.png\";\r\nexport const eml = \"https://user-images.githubusercontent.com/43678736/132086617-1e351075-ffaf-4b81-a1fe-0b7b338772a2.png\";\r\nexport const eot = \"https://user-images.githubusercontent.com/43678736/132086618-397d6bd2-9fda-43ed-a135-cb40388c35af.png\";\r\nexport const eps = \"https://user-images.githubusercontent.com/43678736/132086619-9daf0b61-dbb0-4d47-8a12-9fba13b88856.png\";\r\nexport const epub = \"https://user-images.githubusercontent.com/43678736/132086620-2586ba40-c583-4589-b1a4-8bb5b258b44d.png\";\r\nexport const freearc = \"https://user-images.githubusercontent.com/43678736/132086621-3b95fb64-2533-4ccc-abcd-bd2beba572e9.png\";\r\nexport const gif = \"https://user-images.githubusercontent.com/43678736/132086622-af705a0c-2b25-4ba7-8ab6-bd69ec97f7e2.png\";\r\nexport const gzip = \"https://user-images.githubusercontent.com/43678736/132086624-89141a46-64e4-4fa0-bf69-54a0eb4d48c9.png\";\r\nexport const html = \"https://user-images.githubusercontent.com/43678736/132086625-1b8f2652-1de0-4475-8c12-7da4a9973ffb.png\";\r\nexport const icalendar = \"https://user-images.githubusercontent.com/43678736/132086626-38699705-1e6f-4bca-984b-03167b236faa.png\";\r\nexport const ind = \"https://user-images.githubusercontent.com/43678736/132086627-2f24067a-00bc-424a-af36-349a9ba14b6c.png\";\r\nexport const ini = \"https://user-images.githubusercontent.com/43678736/132086649-20c9c9e6-8e63-4d87-9b8e-8fe8eba12ada.png\";\r\nexport const java = \"https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png\";\r\nexport const jar = \"https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png\";\r\nexport const javascript = \"https://user-images.githubusercontent.com/43678736/132086652-4562942e-aaea-466c-968f-380fffabf3f9.png\";\r\nexport const jpeg = \"https://user-images.githubusercontent.com/43678736/132086653-0487e7e2-1ee3-49e2-8cfe-3e20f1f7490a.png\";\r\nexport const jsf = \"https://user-images.githubusercontent.com/43678736/132086654-c510bd8f-8de7-4afe-8c20-cc810b004b07.png\";\r\nexport const json = \"https://user-images.githubusercontent.com/43678736/132086656-6e96c815-e4e2-4ffd-9d71-57e9cc2450bc.png\";\r\nexport const jsonld = \"https://user-images.githubusercontent.com/43678736/132086658-5d27d3c2-394f-43fb-b512-9b414a257875.png\";\r\nexport const midi = \"https://user-images.githubusercontent.com/43678736/132086659-98f3ef6e-b9f3-4b6d-b18f-469b5334ba27.png\";\r\nexport const mov = \"https://user-images.githubusercontent.com/43678736/132086660-adcecedd-56b4-4286-8b0f-69417f77e961.png\";\r\nexport const mp3 = \"https://user-images.githubusercontent.com/43678736/132086661-a5484553-06c7-4ffa-a8f9-96b57b1b0344.png\";\r\nexport const mp4 = \"https://user-images.githubusercontent.com/43678736/132086662-05ad1597-d5e5-4efa-833e-2876e966a745.png\";\r\nexport const mpeg = \"https://user-images.githubusercontent.com/43678736/132086663-90c58955-f7fb-4bdb-ac53-92667d16d4a3.png\";\r\nexport const mpkg = \"https://user-images.githubusercontent.com/43678736/132086664-9a7530e7-6d78-4ef3-a176-20cf7f57b555.png\";\r\nexport const octet = \"https://user-images.githubusercontent.com/43678736/132086666-ab3c505d-b2c0-4177-9a06-aed5d9c39ee4.png\";\r\nexport const odp = \"https://user-images.githubusercontent.com/43678736/132086667-6c7dcbcc-8d83-41a2-8e0a-85b09e2791ae.png\";\r\nexport const ods = \"https://user-images.githubusercontent.com/43678736/132086668-9f246e91-cf2e-49cf-9617-e1fbb71abbbb.png\";\r\nexport const odt = \"https://user-images.githubusercontent.com/43678736/132086669-46113762-84d1-4b32-9441-b0138ce17a5d.png\";\r\nexport const oga = \"https://user-images.githubusercontent.com/43678736/145835364-2054509d-3448-4d34-921f-73dd6e297fc7.png\";\r\nexport const ogv = \"https://user-images.githubusercontent.com/43678736/145835367-19172bf8-cd5a-4cbe-b512-d0de1d91f269.png\";\r\nexport const ogx = \"https://user-images.githubusercontent.com/43678736/145835373-a57ef0f5-3968-483b-9f55-6d67e7f1dcea.png\";\r\nexport const opus = \"https://user-images.githubusercontent.com/43678736/132086670-0f96e770-cedc-4635-a5f9-cf97894c1d7a.png\";\r\nexport const otf = \"https://user-images.githubusercontent.com/43678736/132086671-02ad35ef-ec3a-4a65-abd5-5bf794dfcf7b.png\";\r\nexport const pdf = \"https://user-images.githubusercontent.com/43678736/132086672-3a856fda-823d-4997-b802-c7c640e6ef44.png\";\r\nexport const php = \"https://user-images.githubusercontent.com/43678736/132086673-0c4409ab-754e-4619-8cfa-179d0ccf1bd9.png\";\r\nexport const png = \"https://user-images.githubusercontent.com/43678736/132086674-fdb56d02-5845-49b7-8462-6357bc963464.png\";\r\nexport const pptx = \"https://user-images.githubusercontent.com/43678736/132086675-c879645d-acb4-41a6-ab3c-4e6c2048badb.png\";\r\nexport const pptx2 = \"https://user-images.githubusercontent.com/43678736/132086676-6de1bbd7-764f-4197-9aa4-405a60ce6734.png\";\r\nexport const proj = \"https://user-images.githubusercontent.com/43678736/132086683-3dc0a8b8-72f8-4fa1-a08a-fcfd75b465e1.png\";\r\nexport const psd = \"https://user-images.githubusercontent.com/43678736/132086685-4e327c4c-a409-4b83-b36a-8d88936b314b.png\";\r\nexport const pst = \"https://user-images.githubusercontent.com/43678736/132086686-3888e43a-5abf-41f7-9940-4b86e436521f.png\";\r\nexport const publisher = \"https://user-images.githubusercontent.com/43678736/132086687-d92b56ff-f7f7-4be7-bbf4-47b8a33f4c6f.png\";\r\nexport const python = \"https://user-images.githubusercontent.com/43678736/132086688-8e82fae4-3a9b-49c0-bf99-77189525514c.png\";\r\nexport const tar = \"https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png\";\r\nexport const rar = \"https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png\";\r\nexport const react = \"https://user-images.githubusercontent.com/43678736/132086691-d472576b-ec6a-4332-acd2-dd6a00b72952.png\";\r\nexport const richtextformat = \"https://user-images.githubusercontent.com/43678736/132086692-df6e3518-2e6a-4553-883d-e21694980449.png\";\r\nexport const rtf = \"https://user-images.githubusercontent.com/43678736/132086693-9d43571e-0c86-438f-b247-e2cb42e19e06.png\";\r\nexport const sass = \"https://user-images.githubusercontent.com/43678736/132086694-4e661d6a-1118-441e-8bc3-c52fcb2133b6.png\";\r\nexport const settings = \"https://user-images.githubusercontent.com/43678736/132086696-0dd21f83-b9fc-490c-9ed5-bd88151dc9bb.png\";\r\nexport const sh = \"https://user-images.githubusercontent.com/43678736/132086697-1d82d724-35b6-4f06-847a-3c59a5deda6e.png\";\r\nexport const swf = \"https://user-images.githubusercontent.com/43678736/132086698-19384230-dbd7-4e05-bc69-ef4537b6aae3.png\";\r\nexport const text = \"https://user-images.githubusercontent.com/43678736/132086699-5993a482-04f4-4915-b105-9037f527cf61.png\";\r\nexport const tiff = \"https://user-images.githubusercontent.com/43678736/132086700-c23461c8-6819-46e1-aecd-0a1f8d3507bb.png\";\r\nexport const ttf = \"https://user-images.githubusercontent.com/43678736/132086701-c8044c09-8d95-4af1-9410-66761001d7da.png\";\r\nexport const typescript = \"https://user-images.githubusercontent.com/43678736/132086702-59294337-ed99-4302-badd-316b2c1ff62f.png\";\r\nexport const url = \"https://user-images.githubusercontent.com/43678736/132086703-86d97476-b76e-4949-b89a-31ecb03f3b6e.png\";\r\nexport const vsd = \"https://user-images.githubusercontent.com/43678736/132086704-8fd51e7c-afa2-47a3-ab2f-d0bcd0ecae9f.png\";\r\nexport const vue = \"https://user-images.githubusercontent.com/43678736/132086705-33294da1-5c0f-49f7-b890-e4857cec0a6d.png\";\r\nexport const wav = \"https://user-images.githubusercontent.com/43678736/132086706-22f805d0-39d4-494b-824e-47dc75d05eb7.png\";\r\nexport const webm = \"https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png\";\r\nexport const weba = \"https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png\";\r\nexport const webp = \"https://user-images.githubusercontent.com/43678736/132086708-21d096dd-7148-40aa-97f1-cbb099339740.png\";\r\nexport const wma = \"https://user-images.githubusercontent.com/43678736/132086709-811d4e90-3cfa-4044-a956-aeda9c67fc92.png\";\r\nexport const wmv = \"https://user-images.githubusercontent.com/43678736/132086710-c5479c6c-0249-4542-adad-48b0ef40b775.png\";\r\nexport const woff = \"https://user-images.githubusercontent.com/43678736/132086711-1524a3e7-3e33-4822-a34f-ff3235404045.png\";\r\nexport const xlsx = \"https://user-images.githubusercontent.com/43678736/132086712-17e2c491-f6e4-4586-aef6-06bcc5f4b0e5.png\";\r\nexport const xlsx2 = \"https://user-images.githubusercontent.com/43678736/132086714-7ddf285d-2b83-4115-80a5-f02f510300a1.png\";\r\nexport const xml = \"https://user-images.githubusercontent.com/43678736/132086715-204b5a8b-9c5a-4bac-8294-9237ebc16089.png\";\r\nexport const xul = \"https://user-images.githubusercontent.com/43678736/132086716-64511d20-58cb-45a8-85df-f4d9408b469d.png\";\r\nexport const zip = \"https://user-images.githubusercontent.com/43678736/132086718-a8499333-6282-4820-aa1f-4d133eb54648.png\";\r\n","/**\r\n * Looks for the first file extension\r\n * @param fileName file name\r\n * @returns the file name extension\r\n */\r\n export const getExt = (fileName: string): string => {\r\n const re = /(?:\\.([^.]+))?$/;\r\n const result = re.exec(fileName);\r\n if (result) {\r\n return result[1];\r\n } else {\r\n return \"\";\r\n }\r\n\r\n};","import {\r\n aac, abw, accdb, avi, azw,\r\n bmp, bz, bz2, cda,\r\n csh, css, csv,\r\n docx, drawio,\r\n eot, epub,\r\n freearc, gif, gzip,\r\n html, icalendar,\r\n jar, java, javascript, jpeg, json, jsonld,\r\n midi, mp3, mp4, mpeg, mpkg,\r\n octet, odp, ods, odt, oga, ogv, ogx, opus, otf,\r\n pdf, php, png, pptx, psd, python,\r\n rar, react, rtf,\r\n sass, sevenzip, sh, swf,\r\n tar, text, tiff, ttf, typescript,\r\n vsd, vue,\r\n wav, weba, webm, webp, wma, wmv, woff,\r\n xlsx, xml, xul,\r\n zip\r\n} from \"./icons\";\r\nimport { getExt } from \"../utils/getExt\";\r\nimport { IconsMap } from \"../types\";\r\n\r\nconst DEF_GEN_MIME: keyof IconsMap = \"octet\";\r\n/**\r\n * \r\n * @param tailMime \r\n * @returns \r\n */\r\nexport const audioSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"aac\": return \"aac\";\r\n case \"midi\": return \"midi\";\r\n case \"x-midi\": return \"midi\";\r\n case \"mpeg\": return \"mpeg\";//mp3\r\n case \"ogg\": return \"oga\";\r\n case \"opus\": return \"opus\";\r\n case \"wav\": return \"wav\";\r\n case \"webm\": return \"webm\";\r\n //case \"3gpp\": return \"threegp\";\r\n //case \"3gpp2\": return \"threegp\";\r\n //case \"mp3\": return \"mp3\";\r\n case \"wma\": return \"wma\";\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\nexport const textSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"css\": return \"css\";\r\n case \"csv\": return \"csv\";\r\n case \"html\": return \"html\";\r\n case \"calendar\": return \"icalendar\";\r\n case \"javascript\": return \"javascript\";\r\n case \"x-javascript\": return \"javascript\";\r\n case \"plain\": return \"text\";\r\n case \"xml\": return \"xml\";\r\n default: return DEF_GEN_MIME;\r\n\r\n }\r\n}\r\nexport const imageSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"bmp\": return \"bmp\";\r\n case \"gif\": return \"gif\";\r\n // case \"vnd.microsoft.icon\": return \"ico\";\r\n //case \"ico\": return \"ico\";\r\n case \"jpg\": return \"jpeg\";\r\n case \"jpeg\": return \"jpeg\";\r\n case \"png\": return \"png\";\r\n //case \"svg+xml\": return \"svg\";\r\n //case \"svg\": return \"svg\";\r\n case \"tiff\": return \"tiff\";\r\n case \"webp\": return \"webp\";\r\n default: return DEF_GEN_MIME;\r\n\r\n }\r\n}\r\nexport const fontSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"otf\": return \"otf\";\r\n case \"ttf\": return \"ttf\";\r\n case \"woff\": return \"woff\";\r\n case \"woff2\": return \"woff\";\r\n default: return DEF_GEN_MIME;\r\n\r\n }\r\n}\r\n\r\nexport const videoSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"x-msvideo\": return \"avi\";\r\n case \"msvideo\": return \"avi\";\r\n case \"avi\": return \"avi\";\r\n case \"mp4\": return \"mp4\";\r\n case \"mpeg\": return \"mpeg\";\r\n case \"ogg\": return \"ogv\";\r\n case \"mp2t\": return \"mp2t\";\r\n case \"wmv\": return \"wmv\";\r\n\r\n case \"webm\": return \"webm\";\r\n // case \"3gpp\": return \"threegp\";\r\n // case \"3gpp2\": return \"threegp2\";\r\n\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\n/**\r\n * \r\n * @param tailMime \r\n * @returns \r\n */\r\nexport const applicationSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"x-abiword\": return \"abw\";\r\n case \"abiword\": return \"abw\";\r\n case \"x-freearc\": return \"arc\";\r\n case \"freearc\": return \"arc\";\r\n case \"vnd.amazon.ebook\": return \"azw\";\r\n case \"octet-stream\": return \"octet\";\r\n case \"x-bzip\": return \"bz\";\r\n case \"x-bzip2\": return \"bz2\";\r\n case \"bzip\": return \"bz\";\r\n case \"bzip2\": return \"bz2\";\r\n case \"x-cdf\": return \"cda\";\r\n case \"msaccess\": return \"accdb\";\r\n case \"csh\": return \"csh\";\r\n case \"x-csh\": return \"csh\";\r\n case \"vnd.ms-fontobject\": return \"eot\";\r\n case \"epub+zip\": return \"epub\";\r\n case \"gzip\": return \"gzip\";\r\n case \"java-archive\": return \"jar\";\r\n case \"x-javascript\": return \"javascript\";\r\n case \"json\": return \"json\";\r\n case \"ld+json\": return \"jsonld\";\r\n case \"vnd.apple.installer+xml\": return \"mpkg\";\r\n case \"ogg\": return \"ogx\";\r\n case \"vnd.rar\": return \"rar\";\r\n case \"rtf\": return \"rtf\";\r\n case \"x-sh\": return \"sh\";\r\n case \"sh\": return \"sh\";\r\n case \"x-shockwave-flash\": return \"swf\";\r\n case \"x-tar\": return \"tar\";\r\n case \"x-httpd-php\": return \"php\";\r\n case \"vnd.visio\": return \"vsd\";\r\n case \"xhtml+xml\": return \"xhtml\";\r\n case \"xml\": return \"xml\";\r\n case \"vnd.mozilla.xul+xml\": return \"xul\";\r\n case \"vnd.openxmlformats-officedocument.wordprocessingml.document\": return \"docx\";\r\n case \"msword\": return \"docx\";\r\n case \"vnd.openxmlformats-officedocument.spreadsheetml.sheet\": return \"xlsx\";\r\n case \"vnd.openxmlformats-officedocument.presentationml.presentation\": return \"pptx\";\r\n case \"vnd.ms-powerpoint\": return \"pptx\";\r\n case \"vnd.oasis.opendocument.presentation\": return \"odp\";\r\n case \"vnd.oasis.opendocument.text\": return \"odt\";\r\n case \"vnd.oasis.opendocument.spreadsheet\": return \"ods\";\r\n case \"zip\": return \"zip\";\r\n case \"x-zip-compressed\": return \"zip\";\r\n case \"pdf\": return \"pdf\";\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\n/**\r\n * Selects to wich mime type the mime type given belongs to\r\n * @param mimeType mime type to be searched \r\n * @returns the generic type, \r\nif not found it return \"octet\" that means generic binary file\r\n */\r\nexport const mimeSelector = (mimeType?: string): keyof IconsMap => {\r\n // let genericMime: string | undefined = undefined;\r\n if (!mimeType || !mimeType.includes(\"/\")) {\r\n return DEF_GEN_MIME;\r\n }\r\n let headerMime = mimeType.split(\"/\")[0];\r\n let tailMime = mimeType.split(\"/\")[1];\r\n /**\r\n * Every mimetype that \r\n * starts with: \"application/....\"\r\n */\r\n\r\n switch (headerMime) {\r\n case \"application\": return applicationSelector(tailMime);\r\n case \"audio\": return audioSelector(tailMime);\r\n case \"video\": return videoSelector(tailMime);\r\n case \"text\": return textSelector(tailMime);\r\n case \"image\": return imageSelector(tailMime);\r\n case \"font\": return fontSelector(tailMime);\r\n\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\n/**\r\n * Selects to wich mapped extension\r\n * the given exension belongs to\r\n * \r\n * @param extension \r\n * @returns \r\n */\r\nexport const extensionSelector = (extension?: string): keyof IconsMap => {\r\n let genericMime: keyof IconsMap = \"octet\";\r\n\r\n if (extension && extension !== \"\") {\r\n if (extension.includes(\"zip\") || extension.includes(\"rar\")) {\r\n genericMime = \"zip\";\r\n } else if (extension.includes(\"doc\")) {\r\n genericMime = \"docx\";\r\n } else if (extension.includes(\"xls\")) {\r\n genericMime = \"xlsx\";\r\n } else if (extension.includes(\"drawio\")) {\r\n genericMime = \"drawio\";\r\n } else if (extension.includes(\"psd\")) {\r\n genericMime = \"psd\";\r\n } else if (extension.includes(\"csv\")) {\r\n genericMime = \"csv\";\r\n } else if (extension === \"jsx\") {\r\n genericMime = \"react\";\r\n } else if (extension === \"py\") {\r\n genericMime = \"python\";\r\n } else if (extension === \"vue\") {\r\n genericMime = \"vue\";\r\n } else if (extension === \"java\") {\r\n genericMime = \"java\";\r\n } else if (extension === \"ts\") {\r\n genericMime = \"typescript\";\r\n } else if (extension === \"sass\" || extension === \"scss\") {\r\n genericMime = \"sass\";\r\n }\r\n }\r\n return genericMime;\r\n\r\n}\r\n/**\r\n * Chack for extention whether the file is code os not\r\n * @param extension \r\n * @returns \r\n */\r\nexport const checkIsCode = (extension?: string): keyof IconsMap => {\r\n let genericMime: keyof IconsMap = \"text\";\r\n if (extension && extension !== \"\") {\r\n if (extension === \"jsx\") {\r\n genericMime = \"react\";\r\n } else if (extension === \"py\") {\r\n genericMime = \"python\";\r\n } else if (extension === \"vue\") {\r\n genericMime = \"vue\";\r\n } else if (extension === \"java\") {\r\n genericMime = \"java\";\r\n } else if (extension === \"ts\" || extension === \"tsx\") {\r\n genericMime = \"typescript\";\r\n } else if (extension === \"js\") {\r\n genericMime = \"javascript\";\r\n } else if (extension === \"xml\") {\r\n genericMime = \"xml\";\r\n } else if (extension === \"php\") {\r\n genericMime = \"php\";\r\n }\r\n }\r\n return genericMime;\r\n}\r\n\r\n/**\r\n * Looks for a suitable file icon\r\n * If not found, returns octet-stream url\r\n * @param props mime and extension from file to search\r\n * @returns the result file ico\r\n */\r\nexport const getURLFileIco = (\r\n file: File | undefined,\r\n customIcons: IconsMap | undefined\r\n): ResultFileIco => {\r\n\r\n let result: keyof IconsMap = \"fallBack\";\r\n //if not file, return octet\r\n if (!file) {\r\n result = DEF_GEN_MIME;\r\n if (customIcons?.fallBack)\r\n return { url: customIcons?.fallBack, mimeResume: result };\r\n\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n } else {\r\n result = mimeSelector(file.type);\r\n }\r\n //If plain text\r\n const extention: string = getExt(file.name);\r\n\r\n if (result === \"text\") {\r\n result = checkIsCode(extention);\r\n\r\n }\r\n //If octet stream result, second chance: file extention\r\n if (result === DEF_GEN_MIME) {\r\n result = extensionSelector(extention);\r\n }\r\n\r\n const customUrl = customIcons?.[result];\r\n if (customUrl !== undefined)\r\n return { url: customUrl, mimeResume: result };\r\n\r\n\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n}\r\n/**\r\n * Looks for a suitable file icon\r\n * @param props mime and extension from file to search\r\n * @returns the result file ico, if not found, turns octet-stream url\r\n */\r\nexport const getURLFileIcoFromNameAndType = (\r\n name: string | undefined,\r\n type: string | undefined,\r\n customIcons: IconsMap | undefined\r\n): ResultFileIco => {\r\n\r\n let result: keyof IconsMap = \"octet\";\r\n //if not nam and type, return octet\r\n if (!name) {\r\n result = DEF_GEN_MIME;\r\n if (customIcons?.fallBack)\r\n return { url: customIcons?.fallBack, mimeResume: result };\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n } else {\r\n result = mimeSelector(type);\r\n }\r\n //If plain text\r\n const extention: string = getExt(name);\r\n\r\n if (result === \"text\") {\r\n result = checkIsCode(extention);\r\n\r\n }\r\n //If octet stream result, second chance: file extention\r\n if (result === DEF_GEN_MIME) {\r\n result = extensionSelector(extention);\r\n }\r\n const customUrl = customIcons?.[result];\r\n if (customUrl !== undefined)\r\n return { url: customUrl, mimeResume: result };\r\n\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n}\r\ninterface ResultFileIco {\r\n url: string;\r\n mimeResume: keyof IconsMap;\r\n}\r\n/**\r\n * set of registered mimes on MDN\r\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\r\n * \r\n */\r\ninterface MimeSelector {\r\n [mime: string]: string;\r\n}\r\n\r\nconst mimeUrlList: MimeSelector = {\r\n aac: aac,\r\n accdb: accdb,\r\n abw: abw,\r\n arc: freearc,\r\n avi: avi,\r\n azw: azw,\r\n octet: octet,\r\n bmp: bmp,\r\n bz: bz,\r\n bz2: bz2,\r\n cda: cda,\r\n csh: csh,\r\n css: css,\r\n csv: csv,\r\n docx: docx,\r\n drawio: drawio,\r\n eot: eot,\r\n epub: epub,\r\n gzip: gzip,\r\n gif: gif,\r\n html: html,\r\n //ico: ico,\r\n icalendar: icalendar,\r\n jar: jar,\r\n jpeg: jpeg,\r\n javascript: javascript,\r\n json: json,\r\n jsonld: jsonld,\r\n midi: midi,\r\n // js: js,\r\n mp3: mp3,\r\n mp4: mp4,\r\n mpeg: mpeg,\r\n mpkg: mpkg,\r\n mp2t: octet,\r\n odp: odp,\r\n ods: ods,\r\n odt: odt,\r\n oga: oga,\r\n ogv: ogv,\r\n ogx: ogx,\r\n opus: opus,\r\n otf: otf,\r\n png: png,\r\n pdf: pdf,\r\n php: php,\r\n pptx: pptx,\r\n psd: psd,\r\n rar: rar,\r\n rtf: rtf,\r\n sass: sass,\r\n sh: sh,\r\n //svg: svg,\r\n swf: swf,\r\n tar: tar,\r\n tiff: tiff,\r\n ttf: ttf,\r\n //ts: ts,\r\n typescript: typescript,\r\n text: text,\r\n vsd: vsd,\r\n wav: wav,\r\n weba: weba,\r\n webm: webm,\r\n webp: webp,\r\n woff: woff,\r\n wma: wma,\r\n wmv: wmv,\r\n xhtml: html,\r\n xlsx: xlsx,\r\n xml: xml,\r\n xul: xul,\r\n zip: zip,\r\n // threegp: threegp,\r\n sevenzip: sevenzip,\r\n python: python,\r\n java: java,\r\n react: react,\r\n vue: vue,\r\n\r\n\r\n fallBack: octet,\r\n};","\r\nimport { UPLOADSTATUS, ServerResponse } from \"../types\";\r\n\r\n/**\r\n * ExtFile === \"Extended File\".\r\n * This object \"extends\" the File Object\r\n */\r\nexport declare type ExtFile = {\r\n /** \r\n * An identifier for the extFile\r\n */\r\n id?: number | string | undefined;\r\n /**\r\n * The file object. Used mostly when user selects or drops files in the client sid.\r\n */\r\n file?: File;\r\n /**\r\n * The name of the file. Used mostly for displaying file data from server.\r\n */\r\n name?: string;\r\n /**\r\n * The type of the file. Used mostly for displaying file data from server.\r\n */\r\n type?: string;\r\n /**\r\n * The size of the file. Used mostly for displaying file data from server.\r\n */\r\n size?: number;\r\n /**\r\n * a flag that determines whether the file is valid, not valid or it is not validated.\r\n */\r\n valid?: boolean;\r\n /**\r\n * The list of errors when the file was validated\r\n */\r\n errors?: string[];\r\n /**\r\n * The current upload status. (e.g. \"uploading\")\r\n */\r\n uploadStatus?: UPLOADSTATUS | undefined;\r\n /**\r\n * A message that shows the result of the upload process\r\n */\r\n uploadMessage?: string;\r\n /**\r\n * Link, URI or string representation of an image\r\n */\r\n imageUrl?: string;\r\n /**\r\n * The XMLHttpRequest object for performing uploads to a server\r\n */\r\n xhr?: XMLHttpRequest;\r\n /**\r\n * The current percentage of upload progress.\r\n * This value will have a higher priority over the upload progress value calculated inside the component.\r\n * @default undefined\r\n */\r\n progress?: number;\r\n /**\r\n * The additional data that will be sent to the server\r\n * when files are uploaded individually\r\n */\r\n extraUploadData?: Record<string, any>;\r\n /**\r\n * Any kind of extra data that could be needed.\r\n */\r\n extraData?: Object;\r\n /**\r\n * The upload response from server\r\n */\r\n serverResponse?: ServerResponse;\r\n /**\r\n * The url to be used to perform a GET request in order to download the\r\n file. If defined, the download icon will be shown.\r\n */\r\n downloadUrl?: string;\r\n /**\r\n * Link, URI, FIle object or string representation of a video\r\n */\r\n videoUrl?: string;\r\n}\r\n\r\n/**\r\n * A class definition for ExtFile.\r\n * This class has the purpose to allow the creation of instances\r\n * of an ExtFile for performing complex operations that cannot be\r\n * accomplished just by using the ExtFile type.\r\n * For instance, it can help in changing the value of some attributes\r\n * across different scopes thanks to memory reference.\r\n */\r\nexport class ExtFileInstance {\r\n /**\r\n * An identifier for the extFile\r\n */\r\n public id?: number | string;\r\n /**\r\n * The file object. Used mostly when user selects or drops files in the client sid.\r\n */\r\n public file?: File;\r\n /**\r\n * The name of the file. Used mostly for displaying file data from server.\r\n */\r\n public name?: string;\r\n /**\r\n * The type of the file. Used mostly for displaying file data from server.\r\n */\r\n public type?: string;\r\n /**\r\n * The size of the file. Used mostly for displaying file data from server.\r\n */\r\n public size?: number;\r\n\r\n public imageUrl?: string;\r\n /**\r\n * A flag that determines whether the file is valid, not valid or it is not validated.\r\n */\r\n public valid?: boolean;\r\n /**\r\n * The list of errors when the file was validated\r\n */\r\n public errors?: string[];\r\n /**\r\n * A message that shows the result of the upload process\r\n */\r\n public uploadMessage?: string;\r\n /**\r\n * The current upload status. (e.g. \"uploading\")\r\n */\r\n public uploadStatus?: UPLOADSTATUS | undefined;\r\n /**\r\n * The current upload progress\r\n */\r\n public progress?: number;\r\n /**\r\n * The XMLHttpRequest object for performing uploads to a server\r\n */\r\n public xhr?: XMLHttpRequest;\r\n /**\r\n * The additional data that will be sent to the server\r\n */\r\n public extraData?: Record<string, any>;\r\n /**\r\n * The additional data that will be sent to the server\r\n * when filesare uploaded individually\r\n */\r\n public extraUploadData?: Record<string, any>;\r\n /**\r\n * The upload response from server\r\n */\r\n public serverResponse?: ServerResponse;\r\n /**\r\n * Url to perform a GET request in order to download the file.\r\n * This action is triggered when download button is clicked or pressed.\r\n * In case onDownload prop is given\r\n */\r\n public downloadUrl?: string;\r\n /**\r\n * Link, URI, FIle object or string representation of a video\r\n */\r\n public videoUrl?: string;\r\n\r\n constructor(extFile: ExtFile) {\r\n const {\r\n id,\r\n file,\r\n name,\r\n size,\r\n type,\r\n imageUrl,\r\n valid,\r\n errors,\r\n uploadMessage,\r\n uploadStatus,\r\n progress,\r\n xhr,\r\n extraData,\r\n extraUploadData,\r\n serverResponse,\r\n downloadUrl, videoUrl\r\n } = extFile;\r\n\r\n this.id = id;\r\n this.file = file;\r\n this.name = name;\r\n this.size = size;\r\n this.type = type;\r\n this.imageUrl = imageUrl;\r\n\r\n this.valid = valid;\r\n this.errors = errors;\r\n this.uploadStatus = uploadStatus;\r\n this.uploadMessage = uploadMessage;\r\n this.progress = progress;\r\n this.xhr = xhr;\r\n\r\n this.extraData = extraData;\r\n this.extraUploadData = extraUploadData;\r\n this.serverResponse = serverResponse;\r\n\r\n this.downloadUrl = downloadUrl;\r\n this.videoUrl = videoUrl;\r\n }\r\n /**\r\n * method under construction\r\n */\r\n /* private static kamuiFile() {\r\n \r\n }\r\n */\r\n /**\r\n * Copies all non undefined attributes from ExtFileInstance to a new ExtFile object\r\n * @param extFileInstance the instance of ExtFile\r\n * @returns an ExtFile object\r\n */\r\n static toExtFile(extFileInstance: ExtFileInstance): ExtFile {\r\n //console.log(\"before toExtFile()\", extFileInstance);\r\n\r\n let extFileClone: ExtFile = {}; // the new empty object\r\n const extFileInstanceKeys = Object.keys(extFileInstance) as [keyof ExtFile];\r\n const extFileInstanceValues = Object.values(extFileInstance) as Array<ExtFile[keyof ExtFile]>;\r\n // let's copy all user properties into it\r\n for (let i = 0; i < extFileInstanceValues.length; i++) {\r\n const currentValue: ExtFile[keyof ExtFile] = extFileInstanceValues[i];\r\n\r\n\r\n const currKey = extFileInstanceKeys[i];\r\n if (currentValue !== undefined) {\r\n\r\n extFileClone[currKey] = currentValue as ExtFile[keyof ExtFile] as never;\r\n }\r\n }\r\n //console.log(\"after toExtFile()\", extFileClone);\r\n //console.log(\"current extFileClone keys\",Object.keys( extFileClone).length);\r\n return extFileClone;\r\n }\r\n /**\r\n * Copies all non undefined attributes from ExtFileInstance to a new ExtFile object.\r\n * @returns an ExtFile object\r\n */\r\n toExtFile(): ExtFile {\r\n return ExtFileInstance.toExtFile(this);\r\n }\r\n\r\n /* static mock = (id?: number): ExtFileInstance => {\r\n return new ExtFileInstance(\r\n extFileMock(id)\r\n );\r\n } */\r\n}\r\n\r\n\r\n","import { ExtFileInstance, ExtFile } from \"./ExtFile\";\r\n\r\nexport class ExtFileManager {\r\n private static nextId: number = 0;\r\n static fileLists: Record<number | string, ExtFileInstance[] | undefined> = {};\r\n /**\r\n * Increases the id counter and returns the next id available.\r\n * @returns the next integer id available\r\n */\r\n public static getNextId(): number {\r\n ExtFileManager.nextId++;\r\n return ExtFileManager.nextId;\r\n }\r\n /**\r\n * Updates a dui file list given an id\r\n * @param id id of the fileList\r\n * @param extFiles list of DuiFiles forinitializing the array\r\n * @returns the id of the fileList\r\n */\r\n public static setFileList(\r\n id: number | string | undefined,\r\n extFilesInstances: ExtFileInstance[]\r\n ): number | string {\r\n if (!id) {\r\n return 0;\r\n } else {\r\n ExtFileManager.fileLists[id] = [...extFilesInstances];\r\n\r\n return id;\r\n }\r\n\r\n }\r\n /**\r\n * Generates a new ID\r\n * @returns the next Id asociated with a DuiFIle list\r\n */\r\n public static createFileListMap(): number {\r\n const nextId: number = ExtFileManager.getNextId();\r\n ExtFileManager.fileLists[nextId] = [];\r\n\r\n return nextId;\r\n }\r\n\r\n /**\r\n * Deletes a list map\r\n * @returns the next Id asociated with a DuiFIle list\r\n */\r\n public static removeFileListMap(id?: number | string): number | string {\r\n if (!id) {\r\n return 0;\r\n } else {\r\n try {\r\n ExtFileManager.fileLists[id] = undefined;\r\n return id;\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"Error on remove\", error);\r\n return 0;\r\n }\r\n }\r\n }\r\n /**\r\n * \r\n * @param id the id of the dropzone\r\n * @returns \r\n */\r\n public static getExtFileInstanceList(\r\n id?: number | string\r\n ): ExtFileInstance[] | undefined {\r\n try {\r\n if (!id) {\r\n return undefined;\r\n }\r\n return ExtFileManager.fileLists[id];\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"Error on getExtFileInstanceList\", error);\r\n return undefined;\r\n }\r\n }\r\n /**\r\n * Updates(replaces) the extFile list on preparing stage and returns the new array.\r\n * Removes the non valid files if cleanOnUpload is true and validateFiles is also true\r\n * Then sets on preparing stage all files according to the following creiteria:\r\n * If theuploadStatus is diferent than \"sucess\" AND\r\n * then, update the files on preparing stage. Otherwise keep the extFile props.\r\n * Finally, updates the ExtFileInstance list on ExtFileManager.\r\n * @param dropzoneId the id to access the right list\r\n * @param localFiles the list of extFiles\r\n * @param validateFiles flag that indicates that validation is active or o¿not\r\n * @param cleanOnUpload flag to determine whther to clena the list oof non valid files or not\r\n * @returns a list of ExtFileInstance\r\n */\r\n public static setFileListMapPreparing(\r\n dropzoneId: number | string,\r\n localFiles: ExtFile[],\r\n validateFiles: boolean,\r\n cleanOnUpload: boolean\r\n ): ExtFileInstance[] | undefined {\r\n //console.log(\"setFileListMapPreparing before if\", dropzoneId, localFiles, cleanOnUpload);\r\n\r\n if (!(typeof dropzoneId === \"number\" || typeof dropzoneId === \"string\")) return undefined;\r\n\r\n //console.log(\"setFileListMapPreparing before try\", localFiles, cleanOnUpload);\r\n try {\r\n\r\n let resultExtList: ExtFileInstance[] = [];\r\n\r\n //initializes the extFileLInstance list\r\n let temLocalFiles: ExtFile[] = [...localFiles];\r\n\r\n //remove non valids if cleanOnUpload is true and validateFiles is also true\r\n if (cleanOnUpload && validateFiles) {\r\n // clean on Upload is true, so non valid files must be removed\r\n temLocalFiles = temLocalFiles.filter(extFile => extFile.valid)\r\n //console.log(\"temLocalFiles filter\", temLocalFiles);\r\n }\r\n\r\n //console.log(\"setFileListMapPreparing after remove non valids\", temLocalFiles);\r\n\r\n if (validateFiles) {\r\n // validation flag was set to true, so only valid=true files will be set to \"preparing\"\r\n\r\n //so, only valid files was kept in the temLocalfiles array\r\n //now set the preparing state only for files with uploadStatus !== \"success\"\r\n temLocalFiles =\r\n temLocalFiles\r\n .map(extFile => {\r\n if (extFile.uploadStatus !== \"success\" && extFile.valid) {\r\n return { ...extFile, uploadStatus: \"preparing\" }\r\n } else {\r\n return { ...extFile }\r\n }\r\n });\r\n } else {\r\n // all files will be set to \"preparing\" whether the valid value\r\n // except those files with uploadStatus ===\"success\"\r\n temLocalFiles =\r\n temLocalFiles\r\n .map(extFile => {\r\n if (extFile.uploadStatus !== \"success\") {\r\n return { ...extFile, uploadStatus: \"preparing\" }\r\n } else {\r\n return { ...extFile }\r\n }\r\n });\r\n }\r\n\r\n //console.log(\"setFileListMapPreparing result\", temLocalFiles);\r\n\r\n //converto to Object instances\r\n resultExtList = temLocalFiles.map(F => new ExtFileInstance(F));\r\n //console.log(\"setFileListMapPreparing RESULT resultExtList\", resultExtList);\r\n\r\n const resultSet = ExtFileManager.setFileList(dropzoneId, resultExtList);\r\n //console.log(\"setFileListMapPreparing RESULT resultSet\", resultSet);\r\n\r\n return resultExtList;\r\n // return ExtFileManager.fileLists[dropzoneId];\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"setFileListMapPreparing Error on get List\", error);\r\n return undefined;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n /**\r\n * Updates(replaces) the extFile list on preparing stage and returns the new array.\r\n * Removes the non valid files if cleanOnUpload is true and validateFiles is also true\r\n * Then sets on preparing stage all files according to the following creiteria:\r\n * If theuploadStatus is diferent than \"sucess\" AND\r\n * then, update the files on preparing stage. Otherwise keep the extFile props.\r\n * Finally, updates the ExtFileInstance list on ExtFileManager.\r\n * @param dropzoneId the id to access the right list\r\n * @param localFiles the list of extFiles\r\n * @param validateFiles flag that indicates that validation is active or o¿not\r\n * @param cleanOnUpload flag to determine whther to clena the list oof non valid files or not\r\n * @returns a list of ExtFileInstance\r\n */\r\n public static setFileListMapPreparing2(\r\n dropzoneId: number | string,\r\n localFiles: ExtFile[],\r\n validateFiles: boolean,\r\n cleanOnUpload: boolean\r\n ): ExtFileInstance[] | undefined {\r\n\r\n ExtFileManager.setFileList(dropzoneId, localFiles.map(F => new ExtFileInstance({ ...F, uploadStatus: \"preparing\" })));\r\n\r\n return ExtFileManager.getExtFileInstanceList(dropzoneId);\r\n }\r\n\r\n\r\n\r\n /**\r\n * \r\n * @param dropzoneId \r\n * @param index \r\n * @param incommingDuiFile \r\n * @returns \r\n */\r\n /* public static updateFileListMapPreparingById(\r\n dropzoneId: number,\r\n index: number,\r\n incommingDuiFile: ExtFileInstance\r\n ): ExtFileInstance[] | undefined {\r\n if (!(typeof dropzoneId === \"number\") || !(typeof index === \"number\") || index > 0) return undefined;\r\n const extFileList: ExtFileInstance[] | undefined = ExtFileManager.fileLists[dropzoneId];\r\n\r\n if (!(extFileList && extFileList.length > 0)) return undefined;\r\n extFileList[index]=\r\n try {\r\n ExtFileManager.setFileList(dropzoneId, [\r\n ...localFiles.map(\r\n (x) =>\r\n new ExtFileInstance({ ...x, uploadStatus: \"preparing\" })\r\n ),\r\n ]);\r\n return ExtFileManager.fileLists[dropzoneId];\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"Error on get List\", error);\r\n return undefined;\r\n }\r\n\r\n } */\r\n}","import { Method } from \"./method\"\r\n\r\nexport type UploadConfig = {\r\n /**\r\n * The url endpoint to upload the file.\r\n * e.g. https://www.myasomwbackend/uploads/file\r\n */\r\n url?: string;\r\n /**\r\n * upload method, can be POST | PUT | PATCH\r\n * @default \"POST\"\r\n */\r\n method?: Method;\r\n /**\r\n * Request headers for http request.\r\n * e.g.\r\n * ```jsx\r\n * headers = { \r\n * \"content-type\": \"multipart/form-data\",\r\n * Authorization: \"Bearer YOUR_BEARER_TOKEN_GOES_HERE\",\r\n * } \r\n * ```\r\n */\r\n headers?: Record<string, string>;\r\n /**\r\n * the label to use in request\r\n * On server this must be the label to get the file.\r\n * @default \"file\"\r\n */\r\n uploadLabel?: string;\r\n /**\r\n * Flag for indicating whther to remove the non-valid files\r\n * before starting the upload process.\r\n * This flag is valid only if validation is enable\r\n */\r\n cleanOnUpload?: boolean;\r\n /**\r\n * If true, onDrop event or file selection not only will make Dropzone to return the list of files, but also\r\n * it will start the upload stage for the files if at least url was set\r\n * By default is false\r\n */\r\n autoUpload?: boolean;\r\n /**\r\n * The time that will last the \"preparing\" stage\r\n * By default is 1500 miliseconds = 1.5 seconds\r\n */\r\n preparingTime?: number;\r\n /**\r\n * A message to show in the footer when the uploading process takes place.\r\n */\r\n uploadingMessage?: string;\r\n}\r\n\r\nexport const createUploadConfig = (\r\n url?: string,\r\n method?: Method,\r\n headers?: Record<string, string>,\r\n uploadLabel?: string,\r\n cleanonUpload?: boolean\r\n) => {\r\n return {\r\n url,\r\n method,\r\n headers,\r\n uploadLabel,\r\n cleanonUpload\r\n }\r\n}","\r\n/**\r\n * A syntetic file creator.\r\n * Very useful for tests\r\n */\r\nexport abstract class SyntheticFile {\r\n /**\r\n * \r\n * @param name the file name\r\n * @param size the file size\r\n * @param type the file type\r\n * @returns \r\n */\r\n static createFile = (name: string, size: number, type: string) => {\r\n const file = new File([], name, { type });\r\n Object.defineProperty(file, \"size\", {\r\n get() {\r\n return size;\r\n },\r\n });\r\n return file;\r\n };\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_aac = (size?: number): File => {\r\n return SyntheticFile.createFile(\"acc_audio-file-with-large-name.aac\", size ? size : 3516516, \"audio/aac\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_abw = (size?: number): File => {\r\n return SyntheticFile.createFile(\"abiword-file-with-large-name.abw\", size ? size : 3516516, \"application/x-abiword\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_freearc = (size?: number): File => {\r\n return SyntheticFile.createFile(\"freearc-file-with-large-name.arc\", size ? size : 3516516, \"application/x-freearc\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_avi = (size?: number): File => {\r\n return SyntheticFile.createFile(\"avi-file-with-large-name.avi\", size ? size : 3516516, \"video/x-msvideo\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_azw = (size?: number): File => {\r\n return SyntheticFile.createFile(\"amazon_kindle_ebook-file-with-large-name.azw\", size ? size : 3516516, \"application/vnd.amazon.ebook\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_octet = (size?: number): File => {\r\n return SyntheticFile.createFile(\"binary_octet_stream-file-with-large-name.bin\", size ? size : 3516516, \"application/octet-stream\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_bmp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"bit_map-file-with-large-name.bmp\", size ? size : 3516516, \"image/bmp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_bz = (size?: number): File => {\r\n return SyntheticFile.createFile(\"x_bzip-file-with-large-name.bz\", size ? size : 3516516, \"application/x-bzip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_bz2 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"x_bzip_2-file-with-large-name.bz2\", size ? size : 3516516, \"application/x-bzip2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_cda = (size?: number): File => {\r\n return SyntheticFile.createFile(\"cd_audio-file-with-large-name.cda\", size ? size : 3516516, \"application/x-cdf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_csh = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.csh\", size ? size : 3516516, \"application/x-csh\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_css = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.css\", size ? size : 3516516, \"text/css\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_csv = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.csv\", size ? size : 3516516, \"text/csv\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_doc = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.doc\", size ? size : 3516516, \"application/msword\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_docx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.docx\", size ? size : 3516516, \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_eot = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.eot\", size ? size : 3516516, \"application/vnd.ms-fontobject\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_epub = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.epub\", size ? size : 3516516, \"application/epub+zip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_gzip = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.gz\", size ? size : 3516516, \"application/gzip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_gif = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.gif\", size ? size : 3516516, \"image/gif\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_htm = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.htm\", size ? size : 3516516, \"text/html\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_html = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.html\", size ? size : 3516516, \"text/html\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ico = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ico\", size ? size : 3516516, \"image/vnd.microsoft.icon\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_icalendar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ics\", size ? size : 3516516, \"text/calendar\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jar\", size ? size : 3516516, \"application/java-archive\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jpeg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jpeg\", size ? size : 3516516, \"image/jpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jpg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jpg\", size ? size : 3516516, \"image/jpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_js = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.js\", size ? size : 3516516, \"text/javascript\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_json = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.json\", size ? size : 3516516, \"application/json\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jsonld = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jsonld\", size ? size : 3516516, \"application/ld+json\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mid = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mid\", size ? size : 3516516, \"audio/midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_x_mid = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mid\", size ? size : 3516516, \"audio/x-midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_midi = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.midi\", size ? size : 3516516, \"audio/x-midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_x_midi = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.midi\", size ? size : 3516516, \"audio/x-midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mjs = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mjs\", size ? size : 3516516, \"text/javascript\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mp3 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mp3\", size ? size : 3516516, \"audio/mpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mp4 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mp4\", size ? size : 3516516, \"video/mp4\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mpeg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mpeg\", size ? size : 3516516, \"video/mpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mpkg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mpkg\", size ? size : 3516516, \"application/vnd.apple.installer+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_odp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.odp\", size ? size : 3516516, \"application/vnd.oasis.opendocument.presentation\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ods = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ods\", size ? size : 3516516, \"application/vnd.oasis.opendocument.spreadsheet\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_odt = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.odt\", size ? size : 3516516, \"application/vnd.oasis.opendocument.text\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_oga = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.oga\", size ? size : 3516516, \"audio/ogg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ogv = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ogv\", size ? size : 3516516, \"video/ogg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ogx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ogx\", size ? size : 3516516, \"application/ogg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_opus = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.opus\", size ? size : 3516516, \"audio/opus\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_otf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.otf\", size ? size : 3516516, \"font/otf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_png = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.png\", size ? size : 3516516, \"image/png\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_pdf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.pdf\", size ? size : 3516516, \"application/pdf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_php = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.php\", size ? size : 3516516, \"application/x-httpd-php\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ppt = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ppt\", size ? size : 3516516, \"application/vnd.ms-powerpoint\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_pptx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.pptx\", size ? size : 3516516, \"application/vnd.openxmlformats-officedocument.presentationml.presentation\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_rar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.rar\", size ? size : 3516516, \"application/vnd.rar\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_rtf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.rtf\", size ? size : 3516516, \"application/rtf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_sh = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.sh\", size ? size : 3516516, \"application/x-sh\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_svg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.svg\", size ? size : 3516516, \"image/svg+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_swf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.swf\", size ? size : 3516516, \"application/x-shockwave-flash\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_tar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.tar\", size ? size : 3516516, \"application/x-tar\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_tif = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.tif\", size ? size : 3516516, \"image/tiff\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_tiff = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.tiff\", size ? size : 3516516, \"image/tiff\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ts = (size?: number): File => {\r\n return SyntheticFile.createFile(\"mp2t_video-file-with-large-name.ts\", size ? size : 3516516, \"video/mp2t\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ttf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ttf\", size ? size : 3516516, \"font/ttf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_text = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.txt\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_typescript = (size?: number): File => {\r\n return SyntheticFile.createFile(\"typescript-file-with-large-name.ts\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_vsd = (size?: number): File => {\r\n return SyntheticFile.createFile(\"ms_visio-file-with-large-name.vsd\", size ? size : 3516516, \"application/vnd.visio\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_wav = (size?: number): File => {\r\n return SyntheticFile.createFile(\"wav_audio-file-with-large-name.wav\", size ? size : 3516516, \"audio/wav\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_weba = (size?: number): File => {\r\n return SyntheticFile.createFile(\"web_audio-file-with-large-name.weba\", size ? size : 3516516, \"audio/webm\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_webm = (size?: number): File => {\r\n return SyntheticFile.createFile(\"web_video-file-with-large-name.webm\", size ? size : 3516516, \"video/webm\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_webp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"web_image-file-with-large-name.webp\", size ? size : 3516516, \"image/webp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_woff = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.woff\", size ? size : 3516516, \"font/woff\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_woff2 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.woff2\", size ? size : 3516516, \"font/woff2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xhtml = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xhtml\", size ? size : 3516516, \"application/xhtml+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xlsx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xls\", size ? size : 3516516, \"application/vnd.ms-excel\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xls = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xlsx\", size ? size : 3516516, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xml = (size?: number): File => {\r\n return SyntheticFile.createFile(\"xml-file-with-large-name.xml\", size ? size : 3516516, \"application/xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xml_txt = (size?: number): File => {\r\n return SyntheticFile.createFile(\"xml_plain_text-file-with-large-name.xml\", size ? size : 3516516, \"application/xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xul = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xul\", size ? size : 3516516, \"application/vnd.mozilla.xul+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_zip = (size?: number): File => {\r\n return SyntheticFile.createFile(\"zip-file-with-large-name.zip\", size ? size : 3516516, \"application/zip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp_video-file-with-large-name.3gp\", size ? size : 3516516, \"video/3gpp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp2 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp2_video-file-with-large-name.3g2\", size ? size : 3516516, \"video/3gpp2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp_a = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp_audio-file-with-large-name.3gp\", size ? size : 3516516, \"audio/3gpp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp_v = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp_audio-file-with-large-name.3gp2\", size ? size : 3516516, \"audio/3gpp2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_7z = (size?: number): File => {\r\n return SyntheticFile.createFile(\"seven_zip-file-with-large-name.7z\", size ? size : 3516516, \"application/x-7z-compressed\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_python = (size?: number): File => {\r\n return SyntheticFile.createFile(\"python-file-with-large-name.py\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_java = (size?: number): File => {\r\n return SyntheticFile.createFile(\"java-file-with-large-name.java\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_react = (size?: number): File => {\r\n return SyntheticFile.createFile(\"react_jsx-file-with-large-name.jsx\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_vue = (size?: number): File => {\r\n return SyntheticFile.createFile(\"vue-file-with-large-name.vue\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * Creates an array of fake (synthetic) files\r\n * @param size the file size for all synthetic files\r\n * @returns an array of all file icon preview supported files\r\n */\r\n static createFileListMiscelanious = (size?: number): File[] => {\r\n\r\n let listFile: File[] = [];\r\n\r\n listFile.push(SyntheticFile.create_aac(size));\r\n listFile.push(SyntheticFile.create_abw(size));\r\n listFile.push(SyntheticFile.create_freearc(size));\r\n listFile.push(SyntheticFile.create_avi(size));\r\n listFile.push(SyntheticFile.create_azw(size));\r\n listFile.push(SyntheticFile.create_octet(size));\r\n listFile.push(SyntheticFile.create_bmp(size));\r\n listFile.push(SyntheticFile.create_bz(size));\r\n listFile.push(SyntheticFile.create_bz2(size));\r\n listFile.push(SyntheticFile.create_cda(size));\r\n listFile.push(SyntheticFile.create_csh(size));\r\n listFile.push(SyntheticFile.create_css(size));\r\n listFile.push(SyntheticFile.create_csv(size));\r\n listFile.push(SyntheticFile.create_doc(size));\r\n listFile.push(SyntheticFile.create_docx(size));\r\n listFile.push(SyntheticFile.create_eot(size));\r\n listFile.push(SyntheticFile.create_epub(size));\r\n listFile.push(SyntheticFile.create_gzip(size));\r\n listFile.push(SyntheticFile.create_gif(size));\r\n listFile.push(SyntheticFile.create_htm(size));\r\n listFile.push(SyntheticFile.create_html(size));\r\n listFile.push(SyntheticFile.create_ico(size));\r\n listFile.push(SyntheticFile.create_icalendar(size));\r\n listFile.push(SyntheticFile.create_jar(size));\r\n listFile.push(SyntheticFile.create_jpeg(size));\r\n listFile.push(SyntheticFile.create_jpg(size));\r\n listFile.push(SyntheticFile.create_js(size));\r\n listFile.push(SyntheticFile.create_json(size));\r\n listFile.push(SyntheticFile.create_jsonld(size));\r\n listFile.push(SyntheticFile.create_mid(size));\r\n listFile.push(SyntheticFile.create_midi(size));\r\n listFile.push(SyntheticFile.create_x_mid(size));\r\n listFile.push(SyntheticFile.create_x_midi(size));\r\n listFile.push(SyntheticFile.create_mjs(size));\r\n listFile.push(SyntheticFile.create_mp3(size));\r\n listFile.push(SyntheticFile.create_mp4(size));\r\n listFile.push(SyntheticFile.create_mpeg(size));\r\n listFile.push(SyntheticFile.create_mpkg(size));\r\n listFile.push(SyntheticFile.create_odp(size));\r\n listFile.push(SyntheticFile.create_ods(size));\r\n listFile.push(SyntheticFile.create_odt(size));\r\n listFile.push(SyntheticFile.create_oga(size));\r\n listFile.push(SyntheticFile.create_ogv(size));\r\n listFile.push(SyntheticFile.create_ogx(size));\r\n listFile.push(SyntheticFile.create_opus(size));\r\n listFile.push(SyntheticFile.create_otf(size));\r\n listFile.push(SyntheticFile.create_png(size));\r\n listFile.push(SyntheticFile.create_pdf(size));\r\n listFile.push(SyntheticFile.create_php(size));\r\n listFile.push(SyntheticFile.create_ppt(size));\r\n listFile.push(SyntheticFile.create_pptx(size));\r\n listFile.push(SyntheticFile.create_rar(size));\r\n listFile.push(SyntheticFile.create_rtf(size));\r\n listFile.push(SyntheticFile.create_sh(size));\r\n listFile.push(SyntheticFile.create_svg(size));\r\n listFile.push(SyntheticFile.create_swf(size));\r\n listFile.push(SyntheticFile.create_tar(size));\r\n listFile.push(SyntheticFile.create_tif(size));\r\n listFile.push(SyntheticFile.create_tiff(size));\r\n listFile.push(SyntheticFile.create_ts(size));\r\n listFile.push(SyntheticFile.create_ttf(size));\r\n listFile.push(SyntheticFile.create_text(size));\r\n listFile.push(SyntheticFile.create_typescript(size));\r\n listFile.push(SyntheticFile.create_vsd(size));\r\n listFile.push(SyntheticFile.create_wav(size));\r\n listFile.push(SyntheticFile.create_weba(size));\r\n listFile.push(SyntheticFile.create_webm(size));\r\n listFile.push(SyntheticFile.create_webp(size));\r\n listFile.push(SyntheticFile.create_woff(size));\r\n listFile.push(SyntheticFile.create_woff2(size));\r\n listFile.push(SyntheticFile.create_xhtml(size));\r\n listFile.push(SyntheticFile.create_xlsx(size));\r\n listFile.push(SyntheticFile.create_xls(size));\r\n listFile.push(SyntheticFile.create_xml(size));\r\n listFile.push(SyntheticFile.create_xml_txt(size));\r\n listFile.push(SyntheticFile.create_xul(size));\r\n listFile.push(SyntheticFile.create_zip(size));\r\n //listFile.push(SyntheticFile.create_3gp(size));\r\n //listFile.push(SyntheticFile.create_3gp2(size));\r\n //listFile.push(SyntheticFile.create_3gp_a(size));\r\n //listFile.push(SyntheticFile.create_3gp_v(size));\r\n //listFile.push(SyntheticFile.create_7z(size));\r\n listFile.push(SyntheticFile.create_python(size));\r\n listFile.push(SyntheticFile.create_java(size));\r\n listFile.push(SyntheticFile.create_react(size));\r\n listFile.push(SyntheticFile.create_vue(size));\r\n\r\n return listFile;\r\n }\r\n}\r\n///////////////////// SHORTCUTS\r\n/**\r\n * Create a list of synthetic files with different mime types\r\n * @param size the file size for each synthetic file\r\n * @returns a list of synthetic file\r\n */\r\nexport const createListOfMultiTypeFile = (size?: number): File[] => {\r\n return SyntheticFile.createFileListMiscelanious(size);\r\n}\r\n\r\n/**\r\n * Creates a synthetic file.\r\n * By default, creates a png image file\r\n * @param name the file name to show. By default is set to \"png-image-file-with-large-name.png\"\r\n * @param size the size in bytes of the file. By default this value is set to 455555\r\n * @param type the mime type of the file. By default is set to \"image/png\"\r\n * @returns \r\n */\r\nexport const createSyntheticFile = (\r\n name = \"png-image-file-with-large-name.png\",\r\n size = 455555,\r\n type = \"image/png\",\r\n): File => {\r\n return SyntheticFile.createFile(name, size, type);\r\n}","/**\r\n * An id generator for FileItems\r\n */\r\n export abstract class FileIdGenerator {\r\n static nextId = 0;\r\n /**\r\n * Increases the id counter and returns the next id available.\r\n * @returns the next integer id available\r\n */\r\n static getNextId(): number {\r\n FileIdGenerator.nextId++;\r\n return FileIdGenerator.nextId;\r\n }\r\n}","import { ExtFile, ExtFileInstance } from \"../types\";\r\nimport { FileIdGenerator } from \"./IdGenerator\";\r\n\r\n\r\n/**\r\n * Converts the fileList into an array of separated ExtFile objects\r\n * @param fileList the FileList object given by input(event.target.files) or drop operation (event.dataTransfer)\r\n * @returns an array of ExtFile objects\r\n */\r\nexport const fileListToExtFileArray = (fileList: FileList): ExtFile[] => {\r\n let extFileArray: ExtFile[] = [];\r\n for (let i = 0, f: File; (f = fileList[i]); i++) {\r\n extFileArray.push({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type });\r\n }\r\n return extFileArray;\r\n};\r\n\r\n/**\r\n * Converts the fileList into an array of separated ExtFile instances\r\n * @param fileList the FileList object given by input (event.target.files) or drop operation (event.dataTransfer)\r\n * @returns an array of ExtFile instances\r\n */\r\nexport const fileListToExtFileInstanceArray = (fileList: FileList): ExtFileInstance[] => {\r\n let extFileArray: ExtFileInstance[] = [];\r\n for (let i = 0, f: File; (f = fileList[i]); i++) {\r\n extFileArray.push(new ExtFileInstance({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type }));\r\n }\r\n return extFileArray;\r\n};","export const isValidateActive = (\r\n accept: string | undefined,\r\n maxFileSize: number | undefined,\r\n maxFiles: number | undefined,\r\n validator: Function | undefined\r\n ): boolean => {\r\n return (\r\n (accept !== undefined && accept !== null) ||\r\n (maxFileSize !== undefined && maxFileSize !== null) ||\r\n (maxFiles !== undefined && maxFiles !== null) ||\r\n (validator !== undefined && validator !== null)\r\n );\r\n };\r\n ","/**\r\n * The max size of the word in characters\r\n */\r\nexport const DEFAULT_MAX_SIZE_WORD = 30;\r\n/**\r\n * \r\n * @param word the word to be shrinked\r\n * @returns the shrinked word\r\n */\r\nexport const shrinkWord = (word = \"\", card = false): string => {\r\n let newWord = word;\r\n if (card) {\r\n if (word.length >= 20) {\r\n newWord = word.slice(0, 10) + \"...\" + word.slice(-7);\r\n }\r\n } else if (word.length >= DEFAULT_MAX_SIZE_WORD) {\r\n newWord = word.slice(0, 13) + \"...\" + word.slice(-8);\r\n }\r\n return newWord;\r\n};","\r\nimport { DropzoneLocalizerSelector } from \"../localization\";\r\nimport { ExtFile, ExtFileInstance, UploadResponse } from \"../types\";\r\n\r\n/**\r\n * Updates a extFile and sets its uploadStatus to \"uploading\"\r\n * @param extFile the extended file object\r\n * @returns the extended file with the uploadStatus attribute modified\r\n */\r\nexport const setPrepToUploading = (\r\n extFile: ExtFile\r\n): Promise<ExtFile> => {\r\n //console.log(\"prepToUpload One\", extFile);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve({\r\n ...extFile,\r\n uploadStatus: \"uploading\",\r\n });\r\n }, 1500);\r\n\r\n });\r\n};\r\n/**\r\n * Updates a extFile and sets its uploadStatus to \"success\"\r\n * @param extFile the extended file object\r\n * @returns the extended file with the uploadStatus attribute modified\r\n */\r\nexport const uploadOne = (\r\n extFile: ExtFile\r\n): Promise<ExtFile> => {\r\n //console.log(\"upload One\", extFile);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve({\r\n ...extFile,\r\n uploadStatus: \"success\",\r\n });\r\n }, 2000);\r\n });\r\n};\r\n/**\r\n * Awaits the given time before start uploading\r\n * @param preparingTime the time in miliseconds, by default it will wait 1.5 secs\r\n * @returns an empty object\r\n */\r\nexport const sleepPreparing = (\r\n preparingTime: number = 5000\r\n): Promise<void> => {\r\n //console.log(\"uploadfiles preparingTime One\", preparingTime);\r\n return new Promise((resolve, reject) => {\r\n\r\n setTimeout(() => {\r\n resolve();\r\n }, preparingTime);\r\n\r\n });\r\n}\r\n\r\n/**\r\n * \r\n * @param extFileInstance \r\n * @returns \r\n */\r\nexport const prepToUploadOne = (\r\n extFileInstance: ExtFileInstance | ExtFile\r\n): Promise<ExtFileInstance | ExtFile> => {\r\n //console.log(\"prepToUpload One\", extFileInstance);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n extFileInstance.uploadStatus = \"uploading\";\r\n resolve({\r\n ...extFileInstance,\r\n uploadStatus: \"uploading\",\r\n });\r\n }, 1500);\r\n\r\n });\r\n};\r\n\r\n/**\r\n * \r\n * @param extFileInstance \r\n * @returns \r\n */\r\nexport const uploadOneExtFile = (\r\n extFileInstance: ExtFileInstance\r\n): Promise<Object> => {\r\n //console.log(\"upload One\", extFileInstance);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n extFileInstance.uploadStatus = \"success\";\r\n resolve({\r\n ...extFileInstance,\r\n uploadStatus: \"success\",\r\n });\r\n }, 2000);\r\n });\r\n};\r\n\r\n\r\n/**\r\n * \r\n * @param extFile the extFile to upload \r\n * @param DropzoneLocalizer the localization\r\n * @returns a duiUploadResponse object that describes the result\r\n */\r\nexport const fakeFuiUpload = (\r\n extFileInstance: ExtFileInstance,\r\n DropzoneLocalizer = DropzoneLocalizerSelector(\"EN-en\")\r\n): Promise<ExtFile> => {\r\n \r\n const extFile:ExtFile = extFileInstance.toExtFile();\r\n \r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n const randomNumber: number = Math.floor(Math.random() * 10);\r\n if (randomNumber % 2 === 0) {\r\n const success = true;\r\n const message = DropzoneLocalizer.fakeuploadsuccess as string;\r\n const payload = { url: \"\" };\r\n resolve({\r\n ...extFile,\r\n serverResponse: { success, message, payload },\r\n uploadStatus: \"success\",\r\n uploadMessage: message,\r\n\r\n });\r\n } else {\r\n const success = false;\r\n const message = DropzoneLocalizer.fakeUploadError as string;\r\n const payload = {};\r\n resolve({\r\n ...extFile,\r\n serverResponse: { success, message, payload },\r\n uploadStatus: \"error\",\r\n uploadMessage: message,\r\n });\r\n }\r\n }, 1700);\r\n });\r\n};\r\n\r\n\r\n/**\r\n * \r\n * @param extFile the extFile to upload \r\n * @param DropzoneLocalizer the localization\r\n * @returns a duiUploadResponse object that describes the result\r\n */\r\nexport const fakeFuiUploadExtFile = (\r\n extFileInstance: ExtFileInstance,\r\n DropzoneLocalizer = DropzoneLocalizerSelector(\"EN-en\")\r\n): Promise<UploadResponse> => {\r\n \r\n const extFile:ExtFile = extFileInstance.toExtFile();\r\n \r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n const randomNumber: number = Math.floor(Math.random() * 10);\r\n if (randomNumber % 2 === 0) {\r\n const status = true;\r\n const message = DropzoneLocalizer.fakeuploadsuccess as string;\r\n const payload = { url: \"\" };\r\n\r\n resolve({\r\n id: extFile.id,\r\n serverResponse: { status, message, payload },\r\n uploadedFile: {\r\n ...extFile,\r\n uploadStatus: \"success\",\r\n uploadMessage: message,\r\n progress: 100\r\n }\r\n\r\n });\r\n } else {\r\n const status = false;\r\n const message = DropzoneLocalizer.fakeUploadError as string;\r\n const payload = {};\r\n resolve({\r\n id: extFile.id,\r\n serverResponse: { status, message, payload },\r\n uploadedFile: {\r\n ...extFile,\r\n uploadStatus: \"error\",\r\n uploadMessage: message,\r\n progress: 60\r\n },\r\n });\r\n }\r\n }, 1700);\r\n });\r\n};\r\n","/**\r\n * Random integer between min (included) and max (excluded)\r\n * @param min the min number\r\n * @param max the max number\r\n * @returns a random number between min (included) and max (excluded)\r\n */\r\nexport function getRandomInt(min: number = 0, max: number = 0): number {\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n}\r\n","/**\r\n * Cleans the input.value attribute\r\n * @param inputElement \r\n */\r\nexport const cleanInput = (inputElement?: HTMLInputElement | null) => {\r\n if (!inputElement) return;\r\n inputElement.value = \"\";\r\n}","/**\r\n * If className is given, adds class name in string format to a base class name\r\n * @param baseClassName the base class name\r\n * @param className the class name to be added\r\n * @returns a new class name obtained by adding the second paramater\r\n */\r\nexport const addClassName = (\r\n baseClassName: string,\r\n className: string | undefined\r\n): string => {\r\n if (className)\r\n return `${baseClassName} ${className}`;\r\n return baseClassName;\r\n}","import { ExtFile } from \"../types\";\r\n\r\nexport const isUploadAbleExtFile = (extFile: ExtFile, validateFilesFlag: boolean) => {\r\n return (!validateFilesFlag || (validateFilesFlag && extFile.valid)) && extFile.uploadStatus !== \"success\";\r\n}","/**\r\n * \r\n * @param file \r\n * @param name \r\n * @param type \r\n * @param size \r\n * @returns the file name, type and size\r\n */\r\nexport const getLocalFileItemData = (\r\n file: File | undefined,\r\n name: string | undefined,\r\n type: string | undefined,\r\n size: number | undefined\r\n): [string, string | undefined, number | undefined] => {\r\n\r\n let localFileName: string = \"\";\r\n let localFileType: string | undefined = undefined;\r\n let localFileSize: number | undefined = undefined;\r\n\r\n // if file object is valid, obtain metadata from it\r\n // otherwise try to get file data from individual props in string format\r\n if (file && typeof file.name === \"string\") {\r\n localFileName = file.name;\r\n localFileType = file.type;\r\n localFileSize = file.size;\r\n } else if (name && typeof name === \"string\") {\r\n localFileName = name;\r\n localFileType = type;\r\n localFileSize = size;\r\n }\r\n return [localFileName, localFileType, localFileSize]\r\n}","/**\r\n * Separate the accept string array into an array of strings separated by commas\r\n * @param accept the string accept array\r\n * @returns an array of strings in wich every item\r\n */\r\nexport const separateAccept = (accept: string | undefined): string[] => {\r\n if (!accept || accept.length === 0) {\r\n return [];\r\n }\r\n const commaSeparatedAccpet: string[] = accept.split(\",\").map((acceptItem) => acceptItem.trim());\r\n return commaSeparatedAccpet;\r\n}","import { getExt } from \"../utils/getExt\";\r\n\r\n/**\r\n * Checks whether a file is valid or not given an array of file extentions and mime types\r\n * e.g. accept = [\".doc\", \".docx\", \".xml\", \"application/msword\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"]\r\n * @param accept the array of strings accept items\r\n * @param file a File object to be evaluated\r\n * @returns true if the mime type file is included in the accept param\r\n */\r\n export const validateAccept = (accept: string[], file: File): boolean => {\r\n let valid: boolean = false;\r\n const { name, type } = file;\r\n //Array(5) [ \".doc\", \".docx\", \".xml\", \"application/msword\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ]\r\n for (let i = 0; i < accept.length; i++) {\r\n const acceptItem: string = accept[i];\r\n //check is not empty\r\n if (acceptItem.length !== 0) {\r\n //check extention\r\n if (acceptItem.charAt(0) === \".\") {\r\n if (acceptItem.includes(getExt(name))) {\r\n return true;\r\n }\r\n }\r\n //check mime\r\n // header/tail => image/png ; image/* ; audio\r\n if (type && type.length > 0 && acceptItem.includes(\"/\") && type.includes(\"/\")) {\r\n let headerMime = acceptItem.split(\"/\")[0];\r\n let tailMime = acceptItem.split(\"/\")[1];\r\n\r\n let headerMimeFile = type.split(\"/\")[0];\r\n let tailMimeFile = type.split(\"/\")[1];\r\n\r\n if (headerMime === headerMimeFile) {\r\n // image/*\r\n if (tailMime === \"*\") {\r\n return true;\r\n } else if (tailMime === tailMimeFile) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return valid;\r\n}","import { ValidateErrorLocalizerSelector } from \"../localization\";\r\nimport { ExtFile, FunctionLabel, Localization, LocalLabels } from \"../types\";\r\nimport { ValidateFileResponse, FileValidatorProps } from \"../types/validation\";\r\nimport { FileIdGenerator } from \"../utils/IdGenerator\";\r\nimport { separateAccept } from \"./separateAccept\";\r\nimport { validateAccept } from \"./validateAccept\";\r\n\r\n/**\r\n * \r\n * @param preValidatedFiles FileList \r\n * @param remainingValids The number of remaining valid files\r\n * @param localValidator \r\n * @param validator \r\n * @param maxFiles \r\n * @param localization \r\n * @returns \r\n */\r\nexport const fileListvalidator = (\r\n preValidatedFiles: FileList,\r\n remainingValids: number,\r\n localValidator: FileValidatorProps,\r\n validator?: ((f: File) => ValidateFileResponse) ,\r\n maxFiles?: number,\r\n localization?: Localization\r\n): ExtFile[] => {\r\n const output: ExtFile[] = [];\r\n //set a countdown when there is a limit on files\r\n let countdown: number = remainingValids;\r\n // get localized labels\r\n const ValidationErrorLocalizer: LocalLabels =\r\n ValidateErrorLocalizerSelector(localization);\r\n //Iterate the File list\r\n for (let i = 0, f: File; (f = preValidatedFiles[i]); i++) {\r\n // Validate the file list with\r\n let validatedFile: ExtFile = validateFile(f, validator, localValidator, ValidationErrorLocalizer);\r\n if (validatedFile.valid) {\r\n //not valid due to file count limit\r\n const valid = countdown > 0;\r\n validatedFile.valid = valid;\r\n //add error about amount\r\n if (!valid) {\r\n const maxFileErrorMessenger: FunctionLabel = ValidationErrorLocalizer.maxFileCount as FunctionLabel;\r\n validatedFile.errors = validatedFile.errors\r\n ? [...validatedFile.errors, maxFileErrorMessenger(maxFiles || Infinity)]\r\n : [maxFileErrorMessenger(maxFiles || Infinity)];\r\n }\r\n countdown--;\r\n }\r\n output.push(validatedFile);\r\n }\r\n return output;\r\n};\r\n\r\n\r\n/**\r\n * For each ExtFile sets the valid prop of ExtFile to \"true\" or \"false\"\r\n * depending on the result of the individual validation. \r\n * It also add the list of errors.\r\n * @param extFileList \r\n * @param remainingValids \r\n * @param localValidatorProps \r\n * @param validator \r\n * @param maxFiles \r\n * @param localization \r\n * @returns a new ExtFile list with each item validated\r\n */\r\nexport const validateExtFileList = (\r\n extFileList: ExtFile[],\r\n remainingValids: number,\r\n localValidatorProps: FileValidatorProps,\r\n validator?: ((f: File) => ValidateFileResponse) ,\r\n maxFiles?: number,\r\n localization?: Localization\r\n): ExtFile[] => {\r\n //console.log(\"remaning valids\", remainingValids);\r\n let fileListResult: ExtFile[] = [];\r\n if (!remainingValids) return fileListResult;\r\n let remaining: number = remainingValids;\r\n const ValidationErrorLocalizer: LocalLabels =\r\n ValidateErrorLocalizerSelector(localization);\r\n const maxFileErrorMessenger: FunctionLabel = ValidationErrorLocalizer.maxFileCount as FunctionLabel;\r\n for (let i = 0; i < extFileList.length; i++) {\r\n let currentExtFile: ExtFile = extFileList[i];\r\n\r\n currentExtFile = validateExtFile(currentExtFile, validator, localValidatorProps, ValidationErrorLocalizer);\r\n //console.log(\"validateExtFileList after validation\", currentExtFile);\r\n\r\n if (currentExtFile.valid) {\r\n //not valid due to file count limit\r\n const valid = remaining > 0;\r\n currentExtFile.valid = valid;\r\n //add error about amount\r\n if (!valid) {\r\n currentExtFile.errors = currentExtFile.errors\r\n ? [...currentExtFile.errors, maxFileErrorMessenger(maxFiles || Infinity)]\r\n : [maxFileErrorMessenger(maxFiles || Infinity)];\r\n }\r\n remaining--;\r\n }\r\n fileListResult.push(currentExtFile);\r\n\r\n }\r\n return fileListResult;\r\n}\r\n\r\n/**\r\n * \r\n * @param extFile \r\n * @param validator \r\n * @param validatorProps \r\n * @param localErrors \r\n * @returns \r\n */\r\nexport const validateExtFile = (\r\n extFile: ExtFile,\r\n validator: ((f: File) => ValidateFileResponse) | undefined,\r\n validatorProps: FileValidatorProps,\r\n localErrors: LocalLabels\r\n): ExtFile => {\r\n let extFileResult: ExtFile = { ...extFile };\r\n let errors: string[] = [];\r\n //TO-DO: Add extra validation for individual props even if FIle object was not given\r\n if (!extFile.file) {\r\n return { ...extFileResult }\r\n }\r\n\r\n //TO-DO: add \"overrideValidation\" prop to ignore the rest of validators like accept and maxFileSize\r\n if (validator) {\r\n const resultCustomValidation: ValidateFileResponse = validator(extFileResult.file as File);\r\n const { errors: errorsResult } = resultCustomValidation;\r\n if (errorsResult)\r\n errors.push(...errorsResult)\r\n //return { ...extFileResult, ...validator(extFileResult.file as File) };\r\n }\r\n\r\n const { maxFileSize, accept } = validatorProps;\r\n //console.log(\"Validation\", maxFileSize, accept);\r\n //check file size\r\n const file: File = extFile.file;\r\n\r\n\r\n if (maxFileSize && file.size > maxFileSize) {\r\n const maxFileSizeErrorMessenger: FunctionLabel = localErrors.maxSizeError as FunctionLabel;\r\n\r\n //console.log(\"Size error\", maxFileSizeErrorMessenger(maxFileSize));\r\n\r\n errors.push(maxFileSizeErrorMessenger(maxFileSize));\r\n }\r\n //check file type\r\n if (accept && !validateAccept(separateAccept(accept), file)) {\r\n errors.push(localErrors.acceptError as string);\r\n }\r\n const isValid: boolean = errors.length === 0;\r\n extFileResult = { ...extFileResult, valid: isValid, errors: !isValid ? errors : undefined };\r\n //console.log(\"validation extFileResult\", extFileResult);\r\n return extFileResult;\r\n\r\n}\r\n\r\n\r\n\r\n/**\r\n * Function that validate whether a file is valid, or not\r\n * according to the Filevalidator properties\r\n * @param file a File object to be evaluated\r\n * @param validatorProps the validator object \r\n * @returns a FileValidated object\r\n */\r\nexport const validateFile = (\r\n file: File,\r\n validator: undefined | ((f: File) => ValidateFileResponse),\r\n validatorProps: FileValidatorProps,\r\n localErrors: LocalLabels\r\n): ExtFile => {\r\n\r\n const idGenerated = FileIdGenerator.getNextId();\r\n let errors: string[] = [];\r\n if (validator) {\r\n return { id: idGenerated, file, ...validator(file) };\r\n }\r\n\r\n const { maxFileSize, accept } = validatorProps;\r\n\r\n //check file size\r\n if (maxFileSize && file.size > maxFileSize) {\r\n const maxFileSizeErrorMessenger: FunctionLabel = localErrors.maxSizeError as FunctionLabel;\r\n errors.push(maxFileSizeErrorMessenger(maxFileSize));\r\n }\r\n\r\n //check file type\r\n // const allowedTypes = accept.filter((type) => (file.type === type))\r\n if (accept && !validateAccept(separateAccept(accept), file)) {\r\n errors.push(localErrors.acceptError as string);\r\n }\r\n\r\n\r\n const fileResult: ExtFile = {\r\n id: idGenerated,\r\n file: file,\r\n valid: errors.length === 0,\r\n errors: errors\r\n };\r\n // logic here\r\n return fileResult;\r\n};","/**\r\n * list of dumy errors in english\r\n */\r\nexport const listOfErrors: string[] =\r\n [\r\n \"File is too big. Max file size allowed is 80mb.\",\r\n \"File's type is not allowed.\",\r\n \"Max amount of files (28) has been reached.\"\r\n ];","import { ExtFile, UPLOADSTATUS } from \"../types\";\r\nimport { FileIdGenerator, getRandomInt } from \"../utils\";\r\nimport { getRandomUploadStatus, listOfErrors } from \"../validation\";\r\n\r\n\r\n/**\r\n * Make a validated file that is ready to be used on FileItem component,\r\n * if valid is not set, a random operation will decide whether the file is valid or not\r\n * If valid is false, then the natural order is not to be uploadable and wont have upload message nor upload status\r\n * If valid is true, then file can be uploaded and can have upload message if the status is succes or error\r\n * @param file The file\r\n * @param valid true if it is a valid file, otherwise is false\r\n * @param uploadStatus the current upload status. If not given a random upload status will be set\r\n * @param uploadMessage the upload message after uploading\r\n * @returns a Vaidated File object\r\n */\r\n export const makeSyntheticExtFile = (\r\n file?: File ,\r\n valid = (Math.ceil(Math.random() * 28) % 2 === 0),\r\n uploadStatus?: UPLOADSTATUS,\r\n uploadMessage?: string\r\n): ExtFile => {\r\n //if valid, naturally, can be uploaded\r\n let errors: string[] | undefined = [];\r\n let newUpoadStatus = uploadStatus || getRandomUploadStatus();\r\n\r\n let customUploadMessage: string | undefined = uploadMessage || \"\";\r\n if (valid) {\r\n //we can decide according to upload status \r\n if (!uploadMessage) {\r\n switch (newUpoadStatus) {\r\n case \"error\": customUploadMessage = \"Upload failed. There was an error\"; break;\r\n case \"success\": customUploadMessage = \"File was successfully upload\"; break;\r\n default: uploadMessage = undefined;\r\n }\r\n }\r\n errors = undefined;\r\n } else {\r\n //if not valid, just show error messages\r\n const randInt: number = getRandomInt(0, 3);\r\n errors.push(listOfErrors[randInt]);\r\n newUpoadStatus = undefined;\r\n customUploadMessage = undefined;\r\n }\r\n //now make a File Validated instance \r\n const newFileValidated: ExtFile = {\r\n id: FileIdGenerator.getNextId(),\r\n valid: valid,\r\n file: file,\r\n uploadStatus: newUpoadStatus,\r\n uploadMessage: customUploadMessage,\r\n errors: errors\r\n };\r\n return newFileValidated;\r\n}\r\n","import { UPLOADSTATUS } from \"../types\";\r\nimport { getRandomInt } from \"../utils/randomInt\";\r\n\r\n/**\r\n * Generates a random number betwen 0 and 3\r\n * where\r\n * 0 => error\r\n * 1 => uploading\r\n * 2 => success\r\n * 3 => undefined\r\n * @returns a random upload status or undefined\r\n */\r\n export const getRandomUploadStatus = (): UPLOADSTATUS | undefined => {\r\n const result: number = getRandomInt(0, 4);\r\n switch (result) {\r\n case 0: return \"error\";\r\n case 1: return \"uploading\";\r\n case 2: return \"success\";\r\n default:\r\n return undefined;\r\n }\r\n}","import { createSyntheticFile } from \"../synthetic-file\"\r\nimport { ExtFile } from \"../types\"\r\nimport { FileIdGenerator } from \"../utils\"\r\nimport { listOfErrors } from \"../validation\"\r\n\r\nexport const extFileMock = (id?: number): ExtFile => {\r\n return {\r\n id: id || FileIdGenerator.getNextId(),\r\n name: \"fileName.ext\",\r\n size: 28 * 1024 * 1024,\r\n type: \"files-ui/mock\",\r\n file: createSyntheticFile(\"fileName.ext\", 28 * 1024 * 1024, \"files-ui/mock\"),\r\n errors: listOfErrors,\r\n uploadMessage: \"uploaded\",\r\n uploadStatus: \"preparing\",\r\n valid: false,\r\n progress: 28,\r\n xhr: new XMLHttpRequest(),\r\n extraData: {\r\n extraData1: \"files-ui is the best\",\r\n extraData2: {\r\n id: 1,\r\n name: \"files-ui.mock\"\r\n },\r\n deleted: true\r\n },\r\n downloadUrl: \"https://www.files-ui.com/mock/file-download\"\r\n }\r\n}","export default function addExtraData(\r\n formData: FormData,\r\n extraData: Record<string, string> | undefined\r\n) {\r\n //headers\r\n const extraDataKeys: string[] = Object.keys(extraData || {});\r\n //const headerValues: string[] = Object.values(headers);\r\n for (let i = 0; i < extraDataKeys.length && extraData; i++) {\r\n //console.log(\"uploadFile extraData\", extraDataKeys[i], extraData[extraDataKeys[i]]);\r\n formData.append(extraDataKeys[i], extraData[extraDataKeys[i]]);\r\n }\r\n\r\n formData.append(\"otherValue\", \"HAAAAAAAAAAAAAAa\");\r\n\r\n}","export default function addHeaders(\r\n xhr: XMLHttpRequest,\r\n headers: Record<string, string> | undefined\r\n) {\r\n //headers\r\n const headerKeys: string[] = Object.keys(headers || {});\r\n //const headerValues: string[] = Object.values(headers);\r\n for (let i = 0; i < headerKeys.length && headers; i++) {\r\n //console.log(\"uploadFile headers\", headerKeys[i], headers[headerKeys[i]]);\r\n xhr.setRequestHeader(\r\n headerKeys[i],\r\n headers[headerKeys[i]]\r\n );\r\n }\r\n\r\n\r\n}","import { ExtFile, UploadResponse } from \"../types\";\r\n\r\nexport const TIMEOUT_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Timeout error\",\r\n payload: {}\r\n};\r\nexport const ABORTED_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Upload aborted\",\r\n payload: {}\r\n}\r\nexport const JSON_PARSE_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Error when parsing JSON response\",\r\n payload: {}\r\n}\r\n\r\nexport const UNEXPECTED_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Unexpected error\",\r\n payload: {}\r\n}\r\n\r\nexport const NO_XHR_PROVIDED_ERROR = (extFile: ExtFile): ExtFile => {\r\n return {\r\n\r\n ...extFile,\r\n uploadMessage: \"Unable to upload. xhr object was not provided\",\r\n uploadStatus: \"error\",\r\n\r\n serverResponse: { success: false, }\r\n }\r\n}","import { ExtFile, ServerResponse, UploadResponse } from \"../types\";\r\nimport { JSON_PARSE_ERROR_RESPONSE } from \"./errors.upload\";\r\n\r\nexport const makeServerResponse = (success: any, message: string, payload: any): ServerResponse => {\r\n const result: ServerResponse = { success: success, message: message, payload: payload } as ServerResponse;\r\n return result;\r\n}\r\nexport const JsonParseResponse = (xhr: XMLHttpRequest): ServerResponse => {\r\n try {\r\n const jsonResponse = JSON.parse(xhr.response);\r\n const success: any = jsonResponse.success;\r\n const message: string = jsonResponse.message;\r\n const payload: any = jsonResponse.payload;\r\n\r\n const fuiResponse: ServerResponse = {\r\n success: typeof success === \"boolean\" ? success : false,\r\n message: typeof message === \"string\" ? message : \"Error on message response\",\r\n payload: payload || {}\r\n }\r\n return fuiResponse\r\n } catch (error) {\r\n //console.log(\"FuiUpload ERROR\", error);\r\n return JSON_PARSE_ERROR_RESPONSE;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const makeSuccessUploadResponse = (\r\n extFile: ExtFile,\r\n responseFui: ServerResponse\r\n): ExtFile => {\r\n return {\r\n ...extFile,\r\n serverResponse: responseFui,\r\n uploadMessage: responseFui.message,\r\n uploadStatus: \"success\"\r\n\r\n }\r\n}\r\n\r\n\r\nexport const makeErrorUploadResponse = (\r\n extFile: ExtFile,\r\n responseFui: ServerResponse\r\n): ExtFile => {\r\n //console.log(\"makeErrorUploadResponse\", extFile, responseFui);\r\n return {\r\n ...extFile,\r\n uploadMessage: responseFui.message,\r\n uploadStatus: \"error\", \r\n serverResponse: responseFui,\r\n }\r\n}\r\n\r\n","import { ExtFile, Method, UPLOADSTATUS } from \"../types\";\r\nimport { ServerResponse, UploadResponse } from \"../types/uploadTypes\";\r\nimport addExtraDataUpload from \"./addExtraData.upload\";\r\nimport addHeaders from \"./addheaders.upload\";\r\nimport { ABORTED_ERROR_RESPONSE, NO_XHR_PROVIDED_ERROR, TIMEOUT_ERROR_RESPONSE, UNEXPECTED_ERROR_RESPONSE } from \"./errors.upload\";\r\nimport { JsonParseResponse, makeErrorUploadResponse, makeSuccessUploadResponse } from \"./response.upload\";\r\nimport { completeUploadResult, unableToUploadResult } from \"./utils.upload\";\r\n\r\n\r\n/**\r\n * Uploads one formData object to a given endpoint in a promisified way\r\n * @param xhr XMLHTTPrequest object\r\n * @param method method for uploading\r\n * @param endpoint endpoint to upload the file\r\n * @param data FromData object to perform multipart form data upload\r\n * @param headers the set of headers\r\n * @returns a server response that consists on {status, payload, message}\r\n */\r\nexport const uploadFormData = (\r\n xhr: XMLHttpRequest,\r\n method: Method | undefined = \"POST\",\r\n endpoint: string,\r\n data: FormData,\r\n headers: Record<string, string> | undefined\r\n) => {\r\n return new Promise<ServerResponse>((resolve, reject) => {\r\n //console.log(\"Fui_uploadFormData uploadFile\", xhr, method, endpoint, data, headers);\r\n\r\n const finalMethod: Method = [\"POST\", \"PUT\", \"PATCH\"].includes(method.toUpperCase()) ? method : \"POST\";\r\n\r\n let lastLastState: number = -1;\r\n let lastState: number = 0;\r\n let jumped: boolean = false;\r\n\r\n xhr.upload.onload = () => {\r\n //console.log(\"Fui_uploadFormData uploadFile onLoad\", xhr.readyState, xhr.response);\r\n };\r\n xhr.upload.ontimeout = () => resolve(TIMEOUT_ERROR_RESPONSE);\r\n xhr.upload.onabort = () => {\r\n //console.log(\"Fui_uploadFormData ABORTEEEEDDDD\");\r\n resolve(ABORTED_ERROR_RESPONSE);\r\n };\r\n xhr.onloadend = async (e) => {\r\n //console.log(\"onloadend loaded\", e.loaded);\r\n //console.log(\"onloadend total\", e.total);\r\n //console.log(\"onloadend lengthComputable\", e.lengthComputable);\r\n\r\n }\r\n // listen for `progress` event\r\n //currently listening on FileItem component hook\r\n xhr.onreadystatechange = async (e) => {\r\n //console.log(\"Finished\", xhr);\r\n\r\n //console.log(\"Fui_uploadFormData uploadFile onreadystatechange e.type\", e.type);\r\n //console.log(\"Fui_uploadFormData uploadFile onreadystatechange\", xhr.readyState, xhr.response);\r\n\r\n lastLastState = lastState;\r\n lastState = xhr.readyState;\r\n\r\n if (xhr.readyState === 4) {\r\n if (xhr.response !== \"\") {\r\n //there is th answer\r\n resolve(JsonParseResponse(xhr));\r\n } else {\r\n //error unexpected\r\n // console.log(\"Fui_uploadFormData EMPTY status\", xhr.status);\r\n // console.log(\"Fui_uploadFormData EMPTY readyState\", xhr.readyState);\r\n // console.log(\"Fui_uploadFormData EMPTY upload\", xhr.upload);\r\n //console.log(\"Fui_uploadFormData EMPTY abort\", xhr.abort);\r\n //const jumped = lastLastState - lastLastState !== 1;\r\n resolve(ABORTED_ERROR_RESPONSE);\r\n\r\n }\r\n } else {\r\n //console.log(\"Fui_uploadFormData FuiUpload NOT YET\" + xhr.readyState);\r\n }\r\n };\r\n // open request\r\n xhr.open(finalMethod, endpoint, true);\r\n\r\n //add header to request\r\n addHeaders(xhr, headers);\r\n //start uploading\r\n xhr.send(data);\r\n });\r\n\r\n};\r\n\r\n/**\r\n * \r\n * @param file the extended file to be uploaded\r\n * @param url the endpoint\r\n * @param method the method for uploading\r\n * @param headers headers for request\r\n * @returns \r\n */\r\nexport const uploadExtFile = async (\r\n extFile: ExtFile,\r\n url: string,\r\n method?: Method,\r\n headers?: Record<string, string>,\r\n uploadLabel?: string,\r\n): Promise<ExtFile> => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const uploader: XMLHttpRequest | undefined = extFile.xhr;\r\n\r\n if (!uploader) {\r\n resolve(NO_XHR_PROVIDED_ERROR(extFile));\r\n return;\r\n }\r\n\r\n const localMethod: Method = method || \"POST\";\r\n const fileToUpload: File = extFile.file as File;\r\n\r\n const formData = new FormData();\r\n\r\n formData.append(uploadLabel || \"file\", fileToUpload);\r\n\r\n // add extra data to upload\r\n const finalExtraData: Record<string, any> =\r\n { otherValue: \"other valueee haaaa\", param2: { tecnica: \"KIKOHUUUU\", friend: \"Chaos\", age: 25 }, ...extFile.extraUploadData };\r\n\r\n addExtraDataUpload(formData, finalExtraData);\r\n //console.log(\"FORMDATA\", formData);\r\n\r\n let responseFui: ServerResponse;\r\n responseFui = await uploadFormData(\r\n uploader,\r\n localMethod,\r\n url,\r\n formData,\r\n headers || {});\r\n\r\n if (responseFui.success) {\r\n // status is true\r\n resolve(makeSuccessUploadResponse(extFile, responseFui));\r\n } else {\r\n // status is false\r\n resolve(makeErrorUploadResponse(extFile, responseFui));\r\n }\r\n } catch (error) {\r\n // on error\r\n //console.log(\"uploadPromiseXHR uploadPromiseXHR ERROR\", error);\r\n resolve(\r\n makeErrorUploadResponse(extFile, UNEXPECTED_ERROR_RESPONSE)\r\n );\r\n }\r\n });\r\n};\r\n\r\n\r\n\r\n\r\nexport function uploadFile(\r\n file: File,\r\n url: string,\r\n method?: Method,\r\n label?: string,\r\n headers?: Record<string, string>\r\n): Promise<ServerResponse> {\r\n return new Promise(async (resolve, reject) => {\r\n\r\n\r\n //start uploading\r\n const formData = new FormData();\r\n\r\n formData.append(label || \"file\", file);\r\n\r\n try {\r\n const serverResponse: ServerResponse = await uploadFormData(new XMLHttpRequest(), method, url, formData, headers);\r\n resolve(serverResponse);\r\n } catch (error) {\r\n // on error\r\n //console.log(\"uploadPromiseXHR uploadPromiseXHR ERROR\", error);\r\n resolve(UNEXPECTED_ERROR_RESPONSE);\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * @deprecated\r\n * Uploads one formData object to a given endpoint in a promisified way\r\n * @param xhr XMLHTTPrequest object\r\n * @param method method for uploading\r\n * @param endpoint endpoint to upload the file\r\n * @param data FromData object to perform multipart form data\r\n * @param headers the set of headers\r\n * @returns a dui server response that consists on {success, payload, message}\r\n */\r\nexport const FuiUpload = (\r\n xhr: XMLHttpRequest,\r\n method: Method,\r\n endpoint: string,\r\n data: FormData,\r\n headers: Record<string, string>\r\n) => {\r\n return new Promise<ServerResponse>((resolve, reject) => {\r\n //console.log(\"FuiUpload params\", xhr, method, endpoint, data, headers);\r\n\r\n xhr.upload.onload = () => {\r\n //console.log(\"FuiUpload onLoad\", xhr.readyState, xhr.response);\r\n };\r\n\r\n xhr.upload.ontimeout = () => resolve(TIMEOUT_ERROR_RESPONSE);\r\n xhr.upload.onabort = () => resolve(ABORTED_ERROR_RESPONSE);\r\n\r\n // listen for `progress` event\r\n //currently listening on FileMosaic component hook\r\n\r\n xhr.onreadystatechange = async (e) => {\r\n //console.log(\"Finished\", xhr);\r\n //console.log(\"FuiUpload onreadystatechange\", xhr.readyState, xhr.response, xhr);\r\n\r\n if (xhr.readyState === 4) {\r\n if (xhr.response !== \"\") {\r\n //there is th answer\r\n resolve(JsonParseResponse(xhr));\r\n } else {\r\n //error unexpected\r\n resolve(UNEXPECTED_ERROR_RESPONSE);\r\n }\r\n } else {\r\n //console.log(\"FuiUpload NOT YET\" + xhr.readyState);\r\n }\r\n };\r\n // open request\r\n xhr.open(method, endpoint, true);\r\n const headerKeys: string[] = Object.keys(headers);\r\n //const headerValues: string[] = Object.values(headers);\r\n for (let i = 0; i < headerKeys.length; i++) {\r\n //console.log(\"FuiUpload headers\", headerKeys[i], headers[headerKeys[i]]);\r\n xhr.setRequestHeader(\r\n headerKeys[i],\r\n headers[headerKeys[i]]\r\n );\r\n }\r\n //start uploading\r\n xhr.send(data);\r\n });\r\n\r\n};\r\n\r\n\r\n","\r\nimport { ExtFile, ExtFileInstance, ServerResponse, UploadResponse, UPLOADSTATUS } from \"../types\"\r\n\r\nexport const unexpectedErrorUploadResult = (extFile: ExtFile): ExtFile => {\r\n return {\r\n ...extFile,\r\n uploadMessage: \"Unexpected error\",\r\n uploadStatus: \"error\",\r\n serverResponse: {\r\n success: false,\r\n message: \"Error on upload: unexpected error \",\r\n payload: {},\r\n }\r\n }\r\n}\r\nexport const unableToUploadResult = (\r\n extFile: ExtFile\r\n): UploadResponse => {\r\n return {\r\n id: extFile.id,\r\n uploadedFile: {\r\n ...extFile,\r\n uploadMessage: \"Unable to upload. XHR was not provided\",\r\n uploadStatus: \"error\"\r\n },\r\n serverResponse: {\r\n success: false,\r\n message: \"Error on upload: Unable to upload. XHR was not provided \",\r\n payload: {},\r\n }\r\n }\r\n}\r\nexport const completeUploadResult = (\r\n extFile: ExtFile,\r\n serverResponse: ServerResponse,\r\n uploadStatusresult: UPLOADSTATUS\r\n): UploadResponse => {\r\n return {\r\n id: extFile.id,\r\n uploadedFile: {\r\n ...extFile,\r\n uploadMessage: serverResponse.message,\r\n uploadStatus: uploadStatusresult\r\n },\r\n serverResponse: serverResponse\r\n }\r\n}\r\n\r\n/**\r\n * Initializes the xhr attribute for performing uploads\r\n * @param extFileList the list of extended files\r\n * @returns the array of extFiles with the xhr attribute initialized\r\n */\r\nexport const toUploadableExtFileList = (\r\n extFileList: ExtFile[] | ExtFileInstance[]\r\n): ExtFile[] => {\r\n if (!extFileList) return [];\r\n return extFileList.map(extFile => {\r\n return { ...extFile, xhr: new XMLHttpRequest() }\r\n });\r\n}\r\n\r\n/**\r\n * Updates the uploadStatus of the given extFile \r\n * from \"preparing\" to \"uploading\"\r\n * @param extFile the extended file\r\n * @returns the extended file with uploadStatus updated to \"uploading\"\r\n */\r\nexport const instantPreparingToUploadOne = (\r\n extFile: ExtFileInstance | ExtFile\r\n): ExtFileInstance | ExtFile => {\r\n if (extFile.uploadStatus === \"preparing\") {\r\n //for ExtFile instance\r\n extFile.uploadStatus = \"uploading\";\r\n //for ExtFile type\r\n return {\r\n ...extFile,\r\n uploadStatus: \"uploading\",\r\n };\r\n }\r\n return extFile;\r\n};\r\n\r\n/**\r\n * \r\n * @param extFile the extended file\r\n * @returns \r\n */\r\nexport const preparingToUploadOne = (\r\n extFile: ExtFileInstance | ExtFile\r\n): Promise<ExtFileInstance | ExtFile> => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (extFile.uploadStatus === \"preparing\") {\r\n //for ExtFile instance\r\n extFile.uploadStatus = \"uploading\";\r\n //for ExtFile type\r\n resolve({\r\n ...extFile,\r\n uploadStatus: \"uploading\",\r\n });\r\n } else\r\n resolve(extFile);\r\n }, 1500);\r\n });\r\n};\r\n/**\r\n * Sleeps for 1200 miliseconds for showing a better transition\r\n * on uploading\r\n * @param time the time to sleep in miliseconds\r\n * @returns true is everything is ok\r\n */\r\nexport const sleepTransition = (time = 1500\r\n): Promise<boolean> => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve(true);\r\n }, time);\r\n });\r\n}\r\n/**\r\n * Removes the deleted files and updates the aborted ones with a message\r\n * @param arrExtFile incomming arr of extFle instances\r\n * @returns an array of ExtFle objects\r\n */\r\nexport const sanitizeArrExtFile = (arrExtFile: ExtFileInstance[]): ExtFile[] => {\r\n \r\n return arrExtFile.filter((extFileInstance: ExtFileInstance) =>\r\n !extFileInstance.extraData?.deleted)\r\n\r\n .map((extFileInstance: ExtFileInstance) => {\r\n if (extFileInstance.uploadStatus === \"aborted\"\r\n && !extFileInstance.uploadMessage) {\r\n // TO-DO: ad localization for this message\r\n extFileInstance.uploadMessage = \"Upload aborted by user\";\r\n //extFileInstance.uploadStatus = \"error\";\r\n }\r\n return ExtFileInstance.toExtFile(extFileInstance) as ExtFile\r\n });\r\n}\r\n/**\r\n * \r\n * @param extFileInstance \r\n * @param extFileobj \r\n */\r\nexport const setNextUploadStatus = (\r\n extFileInstance: ExtFileInstance,\r\n extFileobj: ExtFile) => {\r\n\r\n const prevStatus: UPLOADSTATUS | undefined = extFileInstance.uploadStatus;\r\n const nextStstaus: UPLOADSTATUS | undefined = extFileobj.uploadStatus;\r\n\r\n //console.log(\"setNextUploadStatus\", prevStatus, nextStstaus);\r\n //console.log(\"setNextUploadStatus\", extFileInstance.uploadMessage, extFileobj.uploadMessage);\r\n if (\r\n prevStatus === \"preparing\" &&\r\n [\"aborted\", undefined].includes(nextStstaus)\r\n ) {\r\n extFileInstance.uploadStatus = undefined;\r\n extFileInstance.uploadMessage = extFileobj.uploadMessage;\r\n\r\n } else if (\r\n prevStatus === \"uploading\" &&\r\n [\"aborted\", undefined].includes(nextStstaus)\r\n ) {\r\n extFileInstance.uploadStatus = \"aborted\";\r\n extFileInstance.uploadMessage = extFileobj.uploadMessage;\r\n\r\n }\r\n\r\n}\r\n\r\n","import { NamedColor } from \"../types/NamedColor\";\r\n\r\n/**\r\n * The full list of named Colors provided by\r\n * https://htmlcolorcodes.com/es/nombres-de-los-colores/\r\n */\r\nexport const NAMED_COLORS: NamedColor =\r\n{\r\n //RED\r\n indianred: \"#CD5C5C\",\r\n lightcoral: \"#F08080\",\r\n salmon: \"#FA8072\",\r\n darksalmon: \"#E9967A\",\r\n lightsalmon: \"#FFA07A\",\r\n crimson: \"#DC143C\",\r\n red: \"#FF0000\",\r\n firebrick: \"#B22222\",\r\n darkred: \"#8B0000\",\r\n //PINK\r\n pink: \"#FFC0CB\",\r\n lightpink: \"#FFB6C1\",\r\n hotpink: \"#FF69B4\",\r\n deeppink: \"#FF1493\",\r\n mediumvioletred: \"#C71585\",\r\n palevioletred: \"#DB7093\",\r\n //ORANGE\r\n //\"lightsalmon: \"#FFA07A\",\r\n coral: \"#FF7F50\",\r\n tomato: \"#FF6347\",\r\n orangered: \"#FF4500\",\r\n darkorange: \"#FF8C00\",\r\n orange: \"#FFA500\",\r\n //YELLOW\r\n gold: \"#FFD700\",\r\n yellow: \"#FFFF00\",\r\n lightyellow: \"#FFFFE0\",\r\n lemonchiffon: \"#FFFACD\",\r\n lightgoldenrodyellow: \"#FAFAD2\",\r\n papayawhip: \"#FFEFD5\",\r\n moccasin: \"#FFE4B5\",\r\n peachpuff: \"#FFDAB9\",\r\n palegoldenrod: \"#EEE8AA\",\r\n khaki: \"#F0E68C\",\r\n darkkhaki: \"#BDB76B\",\r\n //PURPLE\r\n lavender: \"#E6E6FA\",\r\n thistle: \"#D8BFD8\",\r\n plum: \"#DDA0DD\",\r\n violet: \"#EE82EE\",\r\n orchid: \"#DA70D6\",\r\n fuchsia: \"#FF00FF\",\r\n magenta: \"#FF00FF\",\r\n mediumorchid: \"#BA55D3\",\r\n mediumpurple: \"#9370DB\",\r\n rebeccapurple: \"#663399\",\r\n blueviolet: \"#8A2BE2\",\r\n darkviolet: \"#9400D3\",\r\n darkorchid: \"#9932CC\",\r\n darkmagenta: \"#8B008B\",\r\n purple: \"#800080\",\r\n indigo: \"#4B0082\",\r\n slateblue: \"#6A5ACD\",\r\n darkslateblue: \"#483D8B\",\r\n mediumslateblue: \"#7B68EE\",\r\n //GREEN\r\n greenyellow: \"#ADFF2F\",\r\n chartreuse: \"#7FFF00\",\r\n lawngreen: \"#7CFC00\",\r\n lime: \"#00FF00\",\r\n limegreen: \"#32CD32\",\r\n palegreen: \"#98FB98\",\r\n lightgreen: \"#90EE90\",\r\n mediumspringgreen: \"#00FA9A\",\r\n springgreen: \"#00FF7F\",\r\n mediumseagreen: \"#3CB371\",\r\n seagreen: \"#2E8B57\",\r\n forestgreen: \"#228B22\",\r\n green: \"#008000\",\r\n darkgreen: \"#006400\",\r\n yellowgreen: \"#9ACD32\",\r\n olivedrab: \"#6B8E23\",\r\n olive: \"#808000\",\r\n darkolivegreen: \"#556B2F\",\r\n mediumaquamarine: \"#66CDAA\",\r\n darkseagreen: \"#8FBC8B\",\r\n lightseagreen: \"#20B2AA\",\r\n darkcyan: \"#008B8B\",\r\n teal: \"#008080\",\r\n //BLUE\r\n aqua: \"#00FFFF\",\r\n cyan: \"#00FFFF\",\r\n lightcyan: \"#E0FFFF\",\r\n paleturquoise: \"#AFEEEE\",\r\n aquamarine: \"#7FFFD4\",\r\n turquoise: \"#40E0D0\",\r\n mediumturquoise: \"#48D1CC\",\r\n darkturquoise: \"#00CED1\",\r\n cadetblue: \"#5F9EA0\",\r\n steelblue: \"#4682B4\",\r\n lightsteelblue: \"#B0C4DE\",\r\n powderblue: \"#B0E0E6\",\r\n lightblue: \"#ADD8E6\",\r\n skyblue: \"#87CEEB\",\r\n lightskyblue: \"#87CEFA\",\r\n deepskyblue: \"#00BFFF\",\r\n dodgerblue: \"#1E90FF\",\r\n cornflowerblue: \"#6495ED\",\r\n //\"mediumslateblue: \"#7B68EE\",\r\n royalblue: \"#4169E1\",\r\n blue: \"#0000FF\",\r\n mediumblue: \"#0000CD\",\r\n darkblue: \"#00008B\",\r\n navy: \"#000080\",\r\n midnightblue: \"#191970\",\r\n //BROWN\r\n cornsilk: \"#FFF8DC\",\r\n blanchedalmond: \"#FFEBCD\",\r\n bisque: \"#FFE4C4\",\r\n navajowhite: \"#FFDEAD\",\r\n wheat: \"#F5DEB3\",\r\n burlywood: \"#DEB887\",\r\n tan: \"#D2B48C\",\r\n rosybrown: \"#BC8F8F\",\r\n sandybrown: \"#F4A460\",\r\n goldenrod: \"#DAA520\",\r\n darkgoldenrod: \"#B8860B\",\r\n peru: \"#CD853F\",\r\n chocolate: \"#D2691E\",\r\n saddlebrown: \"#8B4513\",\r\n sienna: \"#A0522D\",\r\n brown: \"#A52A2A\",\r\n maroon: \"#800000\",\r\n //WHITE\r\n white: \"#FFFFFF\",\r\n snow: \"#FFFAFA\",\r\n honeydew: \"#F0FFF0\",\r\n mintcream: \"#F5FFFA\",\r\n azure: \"#F0FFFF\",\r\n aliceblue: \"#F0F8FF\",\r\n ghostwhite: \"#F8F8FF\",\r\n whitesmoke: \"#F5F5F5\",\r\n seashell: \"#FFF5EE\",\r\n beige: \"#F5F5DC\",\r\n oldlace: \"#FDF5E6\",\r\n floralwhite: \"#FFFAF0\",\r\n ivory: \"#FFFFF0\",\r\n antiquewhite: \"#FAEBD7\",\r\n linen: \"#FAF0E6\",\r\n lavenderblush: \"#FFF0F5\",\r\n mistyrose: \"#FFE4E1\",\r\n //GREY\r\n gainsboro: \"#DCDCDC\",\r\n lightgray: \"#D3D3D3\",\r\n silver: \"#C0C0C0\",\r\n darkgray: \"#A9A9A9\",\r\n gray: \"#808080\",\r\n dimgray: \"#696969\",\r\n lightslategray: \"#778899\",\r\n slategray: \"#708090\",\r\n darkslategray: \"#2F4F4F\",\r\n black: \"#000000\"\r\n}","import { NAMED_COLORS } from \"./namedColors\";\r\n\r\n/**\r\n * Make the color into a darker color\r\n * @param colorInput \r\n * @returns the darked color in\r\n */\r\nexport const darkerColor = (colorInput: string, percentage = 25): string => {\r\n let darkedColor = \"\";\r\n const reduce = (100 - percentage) / 100;\r\n let component1: number = 0;\r\n let component2: number = 0;\r\n let component3: number = 0;\r\n if (isHexColor(colourNameToHex(colorInput))) {\r\n\r\n component1 = hexTodec(colorInput.charAt(1)) * 16 + hexTodec(colorInput.charAt(2));\r\n component2 = hexTodec(colorInput.charAt(3)) * 16 + hexTodec(colorInput.charAt(4));\r\n component3 = hexTodec(colorInput.charAt(5)) * 16 + hexTodec(colorInput.charAt(6));\r\n\r\n darkedColor = `rgb(${component1 * reduce}, ${component2 * reduce},${component3 * reduce})`;\r\n } else {\r\n if (colorInput.includes(\"rgba\")) {\r\n let slicer = colorInput.replace(\"rgba(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n darkedColor = `rgb(${parseInt(components[0], 10) * reduce}, ${parseInt(components[1], 10) * reduce},${parseInt(components[2], 10) * reduce})`;\r\n //return darkedColor;\r\n } else if (colorInput.includes(\"rgb\")) {\r\n\r\n let slicer = colorInput.replace(\"rgb(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n darkedColor = `rgb(${parseInt(components[0], 10) * reduce}, ${parseInt(components[1], 10) * reduce},${parseInt(components[2], 10) * reduce})`;\r\n // return darkedColor;\r\n }\r\n }\r\n\r\n return darkedColor;\r\n}\r\n/**\r\n * Make the color into a brighted color\r\n * @param colorInput \r\n * @returns the brighted color \r\n */\r\nexport const brighterColor = (colorInput: string, percentage = 25): string => {\r\n let brightedColor = \"\";\r\n const increase = (100 + percentage) / 100;\r\n let component1: number = 0;\r\n let component2: number = 0;\r\n let component3: number = 0;\r\n if (isHexColor(colourNameToHex(colorInput))) {\r\n\r\n component1 = hexTodec(colorInput.charAt(1)) * 16 + hexTodec(colorInput.charAt(2));\r\n component2 = hexTodec(colorInput.charAt(3)) * 16 + hexTodec(colorInput.charAt(4));\r\n component3 = hexTodec(colorInput.charAt(5)) * 16 + hexTodec(colorInput.charAt(6));\r\n\r\n brightedColor = `rgb(${component1 * increase}, ${component2 * increase},${component3 * increase})`;\r\n } else {\r\n if (colorInput.includes(\"rgba\")) {\r\n let slicer = colorInput.replace(\"rgba(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n brightedColor = `rgb(${parseInt(components[0], 10) * increase}, ${parseInt(components[1], 10) * increase},${parseInt(components[2], 10) * increase})`;\r\n //return darkedColor;\r\n } else if (colorInput.includes(\"rgb\")) {\r\n\r\n let slicer = colorInput.replace(\"rgb(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n brightedColor = `rgb(${parseInt(components[0], 10) * increase}, ${parseInt(components[1], 10) * increase},${parseInt(components[2], 10) * increase})`;\r\n // return darkedColor;\r\n }\r\n }\r\n\r\n return brightedColor;\r\n}\r\n\r\n/**\r\n * In order to managae rgba() we convert hex colors into rgba()\r\n * If the given color is already a rgb() color, it can add the percentage to convert it into rgba()\r\n * \r\n * \r\n * @param colorInput color in hex or in rgb\r\n * @param perc percentage for RGBA() color \r\n * @returns the rgba representation of a hex color\r\n */\r\nexport const hexColorToRGB = (colorInput: string | undefined, perc = 0, defaultColor?: string): string => {\r\n let resultDefault: string = defaultColor ? defaultColor : \"rgba(255, 255, 255, 0.6)\";\r\n if (!colorInput) {\r\n return resultDefault;\r\n }\r\n //work only in uppercase\r\n const color: string = colorInput.toUpperCase();\r\n // is already a rgba color\r\n if (color.includes(\"RGBA\")) {\r\n return color;\r\n }\r\n\r\n //return rbg => rgba\r\n if (color.includes(\"RGB\")) {\r\n return color.replace('RGB', `rgba`).replace(')', `, ${perc})`);\r\n }\r\n\r\n // if is a hex color or named color\r\n if (!isHexColor(colourNameToHex(color))) {\r\n return resultDefault;\r\n }\r\n let resultOk: string = \"\";\r\n //let strVar: string = \"\";\r\n let component1: number = 0;\r\n let component2: number = 0;\r\n let component3: number = 0;\r\n //If passed all validations, proceed to transform\r\n component1 = hexTodec(color.charAt(1)) * 16 + hexTodec(color.charAt(2));\r\n component2 = hexTodec(color.charAt(3)) * 16 + hexTodec(color.charAt(4));\r\n component3 = hexTodec(color.charAt(5)) * 16 + hexTodec(color.charAt(6));\r\n resultOk = `rgba(${component1}, ${component2},${component3} , ${perc})`;\r\n return resultOk;\r\n}\r\n\r\n/**\r\n * Validates wheteher the color is hexadecimal css color\r\n * Example: #FF56AC\r\n * \r\n * \r\n * @param colorInput the color inpt to test \r\n * @returns true if the inputColor is a hexadecimal css color\r\n */\r\nexport const isHexColor = (colorInput: string): boolean => {\r\n\r\n // if first element is no '#' return default background color\r\n if (colorInput.charAt(0) !== '#') {\r\n\r\n return false;\r\n }\r\n // if color lenght is not exactly 7 return default\r\n if (colorInput.length !== 7) {\r\n\r\n\r\n return false;\r\n }\r\n // if one of the letters is not included in hex array return default\r\n for (let i = 1; i < colorInput.length; i++) {\r\n if (!hexArray.includes(colorInput.charAt(i))) {\r\n\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Converts a named color into hexadecimal color\r\n * from a list of well known namd colors if found.\r\n * When not given returns a \"\"\r\n * When not found in the list, returns the same value given\r\n * @param colour the named color\r\n * @returns The hex representation of the color or \"\" or the same color\r\n */\r\nexport function colourNameToHex(colour: string | undefined): string {\r\n /**\r\n * When not given\r\n */\r\n if (!colour) {\r\n return \"\";\r\n }\r\n /**\r\n * when named color is found\r\n */\r\n if (NAMED_COLORS[colour.toLocaleLowerCase()] !== undefined) {\r\n return NAMED_COLORS[colour.toLocaleLowerCase()];\r\n }\r\n /**\r\n * When the named color was not found\r\n */\r\n\r\n return colour;\r\n}\r\n\r\n/**\r\n * hexArray & decArray\r\n * \r\n * arrays of numbers used to convert hexadecimal numbers into decimal and viceversa\r\n */\r\nconst hexArray = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];\r\nconst decArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];\r\n\r\n/**\r\n * Converts hex number in string representation to decimal number\r\n * \r\n * \r\n * @param letter the string hex number\r\n * @returns a decimal number\r\n */\r\nexport const hexTodec = (letter: string): number => {\r\n if (hexArray.includes(letter)) {\r\n return decArray[hexArray.indexOf(letter)];\r\n } else {\r\n return 0;\r\n }\r\n}\r\n\r\n\r\n/** \r\n * Asure a base color. When not given or when given an incorrect color format\r\n * default color is this kind of grey #5d6475\r\n * \r\n * @param color param color given by user\r\n * @returns returns the same color \r\n */\r\nexport const asureColor = (color?: string): string => {\r\n if (color !== undefined && color !== \"\") {\r\n return color;\r\n } else {\r\n return DEFAULT_FONT_COLOR;\r\n }\r\n}\r\n/** \r\n * Asure a base color. When not given or when given an incorrect color format\r\n * default color is this kind of grey #5d6475\r\n * \r\n * @param color param color given by user\r\n * @returns returns the same color \r\n */\r\nexport const completeAsureColor = (color?: string, perc = 1): string => {\r\n\r\n return hexColorToRGB(asureColor(colourNameToHex(color)), perc);\r\n\r\n}\r\n\r\n\r\n\r\nexport const DEFAULT_FONT_COLOR = \"#646c7f\";","import { ExtFile, ExtFileInstance, ExtFileManager } from \"../types\";\r\n\r\nexport const extFileReconcilation = (\r\n dropzoneId: number | string | undefined,\r\n extFileIncomming: ExtFile[]\r\n): ExtFile[] | undefined => {\r\n let result: ExtFile[] = [];\r\n\r\n let arrOfExtFiles: ExtFileInstance[] | undefined =\r\n ExtFileManager.getExtFileInstanceList(dropzoneId);\r\n\r\n // continue only if arrOfExtFiles exists\r\n if (arrOfExtFiles) {\r\n //different sizes means there was deleted files\r\n //also can be new files to be uploaded\r\n //needed an extra flag to allow add files in the middle of uploading process\r\n // if new files are added, they are added to the Manager\r\n // outside they were already added to the UI\r\n // inside Dropzone, will be needed a .next() method for manager\r\n\r\n // 1st allow deleted files and ignore new ones\r\n // reduce the arrOfExtFileInstances array\r\n // parecido a listas ligadas, iterar hasta encontrar null XD\r\n let incommingTemp: ExtFile[] = [...extFileIncomming];\r\n incommingTemp = incommingTemp.filter(\r\n (F) => arrOfExtFiles?.findIndex(I => I.id === F.id) === -1\r\n );\r\n\r\n //console.log(\"reconciliation incommingTemp\", incommingTemp);\r\n \r\n\r\n //different sizes not allowed\r\n if (arrOfExtFiles.length !== extFileIncomming.length || extFileIncomming.length === 0) {\r\n return undefined;\r\n }\r\n for (let i = 0; i < arrOfExtFiles.length; i++) {\r\n if (\r\n (extFileIncomming[i].uploadStatus === undefined)\r\n &&\r\n (arrOfExtFiles[i].uploadStatus === \"preparing\")\r\n ) {\r\n //console.log(\"useDropzoneFileListUpdater onCancel i\", i);\r\n arrOfExtFiles[i].uploadStatus = undefined;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n}"],"names":["fileSizeFormater","fileSize","toFixed","DropzoneItalian","defaultLabel","uploadingMessage","amountOfFiles","uploadFinished","uploaded","rejected","concat","noFilesMessage","footer","acceptAll","acceptCustom","accept","header","uploadFilesMessage","maxSizeMessage","maxFileSize","validFilesMessage","numberOfValidFiles","maxFiles","fakeuploadsuccess","fakeUploadError","FileItemItalian","fullInfoLayer","name","size","type","status","preparing","uploading","success","valid","denied","error","aborted","ValidateErrorItalian","maxSizeError","maxSize","acceptError","maxFileCount","DropzoneFrench","FileItemFrench","ValidateErrorFrench","DropzoneEnglish","FileItemEnglish","ValidateErrorEnglish","DropzoneSpanish","FileItemSpanish","ValidateErrorSpanish","DropzoneRussian","FileItemRussian","ValidateErrorRussian","DropzonePortuguese","FileItemPortuguese","ValidateErrorPortuguese","DropzoneSimplifiedChinese","FileItemSimplifiedChinese","ValidateErrorSimplifiedChinese","DropzoneTraditionalChinese","FileItemTraditionalChinese","ValidateErrorTraditionalChinese","FileItemLocalizer","FileItemLocalizerSelector","local","DropzoneLocalizer","DropzoneLocalizerSelector","ValidateErrorLocalizer","ValidateErrorLocalizerSelector","includes","readAsDataURL","file","onProgress","onError","Promise","resolve","reject","reader_1","FileReader","onprogress","onerror","onload","result","undefined","readAsText","encoding","reader_2","readAsBinaryString","reader_3","readAsArrayBuffer","reader_4","resizeImage","base64Str","maxWidth","maxHeight","img_1","Image","src","canvas","document","createElement","MAX_WIDTH","MAX_HEIGHT","width","height","ctx","getContext","drawImage","toDataURL","process","env","NODE_ENV","console","getImageOrientation","imageSource","length","ev","sevenzip","aac","abw","accdb","avi","azw","bmp","bz","bz2","cda","csh","css","csv","docx","drawio","eot","epub","freearc","gif","gzip","html","icalendar","java","jar","javascript","jpeg","json","jsonld","midi","mp3","mp4","mpeg","mpkg","octet","odp","ods","odt","oga","ogv","ogx","opus","otf","pdf","php","png","pptx","psd","python","tar","rar","react","rtf","sass","sh","swf","text","tiff","ttf","typescript","vsd","vue","wav","webm","weba","webp","wma","wmv","woff","xlsx","xml","xul","zip","getExt","fileName","exec","DEF_GEN_MIME","audioSelector","tailMime","textSelector","imageSelector","fontSelector","videoSelector","applicationSelector","mimeSelector","mimeType","headerMime","split","extensionSelector","extension","genericMime","checkIsCode","getURLFileIco","customIcons","fallBack","url","mimeResume","mimeUrlList","extention","customUrl","getURLFileIcoFromNameAndType","arc","mp2t","xhtml","ExtFileInstance","extFile","id","imageUrl","errors","uploadMessage","uploadStatus","progress","xhr","extraData","extraUploadData","serverResponse","downloadUrl","videoUrl","this","toExtFile","extFileInstance","extFileClone","extFileInstanceKeys","Object","keys","extFileInstanceValues","values","i","currentValue","currKey","prototype","ExtFileManager","getNextId","nextId","setFileList","extFilesInstances","fileLists","__spreadArray","createFileListMap","removeFileListMap","getExtFileInstanceList","setFileListMapPreparing","dropzoneId","localFiles","validateFiles","cleanOnUpload","resultExtList","temLocalFiles","filter","map","__assign","F","setFileListMapPreparing2","createUploadConfig","method","headers","uploadLabel","cleanonUpload","SyntheticFile","createFile","File","defineProperty","get","create_aac","create_abw","create_freearc","create_avi","create_azw","create_octet","create_bmp","create_bz","create_bz2","create_cda","create_csh","create_css","create_csv","create_doc","create_docx","create_eot","create_epub","create_gzip","create_gif","create_htm","create_html","create_ico","create_icalendar","create_jar","create_jpeg","create_jpg","create_js","create_json","create_jsonld","create_mid","create_x_mid","create_midi","create_x_midi","create_mjs","create_mp3","create_mp4","create_mpeg","create_mpkg","create_odp","create_ods","create_odt","create_oga","create_ogv","create_ogx","create_opus","create_otf","create_png","create_pdf","create_php","create_ppt","create_pptx","create_rar","create_rtf","create_sh","create_svg","create_swf","create_tar","create_tif","create_tiff","create_ts","create_ttf","create_text","create_typescript","create_vsd","create_wav","create_weba","create_webm","create_webp","create_woff","create_woff2","create_xhtml","create_xlsx","create_xls","create_xml","create_xml_txt","create_xul","create_zip","create_3gp","create_3gp2","create_3gp_a","create_3gp_v","create_7z","create_python","create_java","create_react","create_vue","createFileListMiscelanious","listFile","push","createListOfMultiTypeFile","createSyntheticFile","FileIdGenerator","fileListToExtFileArray","fileList","extFileArray","f","fileListToExtFileInstanceArray","isValidateActive","validator","shrinkWord","word","card","newWord","slice","setPrepToUploading","setTimeout","uploadOne","sleepPreparing","preparingTime","prepToUploadOne","uploadOneExtFile","fakeFuiUpload","Math","floor","random","message","payload","getRandomInt","min","max","cleanInput","inputElement","value","addClassName","baseClassName","className","isUploadAbleExtFile","validateFilesFlag","getLocalFileItemData","localFileName","localFileType","localFileSize","separateAccept","acceptItem","trim","validateAccept","charAt","headerMimeFile","tailMimeFile","fileListvalidator","preValidatedFiles","remainingValids","localValidator","localization","output","countdown","ValidationErrorLocalizer","validatedFile","validateFile","maxFileErrorMessenger","Infinity","validateExtFileList","extFileList","localValidatorProps","fileListResult","remaining","currentExtFile","validateExtFile","validatorProps","localErrors","extFileResult","errorsResult","apply","maxFileSizeErrorMessenger","isValid","idGenerated","listOfErrors","makeSyntheticExtFile","ceil","newUpoadStatus","getRandomUploadStatus","customUploadMessage","randInt","extFileMock","XMLHttpRequest","extraData1","extraData2","deleted","addExtraData","formData","extraDataKeys","append","addHeaders","headerKeys","setRequestHeader","TIMEOUT_ERROR_RESPONSE","ABORTED_ERROR_RESPONSE","JSON_PARSE_ERROR_RESPONSE","UNEXPECTED_ERROR_RESPONSE","NO_XHR_PROVIDED_ERROR","makeServerResponse","JsonParseResponse","jsonResponse","JSON","parse","response","makeSuccessUploadResponse","responseFui","makeErrorUploadResponse","uploadFormData","endpoint","data","finalMethod","toUpperCase","upload","ontimeout","onabort","onloadend","e","__awaiter","onreadystatechange","readyState","open","send","uploadExtFile","uploader","localMethod","fileToUpload","FormData","finalExtraData","otherValue","param2","tecnica","friend","age","addExtraDataUpload","_a","uploadFile","label","_this","sent","FuiUpload","unexpectedErrorUploadResult","unableToUploadResult","uploadedFile","completeUploadResult","uploadStatusresult","toUploadableExtFileList","instantPreparingToUploadOne","preparingToUploadOne","sleepTransition","time","sanitizeArrExtFile","arrExtFile","setNextUploadStatus","extFileobj","prevStatus","nextStstaus","NAMED_COLORS","indianred","lightcoral","salmon","darksalmon","lightsalmon","crimson","red","firebrick","darkred","pink","lightpink","hotpink","deeppink","mediumvioletred","palevioletred","coral","tomato","orangered","darkorange","orange","gold","yellow","lightyellow","lemonchiffon","lightgoldenrodyellow","papayawhip","moccasin","peachpuff","palegoldenrod","khaki","darkkhaki","lavender","thistle","plum","violet","orchid","fuchsia","magenta","mediumorchid","mediumpurple","rebeccapurple","blueviolet","darkviolet","darkorchid","darkmagenta","purple","indigo","slateblue","darkslateblue","mediumslateblue","greenyellow","chartreuse","lawngreen","lime","limegreen","palegreen","lightgreen","mediumspringgreen","springgreen","mediumseagreen","seagreen","forestgreen","green","darkgreen","yellowgreen","olivedrab","olive","darkolivegreen","mediumaquamarine","darkseagreen","lightseagreen","darkcyan","teal","aqua","cyan","lightcyan","paleturquoise","aquamarine","turquoise","mediumturquoise","darkturquoise","cadetblue","steelblue","lightsteelblue","powderblue","lightblue","skyblue","lightskyblue","deepskyblue","dodgerblue","cornflowerblue","royalblue","blue","mediumblue","darkblue","navy","midnightblue","cornsilk","blanchedalmond","bisque","navajowhite","wheat","burlywood","tan","rosybrown","sandybrown","goldenrod","darkgoldenrod","peru","chocolate","saddlebrown","sienna","brown","maroon","white","snow","honeydew","mintcream","azure","aliceblue","ghostwhite","whitesmoke","seashell","beige","oldlace","floralwhite","ivory","antiquewhite","linen","lavenderblush","mistyrose","gainsboro","lightgray","silver","darkgray","gray","dimgray","lightslategray","slategray","darkslategray","black","darkerColor","colorInput","percentage","darkedColor","reduce","component1","component2","component3","isHexColor","colourNameToHex","hexTodec","components","replace","parseInt","brighterColor","brightedColor","increase","hexColorToRGB","perc","defaultColor","resultDefault","color","hexArray","colour","toLocaleLowerCase","decArray","letter","indexOf","asureColor","DEFAULT_FONT_COLOR","completeAsureColor","extFileReconcilation","extFileIncomming","arrOfExtFiles","incommingTemp","findIndex","I"],"mappings":"AAIQ,IAAMA,EAAmB,SAACC,GAE9B,GAAKA,EAiBL,OAdIA,EAAW,KACFA,EAAW,SAGhBA,EAAW,SACDA,EAAW,MAAMC,QAAQ,GAAK,MACjCD,EAAW,YACPA,EAAW,KAAQ,MAAMC,QAAQ,GAAK,MAC1CD,EAAW,eACNA,EAAW,KAAQ,KAAQ,MAAMC,QAAQ,GAAK,OAE7CD,EAAW,KAAQ,KAAQ,KAAQ,MAAMC,QAAQ,GAAK,KAI/E,EClBaC,EAA+B,CACxCC,aAAc,2BAEdC,iBAAkB,SAACC,GAAoB,MAAO,yBAAkBA,EAAa,QAAU,EACvFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,kBAAAC,OAAkBF,EAAQ,sBAAAE,OAAqBD,EAAU,EACjGE,eAAgB,kDAChBC,OAAQ,CACJC,UAAW,sCACXC,aAAc,SAACC,GAAW,MAAA,4BAA4BL,OAAAK,EAAQ,GAElEC,OAAQ,CACJC,mBAAoB,cACpBC,eAAgB,SAACC,GAAgB,MAAA,sBAAsBT,OAAAS,EAAa,EACpEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,SAAAZ,OAASW,EAAkB,KAAAX,OAAIY,EAAU,GAElGC,kBAAmB,yCACnBC,gBAAiB,kCAMRC,EAA+B,CACxCC,cAAe,CACXC,KAAM,SACNC,KAAM,eACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,eACVC,UAAW,WACXC,QAAS,WACTC,MAAO,SACPC,OAAQ,aACRC,MAAO,SACPC,QAAQ,eAMFC,EAAoC,CAC9CC,aAAc,SAACC,GAAY,MAAA,gDAAA9B,OAAgDV,EAAiBwC,GAAoB,EAChHC,YAAa,wBACbC,aAAc,SAACpB,GAAa,MAAA,2BAA2BZ,OAAAY,EAAqB,cAAA,GC5CnEqB,EAA8B,CACvCvC,aAAc,2BAEdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,YAAc,EACrFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,0BAAAC,OAA0BF,EAAQ,wBAAAE,OAAuBD,EAAU,EAC3GE,eAAgB,iCAChBC,OAAQ,CACJC,UAAW,mCACXC,aAAc,SAACC,GAAW,MAAA,qBAAqBL,OAAAK,EAAQ,GAE3DC,OAAQ,CACJC,mBAAoB,UACpBC,eAAgB,SAACC,GAAgB,MAAA,mBAAmBT,OAAAS,EAAa,EACjEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,aAAAZ,OAAaW,EAAkB,KAAAX,OAAIY,EAAU,GAEtGC,kBAAmB,0CACnBC,gBAAiB,kCAMRoB,EAA8B,CACvClB,cAAe,CACXC,KAAM,WACNC,KAAM,cACNC,KAAM,aAEVC,OAAQ,CACJC,UAAU,WACVC,UAAW,WACXC,QAAS,SACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,QAAQ,eAMFQ,EAAmC,CAC7CN,aAAc,SAACC,GAAY,MAAA,6DAAA9B,OAA6DV,EAAiBwC,GAAoB,EAC7HC,YAAa,2BACbC,aAAc,SAACpB,GAAa,MAAA,gCAAgCZ,OAAAY,EAAW,IAAA,GC5C9DwB,EAA+B,CACxC1C,aAAc,uBACdC,iBAAkB,SAACC,GAAoB,MAAO,oBAAaA,EAAa,SAAW,EACnFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,mBAAAC,OAAmBF,EAAQ,sBAAAE,OAAqBD,EAAU,EAClGE,eAAgB,2CAChBC,OAAQ,CACJC,UAAW,0BACXC,aAAc,SAACC,GAAW,MAAA,kBAAkBL,OAAAK,EAAQ,GAExDC,OAAQ,CACJC,mBAAoB,eACpBC,eAAgB,SAACC,GAAgB,MAAA,kBAAkBT,OAAAS,EAAa,EAChEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,SAAAZ,OAASW,EAAkB,KAAAX,OAAIY,EAAU,GAElGC,kBAAmB,gCACnBC,gBAAiB,+CAMRuB,EAA+B,CACxCrB,cAAe,CACXC,KAAM,SACNC,KAAM,SACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,YACVC,UAAW,YACXC,QAAS,UACTC,MAAO,QACPC,OAAQ,YACRC,MAAO,QACPC,QAAQ,YAOHW,EAAoC,CAC7CT,aAAc,SAACC,GACX,MAAA,6CAA6C9B,OAAAV,EAAiBwC,GAAoB,EACtFC,YAAa,2BACbC,aAAc,SAACpB,GACX,MAAA,wBAAAZ,OAAwBY,EAA4B,qBAAA,GC9C/C2B,EAA+B,CACxC7C,aAAc,2BAEdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,YAAc,EACrFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,qBAAAC,OAAqBF,EAAQ,2BAAAE,OAA0BD,EAAU,EACzGE,eAAgB,+CAChBC,OAAQ,CACJC,UAAW,uCACXC,aAAc,SAACC,GAAW,MAAA,kCAAkCL,OAAAK,EAAQ,GAExEC,OAAQ,CACJC,mBAAoB,QACpBC,eAAgB,SAACC,GAAgB,MAAA,eAAeT,OAAAS,EAAa,EAC7DC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,YAAAZ,OAAYW,EAAkB,KAAAX,OAAIY,EAAU,GAErGC,kBAAmB,oCACnBC,gBAAiB,6BAMR0B,EAA+B,CACxCxB,cAAe,CACXC,KAAM,WACNC,KAAM,WACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,aACVC,UAAW,WACXC,QAAS,QACTC,MAAO,SACPC,OAAQ,YACRC,MAAO,QACPC,QAAS,YAMJc,EAAoC,CAC7CZ,aAAc,SAACC,GAAY,MAAA,+CAAA9B,OAA+CV,EAAiBwC,GAAoB,EAC/GC,YAAa,+BACbC,aAAc,SAACpB,GAAa,MAAA,gCAAgCZ,OAAAY,EAAqB,cAAA,GC5CxE8B,EAA+B,CACxChD,aAAc,8BACdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,UAAY,EACnFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,qBAAAC,OAAqBF,EAAQ,0BAAAE,OAAyBD,EAAU,EACxGE,eAAgB,kDAChBC,OAAQ,CACJC,UAAW,+BACXC,aAAc,SAACC,GAAW,MAAA,oBAAoBL,OAAAK,EAAQ,GAE1DC,OAAQ,CACJC,mBAAoB,YACpBC,eAAgB,SAACC,GAAgB,MAAA,gBAAgBT,OAAAS,EAAa,EAC9DC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,SAAAZ,OAASW,EAAkB,KAAAX,OAAIY,EAAU,GAElGC,kBAAmB,4BACnBC,gBAAiB,uBAOR6B,EAA+B,CACxC3B,cAAe,CACXC,KAAM,QACNC,KAAM,WACNC,KAAM,SAEVC,OAAQ,CACJC,UAAU,aACVC,UAAW,WACXC,QAAS,QACTC,MAAO,SACPC,OAAQ,YACRC,MAAO,SACPC,QAAQ,eAOHiB,EAAoC,CAC7Cf,aAAc,SAACC,GACX,MAAA,+DAA+D9B,OAAAV,EAAiBwC,GAAoB,EACxGC,YAAa,wBACbC,aAAc,SAACpB,GACX,MAAA,8CAAAZ,OAA8CY,EAAW,IAAA,GC/CpDiC,EAAkC,CAC3CnD,aAAc,4BAEdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,YAAc,EACrFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,sBAAAC,OAAsBF,EAAQ,2BAAAE,OAA0BD,EAAU,EAC1GE,eAAgB,kDAChBC,OAAQ,CACJC,UAAW,wCACXC,aAAc,SAACC,GAAW,MAAA,qBAAqBL,OAAAK,EAAQ,GAE3DC,OAAQ,CACJC,mBAAoB,SACpBC,eAAgB,SAACC,GAAgB,MAAA,mBAAmBT,OAAAS,EAAa,EACjEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,YAAAZ,OAAYW,EAAkB,KAAAX,OAAIY,EAAU,GAErGC,kBAAmB,oCACnBC,gBAAiB,kBAORgC,EAAkC,CAC3C9B,cAAe,CACXC,KAAM,SACNC,KAAM,YACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,aACVC,UAAW,WACXC,QAAS,QACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,OACPC,QAAQ,aAMFoB,EAAuC,CACjDlB,aAAc,SAACC,GAAY,MAAA,qEAAA9B,OAAqEV,EAAiBwC,GAAoB,EACrIC,YAAa,qCACbC,aAAc,SAACpB,GAAa,MAAA,kCAAkCZ,OAAAY,EAAqB,cAAA,GC7C1EoC,EAAyC,CAClDtD,aAAc,YACdC,iBAAkB,SAACC,GAAoB,MAAO,aAAMA,EAAa,OAAS,EAC1EC,eAAgB,SAACC,EAAUC,GAAa,MAAA,QAAAC,OAAQF,EAAQ,UAAAE,OAASD,EAAU,EAC3EE,eAAgB,eAChBC,OAAQ,CACJC,UAAW,WACXC,aAAc,SAACC,GAAW,MAAA,UAAUL,OAAAK,EAAQ,GAEhDC,OAAQ,CACJC,mBAAoB,OACpBC,eAAgB,SAACC,GAAgB,MAAA,UAAUT,OAAAS,EAAa,EACxDC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,MAAAZ,OAAMW,EAAkB,KAAAX,OAAIY,EAAU,GAE/FC,kBAAmB,UACnBC,gBAAiB,SAMRmC,EAAyC,CAClDjC,cAAe,CACXC,KAAM,SACNC,KAAM,OACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,MACVC,UAAW,KACXC,QAAS,KACTC,MAAO,QACPC,OAAQ,SACRC,MAAO,KACPC,QAAQ,OAOHuB,EAA8C,CACvDrB,aAAc,SAACC,GACX,MAAA,oBAAoB9B,OAAAV,EAAiBwC,GAAoB,EAC7DC,YAAa,UACbC,aAAc,SAACpB,GACX,MAAA,aAAAZ,OAAaY,EAAW,IAAA,GC7CnBuC,EAA0C,CACnDzD,aAAc,aACdC,iBAAkB,SAACC,GAAoB,MAAO,YAAKA,EAAa,MAAQ,EACxEC,eAAgB,SAACC,EAAUC,GAAa,MAAA,SAAAC,OAASF,EAAQ,YAAAE,OAAWD,EAAU,EAC9EE,eAAgB,eAChBC,OAAQ,CACJC,UAAW,WACXC,aAAc,SAACC,GAAW,MAAA,SAASL,OAAAK,EAAQ,GAE/CC,OAAQ,CACJC,mBAAoB,OACpBC,eAAgB,SAACC,GAAgB,MAAA,UAAUT,OAAAS,EAAa,EACxDC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,OAAAZ,OAAOW,EAAkB,KAAAX,OAAIY,EAAU,GAEhGC,kBAAmB,UACnBC,gBAAiB,SAMRsC,EAA0C,CACnDpC,cAAe,CACXC,KAAM,SACNC,KAAM,SACNC,KAAM,UAEVC,OAAQ,CACJC,UAAW,MACXC,UAAW,KACXC,QAAS,KACTC,MAAO,OACPC,OAAQ,OACRC,MAAO,KACPC,QAAS,OAOJ0B,EAA+C,CACxDxB,aAAc,SAACC,GACX,MAAA,oBAAoB9B,OAAAV,EAAiBwC,GAAoB,EAC7DC,YAAa,UACbC,aAAc,SAACpB,GACX,MAAA,aAAAZ,OAAaY,EAAW,IAAA,GC3CnB0C,EAAwC,CACjD,QAASd,EACT,QAASH,EACT,QAASH,EACT,QAASnB,EACT,QAAS+B,EACT,QAASH,EACT,QAASM,EACT,QAASG,GAQAG,EAA4B,SAACC,GACtC,OAAQA,GACJ,IAAK,QAAS,OAAOF,EAAkB,SACvC,IAAK,QAOL,QAAS,OAAOA,EAAkB,SANlC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SAG/C,EC5BaG,EAAwC,CACjD,QAASlB,EACT,QAASH,EACT,QAASH,EACT,QAASxC,EACT,QAASoD,EACT,QAASH,EACT,QAASM,EACT,QAASG,GAQAO,EAA4B,SAACF,GACtC,OAAQA,GACJ,IAAK,QAAS,OAAOC,EAAkB,SACvC,IAAK,QAOL,QAAS,OAAOA,EAAkB,SANlC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SAG/C,EC5BaE,EAA6C,CACtD,QAASlB,EACT,QAASH,EACT,QAASH,EACT,QAASP,EACT,QAASmB,EACT,QAASH,EACT,QAASM,EACT,QAASG,GAOAO,EAAiC,SAACJ,GAC3C,OAAKA,GAAU,CAAC,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,SAASK,SAASL,GAG1FG,EAAuBH,GAFnBG,EAAuB,QAGtC,ECvBaG,EAAgB,SAACC,EAAmBC,EAAuBC,GACpE,OAAO,IAAIC,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMC,EAAS,IAAIC,WACnBD,EAAOE,WAAa,WAChBP,SAAAA,GACJ,EACAK,EAAOG,QAAU,WACbP,SAAAA,GACJ,EACAI,EAAOI,OAAS,WACZN,EAAQE,EAAOK,OACnB,EACAL,EAAOP,cAAcC,EACxB,CAAC,MAAOrC,GACL0C,OAAOO,EACV,CACL,GACJ,EAYaC,EAAa,SAACb,EAAmBc,EAAmBb,EAAuBC,GACpF,OAAO,IAAIC,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMU,EAAS,IAAIR,WACnBQ,EAAOL,OAAS,WACZN,EAAQW,EAAOJ,OACnB,EACAI,EAAOP,WAAa,WAChBP,SAAAA,GACJ,EACAc,EAAON,QAAU,WACbP,SAAAA,GACJ,EACAa,EAAOF,WAAWb,EAAMc,GAAsB,SACjD,CAAC,MAAOnD,GACL0C,OAAOO,EACV,CACL,GACJ,EAUaI,EAAqB,SAAChB,EAAmBC,EAAuBC,GACzE,OAAO,IAAIC,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMY,EAAS,IAAIV,WACnBU,EAAOP,OAAS,WACZN,EAAQa,EAAON,OACnB,EACAM,EAAOT,WAAa,WAChBP,SAAAA,GACJ,EACAgB,EAAOR,QAAU,WACbP,SAAAA,GACJ,EACAe,EAAOD,mBAAmBhB,EAC7B,CAAC,MAAOrC,GACL0C,OAAOO,EACV,CACL,GACJ,EAQaM,EAAoB,SAAClB,EAAmBC,EAAuBC,GACxE,OAAO,IAAIC,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMc,EAAS,IAAIZ,WACnBY,EAAOT,OAAS,WACZN,EAAQe,EAAOR,OACnB,EACAQ,EAAOX,WAAa,WAChBP,SAAAA,GACJ,EACAkB,EAAOV,QAAU,WACbP,SAAAA,GACJ,EACAiB,EAAOD,kBAAkBlB,EAC5B,CAAC,MAAOrC,GACL0C,OAAOO,EACV,CACL,GACJ,WCpGgBQ,EACZC,EACAC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAc,UACd,IAAAC,IAAAA,EAAe,KAER,IAAIpB,SAAQ,SAACC,EAASC,GACzB,IACI,IAAImB,EAAwB,IAAIC,MAChCD,EAAIE,IAAML,EACVG,EAAId,OAAS,WACT,IAAIiB,EAA4BC,SAASC,cAAc,UACjDC,EAAoBR,EACpBS,EAAqBR,EACvBS,EAAgBR,EAAIQ,MACpBC,EAAiBT,EAAIS,OAErBX,EAAWU,GAAST,EAAYU,EAChC7B,EAAQiB,GAEJW,EAAQC,EACJD,EAAQF,IACRG,GAAUH,EAAYE,EACtBA,EAAQF,GAGRG,EAASF,IACTC,GAASD,EAAaE,EACtBA,EAASF,GAGrBJ,EAAOK,MAAQA,EACfL,EAAOM,OAASA,EAChB,IAAIC,EAAuCP,EAAOQ,WAAW,MACzDD,GACAA,EAAIE,UAAUZ,EAAK,EAAG,EAAGQ,EAAOC,GAChC7B,EAAQuB,EAAOU,eAGc,gBAAzBC,QAAQC,IAAIC,UACZC,QAAQ9E,MAAM,mDAElB0C,OAAOO,GAEf,CACH,CAAC,MAAOjD,GACwB,gBAAzB2E,QAAQC,IAAIC,UACZC,QAAQ9E,MAAM,mDAElB0C,OAAOO,EACV,CACL,GACJ,CCnDM,SAAU8B,EACZC,GAEA,OAAO,IAAIxC,SAAQ,SAACC,EAASC,GAEzB,GAAKsC,GAAsC,IAAvBA,EAAYC,OAMhC,IAGI,IAAIpB,EAAwB,IAAIC,MAChCD,EAAIE,IAAMiB,EACVnB,EAAIf,QAAU,SAACoC,GAEXxC,EAAO,YACX,EACAmB,EAAId,OAAS,WACT,IAAIsB,EAAgBR,EAAIQ,MACpBC,EAAiBT,EAAIS,OAErB7B,EADA4B,EAAQC,EACA,YAEA,WAEhB,CACH,CAAC,MAAOtE,GAGwB,gBAAzB2E,QAAQC,IAAIC,UACZC,QAAQ9E,MAAM,6DAElB0C,EAAO,YACV,MA5BGA,EAAO,YA6Bf,GACJ,CC/CO,IAAMyC,EAAW,wGACXC,EAAM,wGACNC,EAAM,wGACNC,EAAQ,wGACRC,EAAM,wGACNC,EAAM,wGACNC,EAAM,wGACNC,EAAK,wGACLC,EAAM,wGAENC,EAAM,wGACNC,EAAM,wGACNC,EAAM,wGACNC,EAAM,wGACNC,EAAO,wGAEPC,EAAS,wGAGTC,EAAM,wGAENC,EAAO,wGACPC,GAAU,wGACVC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAY,wGAGZC,GAAO,wGACPC,GAAM,wGACNC,GAAa,wGACbC,GAAO,wGAEPC,GAAO,wGACPC,GAAS,wGACTC,GAAO,wGAEPC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAQ,wGACRC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGAGPC,GAAM,wGAGNC,GAAS,wGACTC,GAAM,wGACNC,GAAM,wGACNC,GAAQ,wGAERC,GAAM,wGACNC,GAAO,wGAEPC,GAAK,wGACLC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAM,wGACNC,GAAa,wGAEbC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAO,wGACPC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGAEPC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGCnFLC,GAAS,SAACC,GACpB,IACM5G,EADK,kBACO6G,KAAKD,GACvB,OAAI5G,EACOA,EAAO,GAEP,EAGf,ECSM8G,GAA+B,QAMxBC,GAAgB,SAACC,GAC1B,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,OACL,IAAK,SAAU,MAAO,OACtB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OAIpB,IAAK,MAAO,MAAO,MACnB,QAAS,OAAOF,GAExB,EACaG,GAAe,SAACD,GACzB,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,WAAY,MAAO,YACxB,IAAK,aACL,IAAK,eAAgB,MAAO,aAC5B,IAAK,QAAS,MAAO,OACrB,IAAK,MAAO,MAAO,MACnB,QAAS,OAAOF,GAGxB,EACaI,GAAgB,SAACF,GAC1B,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MAGnB,IAAK,MACL,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MAGnB,IAAK,OAAQ,MAAO,OACpB,IAAK,OAAQ,MAAO,OACpB,QAAS,OAAOF,GAGxB,EACaK,GAAe,SAACH,GACzB,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MACnB,IAAK,OACL,IAAK,QAAS,MAAO,OACrB,QAAS,OAAOF,GAGxB,EAEaM,GAAgB,SAACJ,GAC1B,OAAQA,GACJ,IAAK,YACL,IAAK,UACL,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MAEnB,IAAK,OAAQ,MAAO,OAIpB,QAAS,OAAOF,GAExB,EAMaO,GAAsB,SAACL,GAChC,OAAQA,GACJ,IAAK,YACL,IAAK,UAAW,MAAO,MACvB,IAAK,YACL,IAAK,UAAW,MAAO,MACvB,IAAK,mBAAoB,MAAO,MAChC,IAAK,eAAgB,MAAO,QAC5B,IAAK,SAEL,IAAK,OAAQ,MAAO,KADpB,IAAK,UAEL,IAAK,QAAS,MAAO,MACrB,IAAK,QAAS,MAAO,MACrB,IAAK,WAAY,MAAO,QACxB,IAAK,MACL,IAAK,QAAS,MAAO,MACrB,IAAK,oBAAqB,MAAO,MACjC,IAAK,WAAY,MAAO,OACxB,IAAK,OAAQ,MAAO,OACpB,IAAK,eAAgB,MAAO,MAC5B,IAAK,eAAgB,MAAO,aAC5B,IAAK,OAAQ,MAAO,OACpB,IAAK,UAAW,MAAO,SACvB,IAAK,0BAA2B,MAAO,OACvC,IAAK,MAAO,MAAO,MACnB,IAAK,UAAW,MAAO,MACvB,IAAK,MAAO,MAAO,MACnB,IAAK,OACL,IAAK,KAAM,MAAO,KAClB,IAAK,oBAAqB,MAAO,MACjC,IAAK,QAAS,MAAO,MACrB,IAAK,cAAe,MAAO,MAC3B,IAAK,YAAa,MAAO,MACzB,IAAK,YAAa,MAAO,QACzB,IAAK,MAAO,MAAO,MACnB,IAAK,sBAAuB,MAAO,MACnC,IAAK,8DACL,IAAK,SAAU,MAAO,OACtB,IAAK,wDAAyD,MAAO,OACrE,IAAK,gEACL,IAAK,oBAAqB,MAAO,OACjC,IAAK,sCAAuC,MAAO,MACnD,IAAK,8BAA+B,MAAO,MAC3C,IAAK,qCAAsC,MAAO,MAClD,IAAK,MACL,IAAK,mBAAoB,MAAO,MAChC,IAAK,MAAO,MAAO,MACnB,QAAS,OAAOF,GAExB,EAOaQ,GAAe,SAACC,GAEzB,IAAKA,IAAaA,EAASpI,SAAS,KAChC,OAAO2H,GAEX,IAAIU,EAAaD,EAASE,MAAM,KAAK,GACjCT,EAAWO,EAASE,MAAM,KAAK,GAMnC,OAAQD,GACJ,IAAK,cAAe,OAAOH,GAAoBL,GAC/C,IAAK,QAAS,OAAOD,GAAcC,GACnC,IAAK,QAAS,OAAOI,GAAcJ,GACnC,IAAK,OAAQ,OAAOC,GAAaD,GACjC,IAAK,QAAS,OAAOE,GAAcF,GACnC,IAAK,OAAQ,OAAOG,GAAaH,GAEjC,QAAS,OAAOF,GAExB,EAQaY,GAAoB,SAACC,GAC9B,IAAIC,EAA8B,QA6BlC,OA3BID,GAA2B,KAAdA,IACTA,EAAUxI,SAAS,QAAUwI,EAAUxI,SAAS,OAChDyI,EAAc,MACPD,EAAUxI,SAAS,OAC1ByI,EAAc,OACPD,EAAUxI,SAAS,OAC1ByI,EAAc,OACPD,EAAUxI,SAAS,UAC1ByI,EAAc,SACPD,EAAUxI,SAAS,OAC1ByI,EAAc,MACPD,EAAUxI,SAAS,OAC1ByI,EAAc,MACO,QAAdD,EACPC,EAAc,QACO,OAAdD,EACPC,EAAc,SACO,QAAdD,EACPC,EAAc,MACO,SAAdD,EACPC,EAAc,OACO,OAAdD,EACPC,EAAc,aACO,SAAdD,GAAsC,SAAdA,IAC/BC,EAAc,SAGfA,CAEX,EAMaC,GAAc,SAACF,GACxB,IAAIC,EAA8B,OAoBlC,OAnBID,GAA2B,KAAdA,IACK,QAAdA,EACAC,EAAc,QACO,OAAdD,EACPC,EAAc,SACO,QAAdD,EACPC,EAAc,MACO,SAAdD,EACPC,EAAc,OACO,OAAdD,GAAoC,QAAdA,EAC7BC,EAAc,aACO,OAAdD,EACPC,EAAc,aACO,QAAdD,EACPC,EAAc,MACO,QAAdD,IACPC,EAAc,QAGfA,CACX,EAQaE,GAAgB,SACzBzI,EACA0I,GAGA,IAAI/H,EAAyB,WAE7B,IAAKX,EAED,OADAW,EAAS8G,IACLiB,aAAA,EAAAA,EAAaC,UACN,CAAEC,IAAKF,aAAW,EAAXA,EAAaC,SAAUE,WAAYlI,GAE9C,CAAEiI,IAAKE,GAAYnI,GAASkI,WAAYlI,GAE/CA,EAASsH,GAAajI,EAAK5C,MAG/B,IAAM2L,EAAoBzB,GAAOtH,EAAK9C,MAEvB,SAAXyD,IACAA,EAAS6H,GAAYO,IAIrBpI,IAAW8G,KACX9G,EAAS0H,GAAkBU,IAG/B,IAAMC,EAAYN,eAAAA,EAAc/H,GAChC,YAAkBC,IAAdoI,EACO,CAAEJ,IAAKI,EAAWH,WAAYlI,GAGlC,CAAEiI,IAAKE,GAAYnI,GAASkI,WAAYlI,EACnD,EAMasI,GAA+B,SACxC/L,EACAE,EACAsL,GAGA,IAAI/H,EAAyB,QAE7B,IAAKzD,EAED,OADAyD,EAAS8G,IACLiB,aAAA,EAAAA,EAAaC,UACN,CAAEC,IAAKF,aAAW,EAAXA,EAAaC,SAAUE,WAAYlI,GAC9C,CAAEiI,IAAKE,GAAYnI,GAASkI,WAAYlI,GAE/CA,EAASsH,GAAa7K,GAG1B,IAAM2L,EAAoBzB,GAAOpK,GAElB,SAAXyD,IACAA,EAAS6H,GAAYO,IAIrBpI,IAAW8G,KACX9G,EAAS0H,GAAkBU,IAE/B,IAAMC,EAAYN,eAAAA,EAAc/H,GAChC,YAAkBC,IAAdoI,EACO,CAAEJ,IAAKI,EAAWH,WAAYlI,GAElC,CAAEiI,IAAKE,GAAYnI,GAASkI,WAAYlI,EACnD,EAcMmI,GAA4B,CAC9B/F,IAAKA,EACLE,MAAOA,EACPD,IAAKA,EACLkG,IAAKnF,GACLb,IAAKA,EACLC,IAAKA,EACL4B,MAAOA,GACP3B,IAAKA,EACLC,GAAIA,EACJC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,KAAMA,EACNC,OAAQA,EACRC,IAAKA,EACLC,KAAMA,EACNG,KAAMA,GACND,IAAKA,GACLE,KAAMA,GAENC,UAAWA,GACXE,IAAKA,GACLE,KAAMA,GACND,WAAYA,GACZE,KAAMA,GACNC,OAAQA,GACRC,KAAMA,GAENC,IAAKA,GACLC,IAAKA,GACLC,KAAMA,GACNC,KAAMA,GACNqE,KAAMpE,GACNC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,KAAMA,GACNC,IAAKA,GACLG,IAAKA,GACLF,IAAKA,GACLC,IAAKA,GACLE,KAAMA,GACNC,IAAKA,GACLG,IAAKA,GACLE,IAAKA,GACLC,KAAMA,GACNC,GAAIA,GAEJC,IAAKA,GACLN,IAAKA,GACLQ,KAAMA,GACNC,IAAKA,GAELC,WAAYA,GACZH,KAAMA,GACNI,IAAKA,GACLE,IAAKA,GACLE,KAAMA,GACND,KAAMA,GACNE,KAAMA,GACNG,KAAMA,GACNF,IAAKA,GACLC,IAAKA,GACLoC,MAAOlF,GACPgD,KAAMA,GACNC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GAELvE,SAAUA,EACV+C,OAAQA,GACRzB,KAAMA,GACN4B,MAAOA,GACPU,IAAKA,GAGLiC,SAAU5D,ICvVdsE,GAAA,WAuEI,SAAAA,EAAYC,GAEJ,IAAAC,EAgBAD,KAfAtJ,EAeAsJ,EAAOtJ,KAdP9C,EAcAoM,EAAOpM,KAbPC,EAaAmM,EAbInM,KACJC,EAYAkM,EAZIlM,KACJoM,EAWAF,WAVA7L,EAUA6L,QATAG,EASAH,EAAOG,OARPC,EAQAJ,EAAOI,cAPPC,EAOAL,EAPYK,aACZC,EAMAN,EANQM,SACRC,EAKAP,MAJAQ,EAIAR,EAAOQ,UAHPC,EAGAT,EAAOS,gBAFPC,EAEAV,EAFcU,eACdC,EACAX,EADWW,YAAEC,EACbZ,WAEJa,KAAKZ,GAAKA,EACVY,KAAKnK,KAAOA,EACZmK,KAAKjN,KAAOA,EACZiN,KAAKhN,KAAOA,EACZgN,KAAK/M,KAAOA,EACZ+M,KAAKX,SAAWA,EAEhBW,KAAK1M,MAAQA,EACb0M,KAAKV,OAASA,EACdU,KAAKR,aAAeA,EACpBQ,KAAKT,cAAgBA,EACrBS,KAAKP,SAAWA,EAChBO,KAAKN,IAAMA,EAEXM,KAAKL,UAAYA,EACjBK,KAAKJ,gBAAkBA,EACvBI,KAAKH,eAAiBA,EAEtBG,KAAKF,YAAcA,EACnBE,KAAKD,SAAWA,CACnB,CA+CL,OAlCWb,EAASe,UAAhB,SAAiBC,GAOb,IAJA,IAAIC,EAAwB,CAAA,EACtBC,EAAsBC,OAAOC,KAAKJ,GAClCK,EAAwBF,OAAOG,OAAON,GAEnCO,EAAI,EAAGA,EAAIF,EAAsB9H,OAAQgI,IAAK,CACnD,IAAMC,EAAuCH,EAAsBE,GAG7DE,EAAUP,EAAoBK,QACfhK,IAAjBiK,IAEAP,EAAaQ,GAAWD,EAE/B,CAGD,OAAOP,GAMXjB,EAAA0B,UAAAX,UAAA,WACI,OAAOf,EAAgBe,UAAUD,OAQxCd,CAAD,2vDCtPA,IAAA2B,GAAA,WAAA,SAAAA,IAkOC,CAAD,OA3NkBA,EAAAC,UAAd,WAEI,OADAD,EAAeE,SACRF,EAAeE,QAQZF,EAAAG,YAAd,SACI5B,EACA6B,GAEA,OAAK7B,GAGDyB,EAAeK,UAAU9B,GAAU+B,GAAA,GAAAF,MAE5B7B,GAJA,GAYDyB,EAAAO,kBAAd,WACI,IAAML,EAAiBF,EAAeC,YAGtC,OAFAD,EAAeK,UAAUH,GAAU,GAE5BA,GAOGF,EAAiBQ,kBAA/B,SAAgCjC,GAC5B,IAAKA,EACD,OAAO,EAEP,IAEI,OADAyB,EAAeK,UAAU9B,QAAM3I,EACxB2I,CACV,CAAC,MAAO5L,GAGL,MAF6B,gBAAzB2E,QAAQC,IAAIC,UACZC,QAAQ9E,MAAM,kBAAmBA,GAC9B,CACV,GAQKqN,EAAsBS,uBAApC,SACIlC,GAEA,IACI,IAAKA,EACD,OAEJ,OAAOyB,EAAeK,UAAU9B,EACnC,CAAC,MAAO5L,GAGL,YAF6B,gBAAzB2E,QAAQC,IAAIC,UACZC,QAAQ9E,MAAM,kCAAmCA,GAExD,GAeSqN,EAAuBU,wBAArC,SACIC,EACAC,EACAC,EACAC,GAIA,GAA4B,iBAAfH,GAAiD,iBAAfA,EAG/C,IAEI,IAAII,EAGAC,EAAaV,GAAA,GAAkBM,GAAU,GAGzCE,GAAiBD,IAEjBG,EAAgBA,EAAcC,QAAO,SAAA3C,GAAW,OAAAA,EAAQ7L,KAAR,KAqCpDsO,GA1BIC,EALAH,EAMIG,EACKE,KAAI,SAAA5C,GACD,MAA6B,YAAzBA,EAAQK,cAA8BL,EAAQ7L,MAC9C0O,GAAAA,GAAA,GAAY7C,GAAO,CAAEK,aAAc,cAEnCwC,GAAA,GAAY7C,EAEpB,IAKJ0C,EACKE,KAAI,SAAA5C,GACD,MAA6B,YAAzBA,EAAQK,aACRwC,GAAAA,GAAA,GAAY7C,GAAO,CAAEK,aAAc,cAEnCwC,GAAA,GAAY7C,EAEpB,KAMkB4C,KAAI,SAAAE,GAAK,OAAA,IAAI/C,GAAgB+C,EAApB,IAGrBpB,EAAeG,YAAYQ,EAAYI,GAGzD,OAAOA,CAEV,CAAC,MAAOpO,GAGL,YAF6B,gBAAzB2E,QAAQC,IAAIC,UACZC,QAAQ9E,MAAM,4CAA6CA,GAElE,GAmBSqN,EAAwBqB,yBAAtC,SACIV,EACAC,EACAC,EACAC,GAKA,OAFAd,EAAeG,YAAYQ,EAAYC,EAAWM,KAAI,SAAAE,GAAK,OAAA,IAAI/C,GAAe8C,GAAAA,GAAA,CAAA,EAAMC,GAAC,CAAEzC,aAAc,cAAc,KAE5GqB,EAAeS,uBAAuBE,IA5LlCX,EAAME,OAAW,EACzBF,EAASK,UAA2D,GAgO9EL,CAAA,IC/KYsB,GAAqB,SAC9B1D,EACA2D,EACAC,EACAC,EACAC,GAEA,MAAO,CACH9D,IAAGA,EACH2D,OAAMA,EACNC,QAAOA,EACPC,YAAWA,EACXC,cAAaA,EAErB,EC9DAC,GAAA,WAAA,SAAAA,IAmyBC,CAAD,OA3xBWA,EAAAC,WAAa,SAAC1P,EAAcC,EAAcC,GAC7C,IAAM4C,EAAO,IAAI6M,KAAK,GAAI3P,EAAM,CAAEE,KAAIA,IAMtC,OALAoN,OAAOsC,eAAe9M,EAAM,OAAQ,CAChC+M,IAAG,WACC,OAAO5P,CACV,IAEE6C,CACX,EAMO2M,EAAUK,WAAG,SAAC7P,GACjB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,YACjG,EAMOwP,EAAUM,WAAG,SAAC9P,GACjB,OAAOwP,EAAcC,WAAW,mCAAoCzP,GAAc,QAAS,wBAC/F,EAMOwP,EAAcO,eAAG,SAAC/P,GACrB,OAAOwP,EAAcC,WAAW,mCAAoCzP,GAAc,QAAS,wBAC/F,EAMOwP,EAAUQ,WAAG,SAAChQ,GACjB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,kBAC3F,EAMOwP,EAAUS,WAAG,SAACjQ,GACjB,OAAOwP,EAAcC,WAAW,+CAAgDzP,GAAc,QAAS,+BAC3G,EAMOwP,EAAYU,aAAG,SAAClQ,GACnB,OAAOwP,EAAcC,WAAW,+CAAgDzP,GAAc,QAAS,2BAC3G,EAMOwP,EAAUW,WAAG,SAACnQ,GACjB,OAAOwP,EAAcC,WAAW,mCAAoCzP,GAAc,QAAS,YAC/F,EAMOwP,EAASY,UAAG,SAACpQ,GAChB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,qBAC7F,EAMOwP,EAAUa,WAAG,SAACrQ,GACjB,OAAOwP,EAAcC,WAAW,oCAAqCzP,GAAc,QAAS,sBAChG,EAMOwP,EAAUc,WAAG,SAACtQ,GACjB,OAAOwP,EAAcC,WAAW,oCAAqCzP,GAAc,QAAS,oBAChG,EAMOwP,EAAUe,WAAG,SAACvQ,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,oBAC5F,EAMOwP,EAAUgB,WAAG,SAACxQ,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,WAC5F,EAMOwP,EAAUiB,WAAG,SAACzQ,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,WAC5F,EAMOwP,EAAUkB,WAAG,SAAC1Q,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,qBAC5F,EAMOwP,EAAWmB,YAAG,SAAC3Q,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,0EAC7F,EAMOwP,EAAUoB,WAAG,SAAC5Q,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,gCAC5F,EAMOwP,EAAWqB,YAAG,SAAC7Q,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,uBAC7F,EAMOwP,EAAWsB,YAAG,SAAC9Q,GAClB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,mBAC3F,EAMOwP,EAAUuB,WAAG,SAAC/Q,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,YAC5F,EAMOwP,EAAUwB,WAAG,SAAChR,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,YAC5F,EAMOwP,EAAWyB,YAAG,SAACjR,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,YAC7F,EAMOwP,EAAU0B,WAAG,SAAClR,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,2BAC5F,EAMOwP,EAAgB2B,iBAAG,SAACnR,GACvB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,gBAC5F,EAMOwP,EAAU4B,WAAG,SAACpR,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,2BAC5F,EAMOwP,EAAW6B,YAAG,SAACrR,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,aAC7F,EAMOwP,EAAU8B,WAAG,SAACtR,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,aAC5F,EAMOwP,EAAS+B,UAAG,SAACvR,GAChB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,kBAC3F,EAMOwP,EAAWgC,YAAG,SAACxR,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,mBAC7F,EAMOwP,EAAaiC,cAAG,SAACzR,GACpB,OAAOwP,EAAcC,WAAW,mCAAoCzP,GAAc,QAAS,sBAC/F,EAMOwP,EAAUkC,WAAG,SAAC1R,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,aAC5F,EAMOwP,EAAYmC,aAAG,SAAC3R,GACnB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,eAC5F,EAMOwP,EAAWoC,YAAG,SAAC5R,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,eAC7F,EAMOwP,EAAaqC,cAAG,SAAC7R,GACpB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,eAC7F,EAMOwP,EAAUsC,WAAG,SAAC9R,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,kBAC5F,EAMOwP,EAAUuC,WAAG,SAAC/R,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,aAC5F,EAMOwP,EAAUwC,WAAG,SAAChS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,YAC5F,EAMOwP,EAAWyC,YAAG,SAACjS,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,aAC7F,EAMOwP,EAAW0C,YAAG,SAAClS,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,sCAC7F,EAMOwP,EAAU2C,WAAG,SAACnS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,kDAC5F,EAMOwP,EAAU4C,WAAG,SAACpS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,iDAC5F,EAMOwP,EAAU6C,WAAG,SAACrS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,0CAC5F,EAMOwP,EAAU8C,WAAG,SAACtS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,YAC5F,EAMOwP,EAAU+C,WAAG,SAACvS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,YAC5F,EAMOwP,EAAUgD,WAAG,SAACxS,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,kBAC5F,EAMOwP,EAAWiD,YAAG,SAACzS,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,aAC7F,EAMOwP,EAAUkD,WAAG,SAAC1S,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,WAC5F,EAMOwP,EAAUmD,WAAG,SAAC3S,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,YAC5F,EAMOwP,EAAUoD,WAAG,SAAC5S,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,kBAC5F,EAMOwP,EAAUqD,WAAG,SAAC7S,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,0BAC5F,EAMOwP,EAAUsD,WAAG,SAAC9S,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,gCAC5F,EAMOwP,EAAWuD,YAAG,SAAC/S,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,4EAC7F,EAMOwP,EAAUwD,WAAG,SAAChT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,sBAC5F,EAMOwP,EAAUyD,WAAG,SAACjT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,kBAC5F,EAMOwP,EAAS0D,UAAG,SAAClT,GAChB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,mBAC3F,EAMOwP,EAAU2D,WAAG,SAACnT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,gBAC5F,EAMOwP,EAAU4D,WAAG,SAACpT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,gCAC5F,EAMOwP,EAAU6D,WAAG,SAACrT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,oBAC5F,EAMOwP,EAAU8D,WAAG,SAACtT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,aAC5F,EAMOwP,EAAW+D,YAAG,SAACvT,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,aAC7F,EAMOwP,EAASgE,UAAG,SAACxT,GAChB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,aACjG,EAMOwP,EAAUiE,WAAG,SAACzT,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,WAC5F,EAMOwP,EAAWkE,YAAG,SAAC1T,GAClB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,aAC5F,EAMOwP,EAAiBmE,kBAAG,SAAC3T,GACxB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,aACjG,EAMOwP,EAAUoE,WAAG,SAAC5T,GACjB,OAAOwP,EAAcC,WAAW,oCAAqCzP,GAAc,QAAS,wBAChG,EAMOwP,EAAUqE,WAAG,SAAC7T,GACjB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,YACjG,EAMOwP,EAAWsE,YAAG,SAAC9T,GAClB,OAAOwP,EAAcC,WAAW,sCAAuCzP,GAAc,QAAS,aAClG,EAMOwP,EAAWuE,YAAG,SAAC/T,GAClB,OAAOwP,EAAcC,WAAW,sCAAuCzP,GAAc,QAAS,aAClG,EAMOwP,EAAWwE,YAAG,SAAChU,GAClB,OAAOwP,EAAcC,WAAW,sCAAuCzP,GAAc,QAAS,aAClG,EAMOwP,EAAWyE,YAAG,SAACjU,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,YAC7F,EAMOwP,EAAY0E,aAAG,SAAClU,GACnB,OAAOwP,EAAcC,WAAW,kCAAmCzP,GAAc,QAAS,aAC9F,EAMOwP,EAAY2E,aAAG,SAACnU,GACnB,OAAOwP,EAAcC,WAAW,kCAAmCzP,GAAc,QAAS,wBAC9F,EAMOwP,EAAW4E,YAAG,SAACpU,GAClB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,2BAC5F,EAMOwP,EAAU6E,WAAG,SAACrU,GACjB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,oEAC7F,EAMOwP,EAAU8E,WAAG,SAACtU,GACjB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,kBAC3F,EAMOwP,EAAc+E,eAAG,SAACvU,GACrB,OAAOwP,EAAcC,WAAW,0CAA2CzP,GAAc,QAAS,kBACtG,EAMOwP,EAAUgF,WAAG,SAACxU,GACjB,OAAOwP,EAAcC,WAAW,gCAAiCzP,GAAc,QAAS,kCAC5F,EAMOwP,EAAUiF,WAAG,SAACzU,GACjB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,kBAC3F,EAMOwP,EAAUkF,WAAG,SAAC1U,GACjB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,aACjG,EAMOwP,EAAWmF,YAAG,SAAC3U,GAClB,OAAOwP,EAAcC,WAAW,sCAAuCzP,GAAc,QAAS,cAClG,EAMOwP,EAAYoF,aAAG,SAAC5U,GACnB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,aACjG,EAMOwP,EAAYqF,aAAG,SAAC7U,GACnB,OAAOwP,EAAcC,WAAW,sCAAuCzP,GAAc,QAAS,cAClG,EAMOwP,EAASsF,UAAG,SAAC9U,GAChB,OAAOwP,EAAcC,WAAW,oCAAqCzP,GAAc,QAAS,8BAChG,EAMOwP,EAAauF,cAAG,SAAC/U,GACpB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,aAC7F,EAMOwP,EAAWwF,YAAG,SAAChV,GAClB,OAAOwP,EAAcC,WAAW,iCAAkCzP,GAAc,QAAS,aAC7F,EAMOwP,EAAYyF,aAAG,SAACjV,GACnB,OAAOwP,EAAcC,WAAW,qCAAsCzP,GAAc,QAAS,aACjG,EAMOwP,EAAU0F,WAAG,SAAClV,GACjB,OAAOwP,EAAcC,WAAW,+BAAgCzP,GAAc,QAAS,aAC3F,EAMOwP,EAA0B2F,2BAAG,SAACnV,GAEjC,IAAIoV,EAAmB,GAyFvB,OAvFAA,EAASC,KAAK7F,EAAcK,WAAW7P,IACvCoV,EAASC,KAAK7F,EAAcM,WAAW9P,IACvCoV,EAASC,KAAK7F,EAAcO,eAAe/P,IAC3CoV,EAASC,KAAK7F,EAAcQ,WAAWhQ,IACvCoV,EAASC,KAAK7F,EAAcS,WAAWjQ,IACvCoV,EAASC,KAAK7F,EAAcU,aAAalQ,IACzCoV,EAASC,KAAK7F,EAAcW,WAAWnQ,IACvCoV,EAASC,KAAK7F,EAAcY,UAAUpQ,IACtCoV,EAASC,KAAK7F,EAAca,WAAWrQ,IACvCoV,EAASC,KAAK7F,EAAcc,WAAWtQ,IACvCoV,EAASC,KAAK7F,EAAce,WAAWvQ,IACvCoV,EAASC,KAAK7F,EAAcgB,WAAWxQ,IACvCoV,EAASC,KAAK7F,EAAciB,WAAWzQ,IACvCoV,EAASC,KAAK7F,EAAckB,WAAW1Q,IACvCoV,EAASC,KAAK7F,EAAcmB,YAAY3Q,IACxCoV,EAASC,KAAK7F,EAAcoB,WAAW5Q,IACvCoV,EAASC,KAAK7F,EAAcqB,YAAY7Q,IACxCoV,EAASC,KAAK7F,EAAcsB,YAAY9Q,IACxCoV,EAASC,KAAK7F,EAAcuB,WAAW/Q,IACvCoV,EAASC,KAAK7F,EAAcwB,WAAWhR,IACvCoV,EAASC,KAAK7F,EAAcyB,YAAYjR,IACxCoV,EAASC,KAAK7F,EAAc0B,WAAWlR,IACvCoV,EAASC,KAAK7F,EAAc2B,iBAAiBnR,IAC7CoV,EAASC,KAAK7F,EAAc4B,WAAWpR,IACvCoV,EAASC,KAAK7F,EAAc6B,YAAYrR,IACxCoV,EAASC,KAAK7F,EAAc8B,WAAWtR,IACvCoV,EAASC,KAAK7F,EAAc+B,UAAUvR,IACtCoV,EAASC,KAAK7F,EAAcgC,YAAYxR,IACxCoV,EAASC,KAAK7F,EAAciC,cAAczR,IAC1CoV,EAASC,KAAK7F,EAAckC,WAAW1R,IACvCoV,EAASC,KAAK7F,EAAcoC,YAAY5R,IACxCoV,EAASC,KAAK7F,EAAcmC,aAAa3R,IACzCoV,EAASC,KAAK7F,EAAcqC,cAAc7R,IAC1CoV,EAASC,KAAK7F,EAAcsC,WAAW9R,IACvCoV,EAASC,KAAK7F,EAAcuC,WAAW/R,IACvCoV,EAASC,KAAK7F,EAAcwC,WAAWhS,IACvCoV,EAASC,KAAK7F,EAAcyC,YAAYjS,IACxCoV,EAASC,KAAK7F,EAAc0C,YAAYlS,IACxCoV,EAASC,KAAK7F,EAAc2C,WAAWnS,IACvCoV,EAASC,KAAK7F,EAAc4C,WAAWpS,IACvCoV,EAASC,KAAK7F,EAAc6C,WAAWrS,IACvCoV,EAASC,KAAK7F,EAAc8C,WAAWtS,IACvCoV,EAASC,KAAK7F,EAAc+C,WAAWvS,IACvCoV,EAASC,KAAK7F,EAAcgD,WAAWxS,IACvCoV,EAASC,KAAK7F,EAAciD,YAAYzS,IACxCoV,EAASC,KAAK7F,EAAckD,WAAW1S,IACvCoV,EAASC,KAAK7F,EAAcmD,WAAW3S,IACvCoV,EAASC,KAAK7F,EAAcoD,WAAW5S,IACvCoV,EAASC,KAAK7F,EAAcqD,WAAW7S,IACvCoV,EAASC,KAAK7F,EAAcsD,WAAW9S,IACvCoV,EAASC,KAAK7F,EAAcuD,YAAY/S,IACxCoV,EAASC,KAAK7F,EAAcwD,WAAWhT,IACvCoV,EAASC,KAAK7F,EAAcyD,WAAWjT,IACvCoV,EAASC,KAAK7F,EAAc0D,UAAUlT,IACtCoV,EAASC,KAAK7F,EAAc2D,WAAWnT,IACvCoV,EAASC,KAAK7F,EAAc4D,WAAWpT,IACvCoV,EAASC,KAAK7F,EAAc6D,WAAWrT,IACvCoV,EAASC,KAAK7F,EAAc8D,WAAWtT,IACvCoV,EAASC,KAAK7F,EAAc+D,YAAYvT,IACxCoV,EAASC,KAAK7F,EAAcgE,UAAUxT,IACtCoV,EAASC,KAAK7F,EAAciE,WAAWzT,IACvCoV,EAASC,KAAK7F,EAAckE,YAAY1T,IACxCoV,EAASC,KAAK7F,EAAcmE,kBAAkB3T,IAC9CoV,EAASC,KAAK7F,EAAcoE,WAAW5T,IACvCoV,EAASC,KAAK7F,EAAcqE,WAAW7T,IACvCoV,EAASC,KAAK7F,EAAcsE,YAAY9T,IACxCoV,EAASC,KAAK7F,EAAcuE,YAAY/T,IACxCoV,EAASC,KAAK7F,EAAcwE,YAAYhU,IACxCoV,EAASC,KAAK7F,EAAcyE,YAAYjU,IACxCoV,EAASC,KAAK7F,EAAc0E,aAAalU,IACzCoV,EAASC,KAAK7F,EAAc2E,aAAanU,IACzCoV,EAASC,KAAK7F,EAAc4E,YAAYpU,IACxCoV,EAASC,KAAK7F,EAAc6E,WAAWrU,IACvCoV,EAASC,KAAK7F,EAAc8E,WAAWtU,IACvCoV,EAASC,KAAK7F,EAAc+E,eAAevU,IAC3CoV,EAASC,KAAK7F,EAAcgF,WAAWxU,IACvCoV,EAASC,KAAK7F,EAAciF,WAAWzU,IAMvCoV,EAASC,KAAK7F,EAAcuF,cAAc/U,IAC1CoV,EAASC,KAAK7F,EAAcwF,YAAYhV,IACxCoV,EAASC,KAAK7F,EAAcyF,aAAajV,IACzCoV,EAASC,KAAK7F,EAAc0F,WAAWlV,IAEhCoV,CACX,EACH5F,CAAA,IAOY8F,GAA4B,SAACtV,GACtC,OAAOwP,GAAc2F,2BAA2BnV,EACpD,EAUauV,GAAsB,SAC/BxV,EACAC,EACAC,GAEA,YAJA,IAAAF,IAAAA,EAA2C,2CAC3C,IAAAC,IAAAA,EAAa,aACb,IAAAC,IAAAA,EAAkB,aAEXuP,GAAcC,WAAW1P,EAAMC,EAAMC,EAChD,EC9zBCuV,GAAA,WAAA,SAAAA,IAUA,CAAD,OAJWA,EAAA1H,UAAP,WAEI,OADA0H,EAAgBzH,SACTyH,EAAgBzH,QAPpByH,EAAMzH,OAAG,EASnByH,CAAA,ICJYC,GAAyB,SAACC,GAEnC,IADA,IAAIC,EAA0B,GACrBlI,EAAI,EAAGmI,SAAUA,EAAIF,EAASjI,GAAKA,IACxCkI,EAAaN,KAAK,CAAEjJ,GAAIoJ,GAAgB1H,YAAajL,KAAM+S,EAAG7V,KAAM6V,EAAE7V,KAAMC,KAAM4V,EAAE5V,KAAMC,KAAM2V,EAAE3V,OAEtG,OAAO0V,CACX,EAOaE,GAAiC,SAACH,GAE3C,IADA,IAAIC,EAAkC,GAC7BlI,EAAI,EAAGmI,SAAUA,EAAIF,EAASjI,GAAKA,IACxCkI,EAAaN,KAAK,IAAInJ,GAAgB,CAAEE,GAAIoJ,GAAgB1H,YAAajL,KAAM+S,EAAG7V,KAAM6V,EAAE7V,KAAMC,KAAM4V,EAAE5V,KAAMC,KAAM2V,EAAE3V,QAE1H,OAAO0V,CACX,EC5BaG,GAAmB,SAC5B3W,EACAI,EACAG,EACAqW,GAEA,OACE,MAAC5W,GACD,MAACI,GACD,MAACG,GACA,MAAAqW,CAEL,ECHWC,GAAa,SAACC,EAAWC,QAAX,IAAAD,IAAAA,EAAS,SAAE,IAAAC,IAAAA,GAAY,GAC9C,IAAIC,EAAUF,EAQd,OAPIC,EACID,EAAKxQ,QAAU,KACf0Q,EAAUF,EAAKG,MAAM,EAAG,IAAM,MAAQH,EAAKG,OAAO,IAE/CH,EAAKxQ,QAZiB,KAa7B0Q,EAAUF,EAAKG,MAAM,EAAG,IAAM,MAAQH,EAAKG,OAAO,IAE/CD,CACX,ECVaE,GAAqB,SAC9BlK,GAGA,OAAO,IAAInJ,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WACPrT,WACOkJ,GAAO,CACVK,aAAc,cAErB,GAAE,KAEP,GACJ,EAMa+J,GAAY,SACrBpK,GAGA,OAAO,IAAInJ,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WACPrT,WACOkJ,GAAO,CACVK,aAAc,YAErB,GAAE,IACP,GACJ,EAMagK,GAAiB,SAC1BC,GAGA,YAHA,IAAAA,IAAAA,EAA4B,KAGrB,IAAIzT,SAAQ,SAACC,EAASC,GAEzBoT,YAAW,WACPrT,GACH,GAAEwT,EAEP,GACJ,EAOaC,GAAkB,SAC3BxJ,GAGA,OAAO,IAAIlK,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WACPpJ,EAAgBV,aAAe,YAC/BvJ,WACOiK,GAAe,CAClBV,aAAc,cAErB,GAAE,KAEP,GACJ,EAOamK,GAAmB,SAC5BzJ,GAGA,OAAO,IAAIlK,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WACPpJ,EAAgBV,aAAe,UAC/BvJ,WACOiK,GAAe,CAClBV,aAAc,YAErB,GAAE,IACP,GACJ,EASaoK,GAAgB,SACzB1J,EACA3K,QAAA,IAAAA,IAAAA,EAAoBC,EAA0B,UAG9C,IAAM2J,EAAkBe,EAAgBD,YAExC,OAAO,IAAIjK,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WAEP,GAD6BO,KAAKC,MAAsB,GAAhBD,KAAKE,UAC1B,GAAM,EAAG,CACxB,IAAM1W,GAAU,EACV2W,EAAUzU,EAAkB5C,kBAC5BsX,EAAU,CAAExL,IAAK,IACvBxI,EAAO+L,GAAAA,GAAA,CAAA,EACA7C,GAAO,CACVU,eAAgB,CAAExM,QAAOA,EAAE2W,QAAOA,EAAEC,QAAOA,GAC3CzK,aAAc,UACdD,cAAeyK,IAGtB,KAAM,CACG3W,GAAU,EACV2W,EAAUzU,EAAkB3C,gBAC5BqX,EAAU,CAAA,EAChBhU,EAAO+L,GAAAA,GAAA,CAAA,EACA7C,GAAO,CACVU,eAAgB,CAAExM,QAAOA,EAAE2W,QAAOA,EAAEC,QAAOA,GAC3CzK,aAAc,QACdD,cAAeyK,IAEtB,CACJ,GAAE,KACP,GACJ,ECvIgB,SAAAE,GAAaC,EAAiBC,GAC1C,YADyB,IAAAD,IAAAA,EAAe,QAAE,IAAAC,IAAAA,EAAe,GAClDP,KAAKC,MAAMD,KAAKE,UAAYK,EAAMD,IAAQA,CACrD,CCJO,IAAME,GAAa,SAACC,GAClBA,IACLA,EAAaC,MAAQ,GACzB,ECDaC,GAAe,SACxBC,EACAC,GAEA,OAAIA,EACO,GAAG5Y,OAAA2Y,EAAiB,KAAA3Y,OAAA4Y,GACxBD,CACX,ECXaE,GAAsB,SAACxL,EAAkByL,GAClD,QAASA,GAAsBA,GAAqBzL,EAAQ7L,QAAoC,YAAzB6L,EAAQK,YACnF,ECIaqL,GAAuB,SAChChV,EACA9C,EACAE,EACAD,GAGA,IAAI8X,EAAwB,GACxBC,OAAoCtU,EACpCuU,OAAoCvU,EAaxC,OATIZ,GAA6B,iBAAdA,EAAK9C,MACpB+X,EAAgBjV,EAAK9C,KACrBgY,EAAgBlV,EAAK5C,KACrB+X,EAAgBnV,EAAK7C,MACdD,GAAwB,iBAATA,IACtB+X,EAAgB/X,EAChBgY,EAAgB9X,EAChB+X,EAAgBhY,GAEb,CAAC8X,EAAeC,EAAeC,EAC1C,EC1BaC,GAAiB,SAAC9Y,GAC3B,OAAKA,GAA4B,IAAlBA,EAAOsG,OAGiBtG,EAAO8L,MAAM,KAAK8D,KAAI,SAACmJ,GAAe,OAAAA,EAAWC,MAAM,IAFnF,EAIf,ECFcC,GAAiB,SAACjZ,EAAkB0D,GAI9C,IAHA,IACQ9C,EAAe8C,EAAI9C,KAAbE,EAAS4C,EAAI5C,KAElBwN,EAAI,EAAGA,EAAItO,EAAOsG,OAAQgI,IAAK,CACpC,IAAMyK,EAAqB/Y,EAAOsO,GAElC,GAA0B,IAAtByK,EAAWzS,OAAc,CAEzB,GAA6B,MAAzByS,EAAWG,OAAO,IACdH,EAAWvV,SAASwH,GAAOpK,IAC3B,OAAO,EAKf,GAAIE,GAAQA,EAAKwF,OAAS,GAAKyS,EAAWvV,SAAS,MAAQ1C,EAAK0C,SAAS,KAAM,CAC3E,IAAIqI,EAAakN,EAAWjN,MAAM,KAAK,GACnCT,EAAW0N,EAAWjN,MAAM,KAAK,GAEjCqN,EAAiBrY,EAAKgL,MAAM,KAAK,GACjCsN,EAAetY,EAAKgL,MAAM,KAAK,GAEnC,GAAID,IAAesN,EAAgB,CAE/B,GAAiB,MAAb9N,EACA,OAAO,EACJ,GAAIA,IAAa+N,EACpB,OAAO,CAEd,CACJ,CACJ,CACJ,CACD,OAjCqB,CAkCzB,EC3BaC,GAAoB,SAC7BC,EACAC,EACAC,EACA5C,EACArW,EACAkZ,GASA,IAPA,IAAMC,EAAoB,GAEtBC,EAAoBJ,EAElBK,EACFrW,EAA+BkW,GAE1BnL,EAAI,EAAGmI,SAAUA,EAAI6C,EAAkBhL,GAAKA,IAAK,CAEtD,IAAIuL,EAAyBC,GAAarD,EAAGG,EAAW4C,EAAgBI,GACxE,GAAIC,EAAc1Y,MAAO,CAErB,IAAMA,EAAQwY,EAAY,EAG1B,GAFAE,EAAc1Y,MAAQA,GAEjBA,EAAO,CACR,IAAM4Y,EAAuCH,EAAyBjY,aACtEkY,EAAc1M,OAAS0M,EAAc1M,OAChC6B,GAAAA,GAAA,GAAK6K,EAAc1M,YAAQ4M,EAAsBxZ,GAAYyZ,UAC5D,CAACD,EAAsBxZ,GAAYyZ,KAC5C,CACDL,GACH,CACDD,EAAOxD,KAAK2D,EACf,CACD,OAAOH,CACX,EAeaO,GAAsB,SAC/BC,EACAX,EACAY,EACAvD,EACArW,EACAkZ,GAGA,IAAIW,EAA4B,GAChC,IAAKb,EAAiB,OAAOa,EAK7B,IAJA,IAAIC,EAAoBd,EAClBK,EACFrW,EAA+BkW,GAC7BM,EAAuCH,EAAyBjY,aAC7D2M,EAAI,EAAGA,EAAI4L,EAAY5T,OAAQgI,IAAK,CACzC,IAAIgM,EAA0BJ,EAAY5L,GAK1C,IAHAgM,EAAiBC,GAAgBD,EAAgB1D,EAAWuD,EAAqBP,IAG9DzY,MAAO,CAEtB,IAAMA,EAAQkZ,EAAY,EAC1BC,EAAenZ,MAAQA,EAElBA,IACDmZ,EAAenN,OAASmN,EAAenN,OAClC6B,GAAAA,GAAA,GAAKsL,EAAenN,YAAQ4M,EAAsBxZ,GAAYyZ,UAC7D,CAACD,EAAsBxZ,GAAYyZ,OAE7CK,GACH,CACDD,EAAelE,KAAKoE,EAEvB,CACD,OAAOF,CACX,EAUaG,GAAkB,SAC3BvN,EACA4J,EACA4D,EACAC,GAEA,IAAIC,EAAa7K,GAAA,CAAA,EAAiB7C,GAC9BG,EAAmB,GAEvB,IAAKH,EAAQtJ,KACT,OAAAmM,GAAA,GAAY6K,GAIhB,GAAI9D,EAAW,CACX,IACgB+D,EADqC/D,EAAU8D,EAAchX,MACtByJ,OACnDwN,GACAxN,EAAO+I,KAAI0E,MAAXzN,EAAewN,EAEtB,CAEO,IAAAva,EAAwBoa,EAAcpa,YAAzBJ,EAAWwa,EAAcxa,OAGxC0D,EAAasJ,EAAQtJ,KAG3B,GAAItD,GAAesD,EAAK7C,KAAOT,EAAa,CACxC,IAAMya,EAA2CJ,EAAYjZ,aAI7D2L,EAAO+I,KAAK2E,EAA0Bza,GACzC,CAEGJ,IAAWiZ,GAAeH,GAAe9Y,GAAS0D,IAClDyJ,EAAO+I,KAAKuE,EAAY/Y,aAE5B,IAAMoZ,EAAqC,IAAlB3N,EAAO7G,OAGhC,OAFAoU,EAAa7K,GAAAA,GAAA,CAAA,EAAQ6K,GAAe,CAAAvZ,MAAO2Z,EAAS3N,OAAS2N,OAAmBxW,EAAT6I,GAI3E,EAWa2M,GAAe,SACxBpW,EACAkT,EACA4D,EACAC,GAGA,IAAMM,EAAc1E,GAAgB1H,YAChCxB,EAAmB,GACvB,GAAIyJ,EACA,OAAS/G,GAAA,CAAA5C,GAAI8N,EAAarX,KAAIA,GAAKkT,EAAUlT,IAGzC,IAAAtD,EAAwBoa,EAAcpa,YAAzBJ,EAAWwa,EAAcxa,OAG9C,GAAII,GAAesD,EAAK7C,KAAOT,EAAa,CACxC,IAAMya,EAA2CJ,EAAYjZ,aAC7D2L,EAAO+I,KAAK2E,EAA0Bza,GACzC,CAgBD,OAZIJ,IAAWiZ,GAAeH,GAAe9Y,GAAS0D,IAClDyJ,EAAO+I,KAAKuE,EAAY/Y,aAIA,CACxBuL,GAAI8N,EACJrX,KAAMA,EACNvC,MAAyB,IAAlBgM,EAAO7G,OACd6G,OAAQA,EAIhB,ECzMa6N,GACT,CACI,kDACA,8BACA,8CCSMC,GAAuB,SACjCvX,EACAvC,EACAkM,EACAD,QAFA,IAAAjM,IAAAA,EAASuW,KAAKwD,KAAqB,GAAhBxD,KAAKE,UAAiB,GAAM,GAK/C,IAAIzK,EAA+B,GAC/BgO,EAAiB9N,GCZa,WAElC,OADuB0K,GAAa,EAAG,IAEnC,KAAK,EAAG,MAAO,QACf,KAAK,EAAG,MAAO,YACf,KAAK,EAAG,MAAO,UACf,QACI,OAEZ,CDGyCqD,GAEjCC,EAA0CjO,GAAiB,GAC/D,GAAIjM,EAAO,CAEP,IAAKiM,EACD,OAAQ+N,GACJ,IAAK,QAASE,EAAsB,oCAAqC,MACzE,IAAK,UAAWA,EAAsB,+BAAgC,MACtE,QAASjO,OAAgB9I,EAGjC6I,OAAS7I,CACZ,KAAM,CAEH,IAAMgX,EAAkBvD,GAAa,EAAG,GACxC5K,EAAO+I,KAAK8E,GAAaM,IACzBH,OAAiB7W,EACjB+W,OAAsB/W,CACzB,CAUD,MARkC,CAC9B2I,GAAIoJ,GAAgB1H,YACpBxN,MAAOA,EACPuC,KAAMA,EACN2J,aAAc8N,EACd/N,cAAeiO,EACflO,OAAQA,EAGhB,EEjDaoO,GAAc,SAACtO,GACxB,MAAO,CACHA,GAAIA,GAAMoJ,GAAgB1H,YAC1B/N,KAAM,eACNC,KAAM,SACNC,KAAM,gBACN4C,KAAM0S,GAAoB,eAAgB,SAAkB,iBAC5DjJ,OAAQ6N,GACR5N,cAAe,WACfC,aAAc,YACdlM,OAAO,EACPmM,SAAU,GACVC,IAAK,IAAIiO,eACThO,UAAW,CACPiO,WAAY,uBACZC,WAAY,CACRzO,GAAI,EACJrM,KAAM,iBAEV+a,SAAS,GAEbhO,YAAa,8CAErB,EC5Bc,SAAUiO,GACpBC,EACArO,GAKA,IAFA,IAAMsO,EAA0B5N,OAAOC,KAAKX,GAAa,CAAE,GAElDc,EAAI,EAAGA,EAAIwN,EAAcxV,QAAUkH,EAAWc,IAEnDuN,EAASE,OAAOD,EAAcxN,GAAId,EAAUsO,EAAcxN,KAG9DuN,EAASE,OAAO,aAAc,mBAElC,CCdc,SAAUC,GACpBzO,EACA2C,GAKA,IAFA,IAAM+L,EAAuB/N,OAAOC,KAAK+B,GAAW,CAAE,GAE7C5B,EAAI,EAAGA,EAAI2N,EAAW3V,QAAU4J,EAAS5B,IAE9Cf,EAAI2O,iBACAD,EAAW3N,GACX4B,EAAQ+L,EAAW3N,IAK/B,CCda,IAAA6N,GAAyB,CAClCjb,SAAS,EACT2W,QAAS,gBACTC,QAAS,CAAE,GAEFsE,GAAyB,CAClClb,SAAS,EACT2W,QAAS,iBACTC,QAAS,CAAE,GAEFuE,GAA4B,CACrCnb,SAAS,EACT2W,QAAS,mCACTC,QAAS,CAAE,GAGFwE,GAA4B,CACrCpb,SAAS,EACT2W,QAAS,mBACTC,QAAS,CAAE,GAGFyE,GAAwB,SAACvP,GAClC,OAAA6C,GAAAA,GAAA,CAAA,EAEO7C,GACH,CAAAI,cAAe,gDACfC,aAAc,QAEdK,eAAgB,CAAExM,SAAS,IAEnC,EC9Basb,GAAqB,SAACtb,EAAc2W,EAAiBC,GAE9D,MAD+B,CAAE5W,QAASA,EAAS2W,QAASA,EAASC,QAASA,EAElF,EACa2E,GAAoB,SAAClP,GAC9B,IACI,IAAMmP,EAAeC,KAAKC,MAAMrP,EAAIsP,UAC9B3b,EAAewb,EAAaxb,QAC5B2W,EAAkB6E,EAAa7E,QAQrC,MALoC,CAChC3W,QAA4B,kBAAZA,GAAwBA,EACxC2W,QAA4B,iBAAZA,EAAuBA,EAAU,4BACjDC,QALiB4E,EAAa5E,SAKV,CAAE,EAG7B,CAAC,MAAOzW,GAEL,OAAOgb,EACV,CACL,EAIaS,GAA4B,SACrC9P,EACA+P,GAEA,OAAAlN,GAAAA,GAAA,CAAA,EACO7C,GAAO,CACVU,eAAgBqP,EAChB3P,cAAe2P,EAAYlF,QAC3BxK,aAAc,WAGtB,EAGa2P,GAA0B,SACnChQ,EACA+P,GAGA,OAAAlN,GAAAA,GAAA,CAAA,EACO7C,GAAO,CACVI,cAAe2P,EAAYlF,QAC3BxK,aAAc,QACdK,eAAgBqP,GAExB,ECnCaE,GAAiB,SAC1B1P,EACA0C,EACAiN,EACAC,EACAjN,GAEA,YALA,IAAAD,IAAAA,EAAmC,QAK5B,IAAIpM,SAAwB,SAACC,EAASC,GAGzC,IAAMqZ,EAAsB,CAAC,OAAQ,MAAO,SAAS5Z,SAASyM,EAAOoN,eAAiBpN,EAAS,OAM/F1C,EAAI+P,OAAOlZ,OAAS,WAEpB,EACAmJ,EAAI+P,OAAOC,UAAY,WAAM,OAAAzZ,EAAQqY,KACrC5O,EAAI+P,OAAOE,QAAU,WAEjB1Z,EAAQsY,GACZ,EACA7O,EAAIkQ,UAAY,SAAOC,GAAC,OAAAC,QAAA,OAAA,OAAA,GAAA,wDAQxBpQ,EAAIqQ,mBAAqB,SAAOF,GAAC,OAAAC,QAAA,OAAA,OAAA,GAAA,8CAOjBpQ,EAAIsQ,WAEO,IAAnBtQ,EAAIsQ,aACiB,KAAjBtQ,EAAIsP,SAEJ/Y,EAAQ2Y,GAAkBlP,IAQ1BzJ,EAAQsY,gBAQpB7O,EAAIuQ,KAAKV,EAAaF,GAAU,GAGhClB,GAAWzO,EAAK2C,GAEhB3C,EAAIwQ,KAAKZ,EACb,GAEJ,EAUaa,GAAgB,SACzBhR,EACAV,EACA2D,EACAC,EACAC,GAAoB,OAAAwN,QAAA,OAAA,OAAA,GAAA,uCAEpB,MAAA,CAAA,EAAO,IAAI9Z,SAAQ,SAAOC,EAASC,GAAM,OAAA4Z,QAAA,OAAA,OAAA,GAAA,8EAIjC,8BAFMM,EAAuCjR,EAAQO,MAO/C2Q,EAAsBjO,GAAU,OAChCkO,EAAqBnR,EAAQtJ,MAE7BmY,EAAW,IAAIuC,UAEZrC,OAAO5L,GAAe,OAAQgO,GAGjCE,EAAcxO,GAAA,CACdyO,WAAY,sBAAuBC,OAAQ,CAAEC,QAAS,YAAaC,OAAQ,QAASC,IAAK,KAAS1R,EAAQS,iBAEhHkR,GAAmB9C,EAAUwC,GAGzBtB,SACU,CAAA,EAAME,GAChBgB,EACAC,EACA5R,EACAuP,EACA3L,GAAW,CAAE,MAxBbpM,EAAQyY,GAAsBvP,IACvB,CAAA,kBAkBX+P,EAAc6B,UAOE1d,QAEZ4C,EAAQgZ,GAA0B9P,EAAS+P,IAG3CjZ,EAAQkZ,GAAwBhQ,EAAS+P,iCAK7CjZ,EACIkZ,GAAwBhQ,EAASsP,+BAG5C,GAAA,UACH,EAKI,SAAUuC,GACZnb,EACA4I,EACA2D,EACA6O,EACA5O,GALJ,IAwBC6O,EAAAlR,KAjBG,OAAO,IAAIhK,SAAQ,SAAOC,EAASC,GAAM,OAAA4Z,GAAAoB,OAAA,OAAA,GAAA,uEAI/BlD,EAAW,IAAIuC,UAEZrC,OAAO+C,GAAS,OAAQpb,oBAGU,6BAAA,CAAA,EAAMuZ,GAAe,IAAIzB,eAAkBvL,EAAQ3D,EAAKuP,EAAU3L,kBAAnGxC,EAAiCkR,EAA0EI,OACjHlb,EAAQ4J,gCAIR5J,EAAQwY,8BAEf,GAAA,GACL,CAkBO,IAAM2C,GAAY,SACrB1R,EACA0C,EACAiN,EACAC,EACAjN,GAEA,OAAO,IAAIrM,SAAwB,SAACC,EAASC,GAGzCwJ,EAAI+P,OAAOlZ,OAAS,WAEpB,EAEAmJ,EAAI+P,OAAOC,UAAY,WAAM,OAAAzZ,EAAQqY,KACrC5O,EAAI+P,OAAOE,QAAU,WAAM,OAAA1Z,EAAQsY,KAKnC7O,EAAIqQ,mBAAqB,SAAOF,GAAC,OAAAC,QAAA,OAAA,OAAA,GAAA,8CAIN,IAAnBpQ,EAAIsQ,aACiB,KAAjBtQ,EAAIsP,SAEJ/Y,EAAQ2Y,GAAkBlP,IAG1BzJ,EAAQwY,gBAOpB/O,EAAIuQ,KAAK7N,EAAQiN,GAAU,GAG3B,IAFA,IAAMjB,EAAuB/N,OAAOC,KAAK+B,GAEhC5B,EAAI,EAAGA,EAAI2N,EAAW3V,OAAQgI,IAEnCf,EAAI2O,iBACAD,EAAW3N,GACX4B,EAAQ+L,EAAW3N,KAI3Bf,EAAIwQ,KAAKZ,EACb,GAEJ,ECpPa+B,GAA8B,SAAClS,GACxC,OACO6C,GAAAA,GAAA,CAAA,EAAA7C,GACH,CAAAI,cAAe,mBACfC,aAAc,QACdK,eAAgB,CACZxM,SAAS,EACT2W,QAAS,qCACTC,QAAS,CAAE,IAGvB,EACaqH,GAAuB,SAChCnS,GAEA,MAAO,CACHC,GAAID,EAAQC,GACZmS,aAAYvP,GAAAA,GAAA,CAAA,EACL7C,GAAO,CACVI,cAAe,yCACfC,aAAc,UAElBK,eAAgB,CACZxM,SAAS,EACT2W,QAAS,2DACTC,QAAS,CAAE,GAGvB,EACauH,GAAuB,SAChCrS,EACAU,EACA4R,GAEA,MAAO,CACHrS,GAAID,EAAQC,GACZmS,aACOvP,GAAAA,GAAA,CAAA,EAAA7C,GACH,CAAAI,cAAeM,EAAemK,QAC9BxK,aAAciS,IAElB5R,eAAgBA,EAExB,EAOa6R,GAA0B,SACnCrF,GAEA,OAAKA,EACEA,EAAYtK,KAAI,SAAA5C,GACnB,OAAA6C,GAAAA,GAAA,CAAA,EAAY7C,GAAS,CAAAO,IAAK,IAAIiO,gBAClC,IAHyB,EAI7B,EAQagE,GAA8B,SACvCxS,GAEA,MAA6B,cAAzBA,EAAQK,cAERL,EAAQK,aAAe,YAEvBwC,GAAAA,GAAA,GACO7C,GAAO,CACVK,aAAc,eAGfL,CACX,EAOayS,GAAuB,SAChCzS,GAEA,OAAO,IAAInJ,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WACsB,cAAzBnK,EAAQK,cAERL,EAAQK,aAAe,YAEvBvJ,WACOkJ,GAAO,CACVK,aAAc,gBAGlBvJ,EAAQkJ,EACf,GAAE,KACP,GACJ,EAOa0S,GAAkB,SAACC,GAE5B,YAF4B,IAAAA,IAAAA,EAAW,MAEhC,IAAI9b,SAAQ,SAACC,EAASC,GACzBoT,YAAW,WACPrT,GAAQ,EACX,GAAE6b,EACP,GACJ,EAMaC,GAAqB,SAACC,GAE/B,OAAOA,EAAWlQ,QAAO,SAAC5B,SACtB,QAA0B,QAAzB6Q,EAAA7Q,EAAgBP,iBAAS,IAAAoR,OAAA,EAAAA,EAAEjD,YAE3B/L,KAAI,SAAC7B,GAOF,MANqC,YAAjCA,EAAgBV,cACZU,EAAgBX,gBAEpBW,EAAgBX,cAAgB,0BAG7BL,GAAgBe,UAAUC,EACrC,GACR,EAMa+R,GAAsB,SAC/B/R,EACAgS,GAEA,IAAMC,EAAuCjS,EAAgBV,aACvD4S,EAAwCF,EAAW1S,aAKtC,cAAf2S,GACA,CAAC,eAAW1b,GAAWd,SAASyc,IAEhClS,EAAgBV,kBAAe/I,EAC/ByJ,EAAgBX,cAAgB2S,EAAW3S,eAG5B,cAAf4S,GACA,CAAC,eAAW1b,GAAWd,SAASyc,KAEhClS,EAAgBV,aAAe,UAC/BU,EAAgBX,cAAgB2S,EAAW3S,cAInD,ECpKa8S,GACb,CAEIC,UAAW,UACXC,WAAY,UACZC,OAAQ,UACRC,WAAY,UACZC,YAAa,UACbC,QAAS,UACTC,IAAK,UACLC,UAAW,UACXC,QAAS,UAETC,KAAM,UACNC,UAAW,UACXC,QAAS,UACTC,SAAU,UACVC,gBAAiB,UACjBC,cAAe,UAGfC,MAAO,UACPC,OAAQ,UACRC,UAAW,UACXC,WAAY,UACZC,OAAQ,UAERC,KAAM,UACNC,OAAQ,UACRC,YAAa,UACbC,aAAc,UACdC,qBAAsB,UACtBC,WAAY,UACZC,SAAU,UACVC,UAAW,UACXC,cAAe,UACfC,MAAO,UACPC,UAAW,UAEXC,SAAU,UACVC,QAAS,UACTC,KAAM,UACNC,OAAQ,UACRC,OAAQ,UACRC,QAAS,UACTC,QAAS,UACTC,aAAc,UACdC,aAAc,UACdC,cAAe,UACfC,WAAY,UACZC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbC,OAAQ,UACRC,OAAQ,UACRC,UAAW,UACXC,cAAe,UACfC,gBAAiB,UAEjBC,YAAa,UACbC,WAAY,UACZC,UAAW,UACXC,KAAM,UACNC,UAAW,UACXC,UAAW,UACXC,WAAY,UACZC,kBAAmB,UACnBC,YAAa,UACbC,eAAgB,UAChBC,SAAU,UACVC,YAAa,UACbC,MAAO,UACPC,UAAW,UACXC,YAAa,UACbC,UAAW,UACXC,MAAO,UACPC,eAAgB,UAChBC,iBAAkB,UAClBC,aAAc,UACdC,cAAe,UACfC,SAAU,UACVC,KAAM,UAENC,KAAM,UACNC,KAAM,UACNC,UAAW,UACXC,cAAe,UACfC,WAAY,UACZC,UAAW,UACXC,gBAAiB,UACjBC,cAAe,UACfC,UAAW,UACXC,UAAW,UACXC,eAAgB,UAChBC,WAAY,UACZC,UAAW,UACXC,QAAS,UACTC,aAAc,UACdC,YAAa,UACbC,WAAY,UACZC,eAAgB,UAEhBC,UAAW,UACXC,KAAM,UACNC,WAAY,UACZC,SAAU,UACVC,KAAM,UACNC,aAAc,UAEdC,SAAU,UACVC,eAAgB,UAChBC,OAAQ,UACRC,YAAa,UACbC,MAAO,UACPC,UAAW,UACXC,IAAK,UACLC,UAAW,UACXC,WAAY,UACZC,UAAW,UACXC,cAAe,UACfC,KAAM,UACNC,UAAW,UACXC,YAAa,UACbC,OAAQ,UACRC,MAAO,UACPC,OAAQ,UAERC,MAAO,UACPC,KAAM,UACNC,SAAU,UACVC,UAAW,UACXC,MAAO,UACPC,UAAW,UACXC,WAAY,UACZC,WAAY,UACZC,SAAU,UACVC,MAAO,UACPC,QAAS,UACTC,YAAa,UACbC,MAAO,UACPC,aAAc,UACdC,MAAO,UACPC,cAAe,UACfC,UAAW,UAEXC,UAAW,UACXC,UAAW,UACXC,OAAQ,UACRC,SAAU,UACVC,KAAM,UACNC,QAAS,UACTC,eAAgB,UAChBC,UAAW,UACXC,cAAe,UACfC,MAAO,WCzJEC,GAAc,SAACC,EAAoBC,QAAA,IAAAA,IAAAA,EAAe,IAC3D,IAAIC,EAAc,GACZC,GAAU,IAAMF,GAAc,IAChCG,EAAqB,EACrBC,EAAqB,EACrBC,EAAqB,EACzB,GAAIC,GAAWC,GAAgBR,IAE3BI,EAA8C,GAAjCK,GAAST,EAAW/P,OAAO,IAAWwQ,GAAST,EAAW/P,OAAO,IAC9EoQ,EAA8C,GAAjCI,GAAST,EAAW/P,OAAO,IAAWwQ,GAAST,EAAW/P,OAAO,IAC9EqQ,EAA8C,GAAjCG,GAAST,EAAW/P,OAAO,IAAWwQ,GAAST,EAAW/P,OAAO,IAE9EiQ,EAAc,OAAAxpB,OAAO0pB,EAAaD,EAAW,MAAAzpB,OAAA2pB,EAAaF,EAAU,KAAAzpB,OAAA4pB,EAAaH,YAEjF,GAAIH,EAAWzlB,SAAS,QAAS,CAC7B,IACImmB,EADSV,EAAWW,QAAQ,QAAS,IACP9d,MAAM,KACxCqd,EAAc,OAAOxpB,OAAAkqB,SAASF,EAAW,GAAI,IAAMP,eAAWS,SAASF,EAAW,GAAI,IAAMP,EAAM,KAAAzpB,OAAIkqB,SAASF,EAAW,GAAI,IAAMP,MAEvI,MAAM,GAAIH,EAAWzlB,SAAS,OAAQ,CAG/BmmB,EADSV,EAAWW,QAAQ,OAAQ,IACN9d,MAAM,KACxCqd,EAAc,OAAOxpB,OAAAkqB,SAASF,EAAW,GAAI,IAAMP,eAAWS,SAASF,EAAW,GAAI,IAAMP,EAAM,KAAAzpB,OAAIkqB,SAASF,EAAW,GAAI,IAAMP,MAEvI,CAGL,OAAOD,CACX,EAMaW,GAAgB,SAACb,EAAoBC,QAAA,IAAAA,IAAAA,EAAe,IAC7D,IAAIa,EAAgB,GACdC,GAAY,IAAMd,GAAc,IAClCG,EAAqB,EACrBC,EAAqB,EACrBC,EAAqB,EACzB,GAAIC,GAAWC,GAAgBR,IAE3BI,EAA8C,GAAjCK,GAAST,EAAW/P,OAAO,IAAWwQ,GAAST,EAAW/P,OAAO,IAC9EoQ,EAA8C,GAAjCI,GAAST,EAAW/P,OAAO,IAAWwQ,GAAST,EAAW/P,OAAO,IAC9EqQ,EAA8C,GAAjCG,GAAST,EAAW/P,OAAO,IAAWwQ,GAAST,EAAW/P,OAAO,IAE9E6Q,EAAgB,OAAApqB,OAAO0pB,EAAaW,EAAa,MAAArqB,OAAA2pB,EAAaU,EAAY,KAAArqB,OAAA4pB,EAAaS,YAEvF,GAAIf,EAAWzlB,SAAS,QAAS,CAC7B,IACImmB,EADSV,EAAWW,QAAQ,QAAS,IACP9d,MAAM,KACxCie,EAAgB,OAAOpqB,OAAAkqB,SAASF,EAAW,GAAI,IAAMK,eAAaH,SAASF,EAAW,GAAI,IAAMK,EAAQ,KAAArqB,OAAIkqB,SAASF,EAAW,GAAI,IAAMK,MAE7I,MAAM,GAAIf,EAAWzlB,SAAS,OAAQ,CAG/BmmB,EADSV,EAAWW,QAAQ,OAAQ,IACN9d,MAAM,KACxCie,EAAgB,OAAOpqB,OAAAkqB,SAASF,EAAW,GAAI,IAAMK,eAAaH,SAASF,EAAW,GAAI,IAAMK,EAAQ,KAAArqB,OAAIkqB,SAASF,EAAW,GAAI,IAAMK,MAE7I,CAGL,OAAOD,CACX,EAWaE,GAAgB,SAAChB,EAAgCiB,EAAUC,QAAV,IAAAD,IAAAA,EAAQ,GAClE,IAAIE,EAAwBD,GAA8B,2BAC1D,IAAKlB,EACD,OAAOmB,EAGX,IAAMC,EAAgBpB,EAAW5L,cAEjC,GAAIgN,EAAM7mB,SAAS,QACf,OAAO6mB,EAIX,GAAIA,EAAM7mB,SAAS,OACf,OAAO6mB,EAAMT,QAAQ,MAAO,QAAQA,QAAQ,IAAK,YAAKM,EAAI,MAI9D,IAAKV,GAAWC,GAAgBY,IAC5B,OAAOD,EAEX,IAEIf,EACAC,EACAC,EAMJ,OAJAF,EAAyC,GAA5BK,GAASW,EAAMnR,OAAO,IAAWwQ,GAASW,EAAMnR,OAAO,IACpEoQ,EAAyC,GAA5BI,GAASW,EAAMnR,OAAO,IAAWwQ,GAASW,EAAMnR,OAAO,IACpEqQ,EAAyC,GAA5BG,GAASW,EAAMnR,OAAO,IAAWwQ,GAASW,EAAMnR,OAAO,IACzD,QAAQvZ,OAAA0pB,EAAe,MAAA1pB,OAAA2pB,cAAcC,EAAU,OAAA5pB,OAAMuqB,EAAI,IAExE,EAUaV,GAAa,SAACP,GAGvB,GAA6B,MAAzBA,EAAW/P,OAAO,GAElB,OAAO,EAGX,GAA0B,IAAtB+P,EAAW3iB,OAGX,OAAO,EAGX,IAAK,IAAIgI,EAAI,EAAGA,EAAI2a,EAAW3iB,OAAQgI,IACnC,IAAKgc,GAAS9mB,SAASylB,EAAW/P,OAAO5K,IAGrC,OAAO,EAIf,OAAO,CACX,EAUM,SAAUmb,GAAgBc,GAI5B,OAAKA,OAM4CjmB,IAA7C4b,GAAaqK,EAAOC,qBACbtK,GAAaqK,EAAOC,qBAMxBD,EAZI,EAaf,CAOA,IAAMD,GAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvFG,GAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IASvDf,GAAW,SAACgB,GACrB,OAAIJ,GAAS9mB,SAASknB,GACXD,GAASH,GAASK,QAAQD,IAE1B,CAEf,EAUaE,GAAa,SAACP,GACvB,YAAc/lB,IAAV+lB,GAAiC,KAAVA,EAChBA,EAEAQ,EAEf,EAQaC,GAAqB,SAACT,EAAgBH,GAE/C,YAF+C,IAAAA,IAAAA,EAAQ,GAEhDD,GAAcW,GAAWnB,GAAgBY,IAASH,EAE7D,EAIaW,GAAqB,UCpOrBE,GAAuB,SAChC1b,EACA2b,GAEA,IAEIC,EACAvc,GAAeS,uBAAuBE,GAG1C,GAAI4b,EAAe,CAWf,IAAIC,EAAalc,GAAA,GAAkBgc,GAAgB,GASnD,GARAE,EAAgBA,EAAcvb,QAC1B,SAACG,GAAM,OAAkD,KAAlDmb,eAAAA,EAAeE,WAAU,SAAAC,GAAK,OAAAA,EAAEne,KAAO6C,EAAE7C,EAAX,IAAqB,IAO1Dge,EAAc3kB,SAAW0kB,EAAiB1kB,QAAsC,IAA5B0kB,EAAiB1kB,OACrE,OAEJ,IAAK,IAAIgI,EAAI,EAAGA,EAAI2c,EAAc3kB,OAAQgI,SAEIhK,IAArC0mB,EAAiB1c,GAAGjB,cAEc,cAAlC4d,EAAc3c,GAAGjB,eAGlB4d,EAAc3c,GAAGjB,kBAAe/I,EAG3C,CAED,MAzCwB,EA0C5B"} \ No newline at end of file diff --git a/src/files-ui/core/index.js b/src/files-ui/core/index.js deleted file mode 100644 index 73109351a6991b2093e65cc3cc6c84d258038c69..0000000000000000000000000000000000000000 --- a/src/files-ui/core/index.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(e){if(e)return e<1024?e+" Bytes":e<1048576?(e/1024).toFixed(2)+" KB":e<1073741824?(e/1024/1024).toFixed(2)+" MB":e<1099511627776?(e/1024/1024/1024).toFixed(2)+" GB":(e/1024/1024/1024/1024).toFixed(2)+" TB"},t={defaultLabel:"Trascina qui i tuoi file",uploadingMessage:function(e){return"Caricamento di ".concat(e," file")},uploadFinished:function(e,t){return"File caricati: ".concat(e,", File rifiutati: ").concat(t)},noFilesMessage:"Nessun file valido in attesa di essere caricato",footer:{acceptAll:"Tutti i tipi di file sono accettati",acceptCustom:function(e){return"Tipi di file consentiti: ".concat(e)}},header:{uploadFilesMessage:"Caricamento",maxSizeMessage:function(e){return"Dimensione massima ".concat(e)},validFilesMessage:function(e,t){return"File ".concat(e,"/").concat(t)}},fakeuploadsuccess:"Il file è stato caricato con successo ",fakeUploadError:"Errore di caricamento del file"},r={fullInfoLayer:{name:"Nome: ",size:"Dimensione: ",type:"Tipo: "},status:{preparing:"preparazione",uploading:"In corso",success:"Successo",valid:"Valido",denied:"Non válido",error:"Errore",aborted:"Interrotto"}},a={maxSizeError:function(t){return"Il file è molto grande. Il tam. il massimo è ".concat(e(t))},acceptError:"Tipo di file illegale",maxFileCount:function(e){return"Numero massimo di file (".concat(e,") raggiunto")}},n={defaultLabel:"Déposez vos fichiers ici",uploadingMessage:function(e){return"Envoi de ".concat(e," fichiers")},uploadFinished:function(e,t){return"Fichiers téléchargés : ".concat(e,", Fichiers rejetés: ").concat(t)},noFilesMessage:"Aucun fichier valide ne manque",footer:{acceptAll:"Tous types de fichiers acceptés ",acceptCustom:function(e){return"Types de fichier: ".concat(e)}},header:{uploadFilesMessage:"Envoyer",maxSizeMessage:function(e){return"Taille maximale ".concat(e)},validFilesMessage:function(e,t){return"Fichiers ".concat(e,"/").concat(t)}},fakeuploadsuccess:"Le fichier a été téléchargé avec succès",fakeUploadError:"Erreur lors du téléchargement "},o={fullInfoLayer:{name:"Le nom: ",size:"Le taille: ",type:"Le type: "},status:{preparing:"préparer",uploading:"En cours",success:"Succès",valid:"Valide",denied:"Refusé",error:"Erreur",aborted:"Interrompu"}},i={maxSizeError:function(t){return"Le fichier est très volumineux. Le tam. le maximum est de ".concat(e(t))},acceptError:"Type de fichier illégal ",maxFileCount:function(e){return"Limite de fichiers atteinte (".concat(e,")")}},s={defaultLabel:"Drop your files here",uploadingMessage:function(e){return"Uploading ".concat(e," files")},uploadFinished:function(e,t){return"Uploaded files: ".concat(e,", Rejected files: ").concat(t)},noFilesMessage:"There is no missing valid file to upload",footer:{acceptAll:"All file types accepted",acceptCustom:function(e){return"Allowed types: ".concat(e)}},header:{uploadFilesMessage:"Upload files",maxSizeMessage:function(e){return"Max file size: ".concat(e)},validFilesMessage:function(e,t){return"Files ".concat(e,"/").concat(t)}},fakeuploadsuccess:"File was successfuly uploaded",fakeUploadError:"Error on uploading. Please try again later."},c={fullInfoLayer:{name:"Name: ",size:"Size: ",type:"Type: "},status:{preparing:"Preparing",uploading:"Uploading",success:"Success",valid:"Valid",denied:"Not valid",error:"Error",aborted:"Aborted"}},u={maxSizeError:function(t){return"File is too big. Max file size allowed is ".concat(e(t))},acceptError:"File type is not allowed",maxFileCount:function(e){return"Max amount of files (".concat(e,") has been reached")}},l={defaultLabel:"Suelta tus archivos aquí",uploadingMessage:function(e){return"Subiendo ".concat(e," archivos")},uploadFinished:function(e,t){return"Archivos subidos: ".concat(e,", Archivos rechazados: ").concat(t)},noFilesMessage:"No hay archivos válidos pendientes por subir",footer:{acceptAll:"Todos los tipos de archivo aceptados",acceptCustom:function(e){return"Tipo(s) de archivo permitidos: ".concat(e)}},header:{uploadFilesMessage:"Subir",maxSizeMessage:function(e){return"Tam. máximo ".concat(e)},validFilesMessage:function(e,t){return"Archivos ".concat(e,"/").concat(t)}},fakeuploadsuccess:"El archivo se subió correctamente",fakeUploadError:"Error al subir el archivo"},p={fullInfoLayer:{name:"Nombre: ",size:"Tamaño: ",type:"Tipo: "},status:{preparing:"Preparando",uploading:"Subiendo",success:"Éxito",valid:"Válido",denied:"No válido",error:"Error",aborted:"Anulado"}},d={maxSizeError:function(t){return"El archivo es muy grande. El tam. máximo es ".concat(e(t))},acceptError:"Tipo de archivo no permitido",maxFileCount:function(e){return"Cantidad máxima de archivos (".concat(e,") alcanzada")}},f={defaultLabel:"Перетащите сюда свои файлы.",uploadingMessage:function(e){return"Выгрузка ".concat(e," файлов")},uploadFinished:function(e,t){return"Загружено файлов: ".concat(e,", отклоненных файлов: ").concat(t)},noFilesMessage:"Действительный файл не отсутствует для загрузки",footer:{acceptAll:"Принимаются все типы файлов ",acceptCustom:function(e){return"Допустимые типы: ".concat(e)}},header:{uploadFilesMessage:"Отправить",maxSizeMessage:function(e){return"макс размер: ".concat(e)},validFilesMessage:function(e,t){return"Файлы ".concat(e,"/").concat(t)}},fakeuploadsuccess:"Файл был успешно загружен",fakeUploadError:"Ошибка при загрузке"},m={fullInfoLayer:{name:"Имя: ",size:"Размер: ",type:"Tип: "},status:{preparing:"подготовка",uploading:"Загрузка",success:"успех",valid:"годный",denied:"выкинутый",error:"ошибка",aborted:"прерванный"}},g={maxSizeError:function(t){return"Файл слишком большой. Максимально допустимый размер файла - ".concat(e(t))},acceptError:"Тип файла не разрешен",maxFileCount:function(e){return"Достигнуто максимальное количество файлов (".concat(e,")")}},h={defaultLabel:"Solte seus arquivos aqui ",uploadingMessage:function(e){return"Enviando ".concat(e," arquivos")},uploadFinished:function(e,t){return"Arquivos enviados: ".concat(e,", Arquivos rejeitados: ").concat(t)},noFilesMessage:"Nenhum arquivo válido está faltando para enviar",footer:{acceptAll:"Todos os tipos de arquivo são aceitos",acceptCustom:function(e){return"Tipos permitidos: ".concat(e)}},header:{uploadFilesMessage:"Enviar",maxSizeMessage:function(e){return"Tamanho máximo: ".concat(e)},validFilesMessage:function(e,t){return"Arquivos ".concat(e,"/").concat(t)}},fakeuploadsuccess:"O arquivo foi enviado com sucesso",fakeUploadError:"Erro ao enviar"},x={fullInfoLayer:{name:"Nome: ",size:"Tamanho: ",type:"Tipo: "},status:{preparing:"Preparando",uploading:"Enviando",success:"Êxito",valid:"válido",denied:"Negado",error:"Erro",aborted:"Abortado"}},b={maxSizeError:function(t){return"O arquivo é muito grande. O tamanho máximo de arquivo permitido é ".concat(e(t))},acceptError:"O tipo de arquivo não é permitido ",maxFileCount:function(e){return"Quantidade máxima de arquivos (".concat(e,") alcançada")}},v={defaultLabel:"将您的文件放在这里",uploadingMessage:function(e){return"上传 ".concat(e," 个文件")},uploadFinished:function(e,t){return"上传文件:".concat(e,",拒绝文件:").concat(t)},noFilesMessage:"没有缺少要加载的有效文件",footer:{acceptAll:"接受所有文件类型",acceptCustom:function(e){return"允许的类型: ".concat(e)}},header:{uploadFilesMessage:"上传文件",maxSizeMessage:function(e){return"最大文件大小:".concat(e)},validFilesMessage:function(e,t){return"文档 ".concat(e,"/").concat(t)}},fakeuploadsuccess:"文件已成功上传",fakeUploadError:"上传时出错"},F={fullInfoLayer:{name:"文档名称: ",size:"尺寸: ",type:"文件类型: "},status:{preparing:"预加载",uploading:"上传",success:"成功",valid:"接受的文件",denied:"被拒绝的文件",error:"错误",aborted:"中止"}},w={maxSizeError:function(t){return"文件太大。 允许的最大文件大小为 ".concat(e(t))},acceptError:"文件类型不允许",maxFileCount:function(e){return"已达到最大文件数 (".concat(e,")")}},_={defaultLabel:"把你的文件放在這裡 ",uploadingMessage:function(e){return"上傳".concat(e,"個文件")},uploadFinished:function(e,t){return"上傳文件: ".concat(e,", 拒絕的文件:").concat(t)},noFilesMessage:"沒有缺少要上傳的有效文件",footer:{acceptAll:"接受所有文件類型",acceptCustom:function(e){return"允許的類型:".concat(e)}},header:{uploadFilesMessage:"上傳文件",maxSizeMessage:function(e){return"最大文件大小:".concat(e)},validFilesMessage:function(e,t){return" 文件 ".concat(e,"/").concat(t)}},fakeuploadsuccess:"文件已成功上傳",fakeUploadError:"上傳時出錯"},E={fullInfoLayer:{name:"文檔名稱: ",size:"文件大小: ",type:"文件類型: "},status:{preparing:"預加載",uploading:"上傳",success:"成功",valid:"有效文件",denied:"無效文件",error:"錯誤",aborted:"中止"}},y={maxSizeError:function(t){return"文件太大。 允許的最大文件大小為 ".concat(e(t))},acceptError:"文件類型不允許",maxFileCount:function(e){return"已達到最大文件數 (".concat(e,")")}},A={"ES-es":p,"EN-en":c,"FR-fr":o,"IT-it":r,"PT-pt":x,"RU-ru":m,"ZH-cn":F,"ZH-hk":E},z={"ES-es":l,"EN-en":s,"FR-fr":n,"IT-it":t,"PT-pt":h,"RU-ru":f,"ZH-cn":v,"ZH-hk":_},S=function(e){switch(e){case"ES-es":return z["ES-es"];case"EN-en":default:return z["EN-en"];case"FR-fr":return z["FR-fr"];case"IT-it":return z["IT-it"];case"PT-pt":return z["PT-pt"];case"RU-ru":return z["RU-ru"];case"ZH-cn":return z["ZH-cn"];case"ZH-hk":return z["ZH-hk"]}},k={"ES-es":d,"EN-en":u,"FR-fr":i,"IT-it":a,"PT-pt":b,"RU-ru":g,"ZH-cn":w,"ZH-hk":y},D=function(e){return e&&["ES-es","EN-en","FR-fr","IT-it","PT-pt","RU-ru","ZH-cn","ZH-hk"].includes(e)?k[e]:k["EN-en"]};var R="https://user-images.githubusercontent.com/43678736/132086517-72a51a12-e403-4675-bfd7-22c23affa730.png",C="https://user-images.githubusercontent.com/43678736/132086518-7026d4f1-ea16-4ed0-89fd-37c1aa8ac3ed.png",M="https://user-images.githubusercontent.com/43678736/132086519-863c63b4-917e-4471-94ff-7e15651cc14b.png",j="https://user-images.githubusercontent.com/43678736/132086520-9bc6aa3b-51c9-4da2-9ef7-349162b86d0b.png",I="https://user-images.githubusercontent.com/43678736/132086521-dbd6cf0d-d4d7-4b92-bb26-17e8a51a9383.png",T="https://user-images.githubusercontent.com/43678736/132086522-070f48e8-78a8-4294-8dbb-aab81525e164.png",L="https://user-images.githubusercontent.com/43678736/132086595-90ab7f90-f87e-4900-94d9-d0b26745df48.png",U="https://user-images.githubusercontent.com/43678736/132086597-e285ad5c-613a-4679-a270-493e5be4ffd9.png",B="https://user-images.githubusercontent.com/43678736/132086598-623c410a-084a-4395-a448-211b2ff61cfe.png",N="https://user-images.githubusercontent.com/43678736/132086600-8b70a007-512d-4252-9c66-eabd3ddd6573.png",P="https://user-images.githubusercontent.com/43678736/132086601-e62e5d1a-d8a2-4475-a14f-85922cec9272.png",O="https://user-images.githubusercontent.com/43678736/132086602-4c772934-f608-4f01-8459-c4622cee8ad5.png",q="https://user-images.githubusercontent.com/43678736/132086604-b5b019fe-572e-477e-92c2-3769a48a1304.png",H="https://user-images.githubusercontent.com/43678736/132086606-715ccb66-4702-4f7d-9b09-ac93ba17b643.png",V="https://user-images.githubusercontent.com/43678736/132086608-bcae9d57-8e54-488c-90c4-4952ae530b5e.png",Z="https://user-images.githubusercontent.com/43678736/132086618-397d6bd2-9fda-43ed-a135-cb40388c35af.png",G="https://user-images.githubusercontent.com/43678736/132086620-2586ba40-c583-4589-b1a4-8bb5b258b44d.png",X="https://user-images.githubusercontent.com/43678736/132086621-3b95fb64-2533-4ccc-abcd-bd2beba572e9.png",J="https://user-images.githubusercontent.com/43678736/132086622-af705a0c-2b25-4ba7-8ab6-bd69ec97f7e2.png",K="https://user-images.githubusercontent.com/43678736/132086624-89141a46-64e4-4fa0-bf69-54a0eb4d48c9.png",Q="https://user-images.githubusercontent.com/43678736/132086625-1b8f2652-1de0-4475-8c12-7da4a9973ffb.png",W="https://user-images.githubusercontent.com/43678736/132086626-38699705-1e6f-4bca-984b-03167b236faa.png",$="https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png",Y="https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png",ee="https://user-images.githubusercontent.com/43678736/132086652-4562942e-aaea-466c-968f-380fffabf3f9.png",te="https://user-images.githubusercontent.com/43678736/132086653-0487e7e2-1ee3-49e2-8cfe-3e20f1f7490a.png",re="https://user-images.githubusercontent.com/43678736/132086656-6e96c815-e4e2-4ffd-9d71-57e9cc2450bc.png",ae="https://user-images.githubusercontent.com/43678736/132086658-5d27d3c2-394f-43fb-b512-9b414a257875.png",ne="https://user-images.githubusercontent.com/43678736/132086659-98f3ef6e-b9f3-4b6d-b18f-469b5334ba27.png",oe="https://user-images.githubusercontent.com/43678736/132086661-a5484553-06c7-4ffa-a8f9-96b57b1b0344.png",ie="https://user-images.githubusercontent.com/43678736/132086662-05ad1597-d5e5-4efa-833e-2876e966a745.png",se="https://user-images.githubusercontent.com/43678736/132086663-90c58955-f7fb-4bdb-ac53-92667d16d4a3.png",ce="https://user-images.githubusercontent.com/43678736/132086664-9a7530e7-6d78-4ef3-a176-20cf7f57b555.png",ue="https://user-images.githubusercontent.com/43678736/132086666-ab3c505d-b2c0-4177-9a06-aed5d9c39ee4.png",le="https://user-images.githubusercontent.com/43678736/132086667-6c7dcbcc-8d83-41a2-8e0a-85b09e2791ae.png",pe="https://user-images.githubusercontent.com/43678736/132086668-9f246e91-cf2e-49cf-9617-e1fbb71abbbb.png",de="https://user-images.githubusercontent.com/43678736/132086669-46113762-84d1-4b32-9441-b0138ce17a5d.png",fe="https://user-images.githubusercontent.com/43678736/145835364-2054509d-3448-4d34-921f-73dd6e297fc7.png",me="https://user-images.githubusercontent.com/43678736/145835367-19172bf8-cd5a-4cbe-b512-d0de1d91f269.png",ge="https://user-images.githubusercontent.com/43678736/145835373-a57ef0f5-3968-483b-9f55-6d67e7f1dcea.png",he="https://user-images.githubusercontent.com/43678736/132086670-0f96e770-cedc-4635-a5f9-cf97894c1d7a.png",xe="https://user-images.githubusercontent.com/43678736/132086671-02ad35ef-ec3a-4a65-abd5-5bf794dfcf7b.png",be="https://user-images.githubusercontent.com/43678736/132086672-3a856fda-823d-4997-b802-c7c640e6ef44.png",ve="https://user-images.githubusercontent.com/43678736/132086673-0c4409ab-754e-4619-8cfa-179d0ccf1bd9.png",Fe="https://user-images.githubusercontent.com/43678736/132086674-fdb56d02-5845-49b7-8462-6357bc963464.png",we="https://user-images.githubusercontent.com/43678736/132086675-c879645d-acb4-41a6-ab3c-4e6c2048badb.png",_e="https://user-images.githubusercontent.com/43678736/132086685-4e327c4c-a409-4b83-b36a-8d88936b314b.png",Ee="https://user-images.githubusercontent.com/43678736/132086688-8e82fae4-3a9b-49c0-bf99-77189525514c.png",ye="https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png",Ae="https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png",ze="https://user-images.githubusercontent.com/43678736/132086691-d472576b-ec6a-4332-acd2-dd6a00b72952.png",Se="https://user-images.githubusercontent.com/43678736/132086693-9d43571e-0c86-438f-b247-e2cb42e19e06.png",ke="https://user-images.githubusercontent.com/43678736/132086694-4e661d6a-1118-441e-8bc3-c52fcb2133b6.png",De="https://user-images.githubusercontent.com/43678736/132086697-1d82d724-35b6-4f06-847a-3c59a5deda6e.png",Re="https://user-images.githubusercontent.com/43678736/132086698-19384230-dbd7-4e05-bc69-ef4537b6aae3.png",Ce="https://user-images.githubusercontent.com/43678736/132086699-5993a482-04f4-4915-b105-9037f527cf61.png",Me="https://user-images.githubusercontent.com/43678736/132086700-c23461c8-6819-46e1-aecd-0a1f8d3507bb.png",je="https://user-images.githubusercontent.com/43678736/132086701-c8044c09-8d95-4af1-9410-66761001d7da.png",Ie="https://user-images.githubusercontent.com/43678736/132086702-59294337-ed99-4302-badd-316b2c1ff62f.png",Te="https://user-images.githubusercontent.com/43678736/132086704-8fd51e7c-afa2-47a3-ab2f-d0bcd0ecae9f.png",Le="https://user-images.githubusercontent.com/43678736/132086705-33294da1-5c0f-49f7-b890-e4857cec0a6d.png",Ue="https://user-images.githubusercontent.com/43678736/132086706-22f805d0-39d4-494b-824e-47dc75d05eb7.png",Be="https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png",Ne="https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png",Pe="https://user-images.githubusercontent.com/43678736/132086708-21d096dd-7148-40aa-97f1-cbb099339740.png",Oe="https://user-images.githubusercontent.com/43678736/132086709-811d4e90-3cfa-4044-a956-aeda9c67fc92.png",qe="https://user-images.githubusercontent.com/43678736/132086710-c5479c6c-0249-4542-adad-48b0ef40b775.png",He="https://user-images.githubusercontent.com/43678736/132086711-1524a3e7-3e33-4822-a34f-ff3235404045.png",Ve="https://user-images.githubusercontent.com/43678736/132086712-17e2c491-f6e4-4586-aef6-06bcc5f4b0e5.png",Ze="https://user-images.githubusercontent.com/43678736/132086715-204b5a8b-9c5a-4bac-8294-9237ebc16089.png",Ge="https://user-images.githubusercontent.com/43678736/132086716-64511d20-58cb-45a8-85df-f4d9408b469d.png",Xe="https://user-images.githubusercontent.com/43678736/132086718-a8499333-6282-4820-aa1f-4d133eb54648.png",Je=function(e){var t=/(?:\.([^.]+))?$/.exec(e);return t?t[1]:""},Ke="octet",Qe=function(e){switch(e){case"aac":return"aac";case"midi":case"x-midi":return"midi";case"mpeg":return"mpeg";case"ogg":return"oga";case"opus":return"opus";case"wav":return"wav";case"webm":return"webm";case"wma":return"wma";default:return Ke}},We=function(e){switch(e){case"css":return"css";case"csv":return"csv";case"html":return"html";case"calendar":return"icalendar";case"javascript":case"x-javascript":return"javascript";case"plain":return"text";case"xml":return"xml";default:return Ke}},$e=function(e){switch(e){case"bmp":return"bmp";case"gif":return"gif";case"jpg":case"jpeg":return"jpeg";case"png":return"png";case"tiff":return"tiff";case"webp":return"webp";default:return Ke}},Ye=function(e){switch(e){case"otf":return"otf";case"ttf":return"ttf";case"woff":case"woff2":return"woff";default:return Ke}},et=function(e){switch(e){case"x-msvideo":case"msvideo":case"avi":return"avi";case"mp4":return"mp4";case"mpeg":return"mpeg";case"ogg":return"ogv";case"mp2t":return"mp2t";case"wmv":return"wmv";case"webm":return"webm";default:return Ke}},tt=function(e){switch(e){case"x-abiword":case"abiword":return"abw";case"x-freearc":case"freearc":return"arc";case"vnd.amazon.ebook":return"azw";case"octet-stream":return"octet";case"x-bzip":case"bzip":return"bz";case"x-bzip2":case"bzip2":return"bz2";case"x-cdf":return"cda";case"msaccess":return"accdb";case"csh":case"x-csh":return"csh";case"vnd.ms-fontobject":return"eot";case"epub+zip":return"epub";case"gzip":return"gzip";case"java-archive":return"jar";case"x-javascript":return"javascript";case"json":return"json";case"ld+json":return"jsonld";case"vnd.apple.installer+xml":return"mpkg";case"ogg":return"ogx";case"vnd.rar":return"rar";case"rtf":return"rtf";case"x-sh":case"sh":return"sh";case"x-shockwave-flash":return"swf";case"x-tar":return"tar";case"x-httpd-php":return"php";case"vnd.visio":return"vsd";case"xhtml+xml":return"xhtml";case"xml":return"xml";case"vnd.mozilla.xul+xml":return"xul";case"vnd.openxmlformats-officedocument.wordprocessingml.document":case"msword":return"docx";case"vnd.openxmlformats-officedocument.spreadsheetml.sheet":return"xlsx";case"vnd.openxmlformats-officedocument.presentationml.presentation":case"vnd.ms-powerpoint":return"pptx";case"vnd.oasis.opendocument.presentation":return"odp";case"vnd.oasis.opendocument.text":return"odt";case"vnd.oasis.opendocument.spreadsheet":return"ods";case"zip":case"x-zip-compressed":return"zip";case"pdf":return"pdf";default:return Ke}},rt=function(e){if(!e||!e.includes("/"))return Ke;var t=e.split("/")[0],r=e.split("/")[1];switch(t){case"application":return tt(r);case"audio":return Qe(r);case"video":return et(r);case"text":return We(r);case"image":return $e(r);case"font":return Ye(r);default:return Ke}},at=function(e){var t="octet";return e&&""!==e&&(e.includes("zip")||e.includes("rar")?t="zip":e.includes("doc")?t="docx":e.includes("xls")?t="xlsx":e.includes("drawio")?t="drawio":e.includes("psd")?t="psd":e.includes("csv")?t="csv":"jsx"===e?t="react":"py"===e?t="python":"vue"===e?t="vue":"java"===e?t="java":"ts"===e?t="typescript":"sass"!==e&&"scss"!==e||(t="sass")),t},nt=function(e){var t="text";return e&&""!==e&&("jsx"===e?t="react":"py"===e?t="python":"vue"===e?t="vue":"java"===e?t="java":"ts"===e||"tsx"===e?t="typescript":"js"===e?t="javascript":"xml"===e?t="xml":"php"===e&&(t="php")),t},ot={aac:C,accdb:j,abw:M,arc:X,avi:I,azw:T,octet:ue,bmp:L,bz:U,bz2:B,cda:N,csh:P,css:O,csv:q,docx:H,drawio:V,eot:Z,epub:G,gzip:K,gif:J,html:Q,icalendar:W,jar:Y,jpeg:te,javascript:ee,json:re,jsonld:ae,midi:ne,mp3:oe,mp4:ie,mpeg:se,mpkg:ce,mp2t:ue,odp:le,ods:pe,odt:de,oga:fe,ogv:me,ogx:ge,opus:he,otf:xe,png:Fe,pdf:be,php:ve,pptx:we,psd:_e,rar:Ae,rtf:Se,sass:ke,sh:De,swf:Re,tar:ye,tiff:Me,ttf:je,typescript:Ie,text:Ce,vsd:Te,wav:Ue,weba:Ne,webm:Be,webp:Pe,woff:He,wma:Oe,wmv:qe,xhtml:Q,xlsx:Ve,xml:Ze,xul:Ge,zip:Xe,sevenzip:R,python:Ee,java:$,react:ze,vue:Le,fallBack:ue},it=function(){function e(e){var t=e.id,r=e.file,a=e.name,n=e.size,o=e.type,i=e.imageUrl,s=e.valid,c=e.errors,u=e.uploadMessage,l=e.uploadStatus,p=e.progress,d=e.xhr,f=e.extraData,m=e.extraUploadData,g=e.serverResponse,h=e.downloadUrl,x=e.videoUrl;this.id=t,this.file=r,this.name=a,this.size=n,this.type=o,this.imageUrl=i,this.valid=s,this.errors=c,this.uploadStatus=l,this.uploadMessage=u,this.progress=p,this.xhr=d,this.extraData=f,this.extraUploadData=m,this.serverResponse=g,this.downloadUrl=h,this.videoUrl=x}return e.toExtFile=function(e){for(var t={},r=Object.keys(e),a=Object.values(e),n=0;n<a.length;n++){var o=a[n],i=r[n];void 0!==o&&(t[i]=o)}return t},e.prototype.toExtFile=function(){return e.toExtFile(this)},e}(),st=function(){return st=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},st.apply(this,arguments)};function ct(e,t,r,a){return new(r||(r=Promise))((function(n,o){function i(e){try{c(a.next(e))}catch(e){o(e)}}function s(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}c((a=a.apply(e,t||[])).next())}))}function ut(e,t){var r,a,n,o,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(r=1,a&&(n=2&s[0]?a.return:s[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,s[1])).done)return n;switch(a=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,a=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(n=i.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(6===s[0]&&i.label<n[1]){i.label=n[1],n=s;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(s);break}n[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],a=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function lt(e,t,r){if(r||2===arguments.length)for(var a,n=0,o=t.length;n<o;n++)!a&&n in t||(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))}var pt=function(){function e(){}return e.getNextId=function(){return e.nextId++,e.nextId},e.setFileList=function(t,r){return t?(e.fileLists[t]=lt([],r,!0),t):0},e.createFileListMap=function(){var t=e.getNextId();return e.fileLists[t]=[],t},e.removeFileListMap=function(t){if(!t)return 0;try{return e.fileLists[t]=void 0,t}catch(e){return"development"===process.env.NODE_ENV&&console.error("Error on remove",e),0}},e.getExtFileInstanceList=function(t){try{if(!t)return;return e.fileLists[t]}catch(e){return void("development"===process.env.NODE_ENV&&console.error("Error on getExtFileInstanceList",e))}},e.setFileListMapPreparing=function(t,r,a,n){if("number"==typeof t||"string"==typeof t)try{var o,i=lt([],r,!0);n&&a&&(i=i.filter((function(e){return e.valid}))),o=(i=a?i.map((function(e){return"success"!==e.uploadStatus&&e.valid?st(st({},e),{uploadStatus:"preparing"}):st({},e)})):i.map((function(e){return"success"!==e.uploadStatus?st(st({},e),{uploadStatus:"preparing"}):st({},e)}))).map((function(e){return new it(e)}));e.setFileList(t,o);return o}catch(e){return void("development"===process.env.NODE_ENV&&console.error("setFileListMapPreparing Error on get List",e))}},e.setFileListMapPreparing2=function(t,r,a,n){return e.setFileList(t,r.map((function(e){return new it(st(st({},e),{uploadStatus:"preparing"}))}))),e.getExtFileInstanceList(t)},e.nextId=0,e.fileLists={},e}(),dt=function(){function e(){}return e.createFile=function(e,t,r){var a=new File([],e,{type:r});return Object.defineProperty(a,"size",{get:function(){return t}}),a},e.create_aac=function(t){return e.createFile("acc_audio-file-with-large-name.aac",t||3516516,"audio/aac")},e.create_abw=function(t){return e.createFile("abiword-file-with-large-name.abw",t||3516516,"application/x-abiword")},e.create_freearc=function(t){return e.createFile("freearc-file-with-large-name.arc",t||3516516,"application/x-freearc")},e.create_avi=function(t){return e.createFile("avi-file-with-large-name.avi",t||3516516,"video/x-msvideo")},e.create_azw=function(t){return e.createFile("amazon_kindle_ebook-file-with-large-name.azw",t||3516516,"application/vnd.amazon.ebook")},e.create_octet=function(t){return e.createFile("binary_octet_stream-file-with-large-name.bin",t||3516516,"application/octet-stream")},e.create_bmp=function(t){return e.createFile("bit_map-file-with-large-name.bmp",t||3516516,"image/bmp")},e.create_bz=function(t){return e.createFile("x_bzip-file-with-large-name.bz",t||3516516,"application/x-bzip")},e.create_bz2=function(t){return e.createFile("x_bzip_2-file-with-large-name.bz2",t||3516516,"application/x-bzip2")},e.create_cda=function(t){return e.createFile("cd_audio-file-with-large-name.cda",t||3516516,"application/x-cdf")},e.create_csh=function(t){return e.createFile("test-file-with-large-name.csh",t||3516516,"application/x-csh")},e.create_css=function(t){return e.createFile("test-file-with-large-name.css",t||3516516,"text/css")},e.create_csv=function(t){return e.createFile("test-file-with-large-name.csv",t||3516516,"text/csv")},e.create_doc=function(t){return e.createFile("test-file-with-large-name.doc",t||3516516,"application/msword")},e.create_docx=function(t){return e.createFile("test-file-with-large-name.docx",t||3516516,"application/vnd.openxmlformats-officedocument.wordprocessingml.document")},e.create_eot=function(t){return e.createFile("test-file-with-large-name.eot",t||3516516,"application/vnd.ms-fontobject")},e.create_epub=function(t){return e.createFile("test-file-with-large-name.epub",t||3516516,"application/epub+zip")},e.create_gzip=function(t){return e.createFile("test-file-with-large-name.gz",t||3516516,"application/gzip")},e.create_gif=function(t){return e.createFile("test-file-with-large-name.gif",t||3516516,"image/gif")},e.create_htm=function(t){return e.createFile("test-file-with-large-name.htm",t||3516516,"text/html")},e.create_html=function(t){return e.createFile("test-file-with-large-name.html",t||3516516,"text/html")},e.create_ico=function(t){return e.createFile("test-file-with-large-name.ico",t||3516516,"image/vnd.microsoft.icon")},e.create_icalendar=function(t){return e.createFile("test-file-with-large-name.ics",t||3516516,"text/calendar")},e.create_jar=function(t){return e.createFile("test-file-with-large-name.jar",t||3516516,"application/java-archive")},e.create_jpeg=function(t){return e.createFile("test-file-with-large-name.jpeg",t||3516516,"image/jpeg")},e.create_jpg=function(t){return e.createFile("test-file-with-large-name.jpg",t||3516516,"image/jpeg")},e.create_js=function(t){return e.createFile("test-file-with-large-name.js",t||3516516,"text/javascript")},e.create_json=function(t){return e.createFile("test-file-with-large-name.json",t||3516516,"application/json")},e.create_jsonld=function(t){return e.createFile("test-file-with-large-name.jsonld",t||3516516,"application/ld+json")},e.create_mid=function(t){return e.createFile("test-file-with-large-name.mid",t||3516516,"audio/midi")},e.create_x_mid=function(t){return e.createFile("test-file-with-large-name.mid",t||3516516,"audio/x-midi")},e.create_midi=function(t){return e.createFile("test-file-with-large-name.midi",t||3516516,"audio/x-midi")},e.create_x_midi=function(t){return e.createFile("test-file-with-large-name.midi",t||3516516,"audio/x-midi")},e.create_mjs=function(t){return e.createFile("test-file-with-large-name.mjs",t||3516516,"text/javascript")},e.create_mp3=function(t){return e.createFile("test-file-with-large-name.mp3",t||3516516,"audio/mpeg")},e.create_mp4=function(t){return e.createFile("test-file-with-large-name.mp4",t||3516516,"video/mp4")},e.create_mpeg=function(t){return e.createFile("test-file-with-large-name.mpeg",t||3516516,"video/mpeg")},e.create_mpkg=function(t){return e.createFile("test-file-with-large-name.mpkg",t||3516516,"application/vnd.apple.installer+xml")},e.create_odp=function(t){return e.createFile("test-file-with-large-name.odp",t||3516516,"application/vnd.oasis.opendocument.presentation")},e.create_ods=function(t){return e.createFile("test-file-with-large-name.ods",t||3516516,"application/vnd.oasis.opendocument.spreadsheet")},e.create_odt=function(t){return e.createFile("test-file-with-large-name.odt",t||3516516,"application/vnd.oasis.opendocument.text")},e.create_oga=function(t){return e.createFile("test-file-with-large-name.oga",t||3516516,"audio/ogg")},e.create_ogv=function(t){return e.createFile("test-file-with-large-name.ogv",t||3516516,"video/ogg")},e.create_ogx=function(t){return e.createFile("test-file-with-large-name.ogx",t||3516516,"application/ogg")},e.create_opus=function(t){return e.createFile("test-file-with-large-name.opus",t||3516516,"audio/opus")},e.create_otf=function(t){return e.createFile("test-file-with-large-name.otf",t||3516516,"font/otf")},e.create_png=function(t){return e.createFile("test-file-with-large-name.png",t||3516516,"image/png")},e.create_pdf=function(t){return e.createFile("test-file-with-large-name.pdf",t||3516516,"application/pdf")},e.create_php=function(t){return e.createFile("test-file-with-large-name.php",t||3516516,"application/x-httpd-php")},e.create_ppt=function(t){return e.createFile("test-file-with-large-name.ppt",t||3516516,"application/vnd.ms-powerpoint")},e.create_pptx=function(t){return e.createFile("test-file-with-large-name.pptx",t||3516516,"application/vnd.openxmlformats-officedocument.presentationml.presentation")},e.create_rar=function(t){return e.createFile("test-file-with-large-name.rar",t||3516516,"application/vnd.rar")},e.create_rtf=function(t){return e.createFile("test-file-with-large-name.rtf",t||3516516,"application/rtf")},e.create_sh=function(t){return e.createFile("test-file-with-large-name.sh",t||3516516,"application/x-sh")},e.create_svg=function(t){return e.createFile("test-file-with-large-name.svg",t||3516516,"image/svg+xml")},e.create_swf=function(t){return e.createFile("test-file-with-large-name.swf",t||3516516,"application/x-shockwave-flash")},e.create_tar=function(t){return e.createFile("test-file-with-large-name.tar",t||3516516,"application/x-tar")},e.create_tif=function(t){return e.createFile("test-file-with-large-name.tif",t||3516516,"image/tiff")},e.create_tiff=function(t){return e.createFile("test-file-with-large-name.tiff",t||3516516,"image/tiff")},e.create_ts=function(t){return e.createFile("mp2t_video-file-with-large-name.ts",t||3516516,"video/mp2t")},e.create_ttf=function(t){return e.createFile("test-file-with-large-name.ttf",t||3516516,"font/ttf")},e.create_text=function(t){return e.createFile("test-file-with-large-name.txt",t||3516516,"text/plain")},e.create_typescript=function(t){return e.createFile("typescript-file-with-large-name.ts",t||3516516,"text/plain")},e.create_vsd=function(t){return e.createFile("ms_visio-file-with-large-name.vsd",t||3516516,"application/vnd.visio")},e.create_wav=function(t){return e.createFile("wav_audio-file-with-large-name.wav",t||3516516,"audio/wav")},e.create_weba=function(t){return e.createFile("web_audio-file-with-large-name.weba",t||3516516,"audio/webm")},e.create_webm=function(t){return e.createFile("web_video-file-with-large-name.webm",t||3516516,"video/webm")},e.create_webp=function(t){return e.createFile("web_image-file-with-large-name.webp",t||3516516,"image/webp")},e.create_woff=function(t){return e.createFile("test-file-with-large-name.woff",t||3516516,"font/woff")},e.create_woff2=function(t){return e.createFile("test-file-with-large-name.woff2",t||3516516,"font/woff2")},e.create_xhtml=function(t){return e.createFile("test-file-with-large-name.xhtml",t||3516516,"application/xhtml+xml")},e.create_xlsx=function(t){return e.createFile("test-file-with-large-name.xls",t||3516516,"application/vnd.ms-excel")},e.create_xls=function(t){return e.createFile("test-file-with-large-name.xlsx",t||3516516,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")},e.create_xml=function(t){return e.createFile("xml-file-with-large-name.xml",t||3516516,"application/xml")},e.create_xml_txt=function(t){return e.createFile("xml_plain_text-file-with-large-name.xml",t||3516516,"application/xml")},e.create_xul=function(t){return e.createFile("test-file-with-large-name.xul",t||3516516,"application/vnd.mozilla.xul+xml")},e.create_zip=function(t){return e.createFile("zip-file-with-large-name.zip",t||3516516,"application/zip")},e.create_3gp=function(t){return e.createFile("3gp_video-file-with-large-name.3gp",t||3516516,"video/3gpp")},e.create_3gp2=function(t){return e.createFile("3gp2_video-file-with-large-name.3g2",t||3516516,"video/3gpp2")},e.create_3gp_a=function(t){return e.createFile("3gp_audio-file-with-large-name.3gp",t||3516516,"audio/3gpp")},e.create_3gp_v=function(t){return e.createFile("3gp_audio-file-with-large-name.3gp2",t||3516516,"audio/3gpp2")},e.create_7z=function(t){return e.createFile("seven_zip-file-with-large-name.7z",t||3516516,"application/x-7z-compressed")},e.create_python=function(t){return e.createFile("python-file-with-large-name.py",t||3516516,"text/plain")},e.create_java=function(t){return e.createFile("java-file-with-large-name.java",t||3516516,"text/plain")},e.create_react=function(t){return e.createFile("react_jsx-file-with-large-name.jsx",t||3516516,"text/plain")},e.create_vue=function(t){return e.createFile("vue-file-with-large-name.vue",t||3516516,"text/plain")},e.createFileListMiscelanious=function(t){var r=[];return r.push(e.create_aac(t)),r.push(e.create_abw(t)),r.push(e.create_freearc(t)),r.push(e.create_avi(t)),r.push(e.create_azw(t)),r.push(e.create_octet(t)),r.push(e.create_bmp(t)),r.push(e.create_bz(t)),r.push(e.create_bz2(t)),r.push(e.create_cda(t)),r.push(e.create_csh(t)),r.push(e.create_css(t)),r.push(e.create_csv(t)),r.push(e.create_doc(t)),r.push(e.create_docx(t)),r.push(e.create_eot(t)),r.push(e.create_epub(t)),r.push(e.create_gzip(t)),r.push(e.create_gif(t)),r.push(e.create_htm(t)),r.push(e.create_html(t)),r.push(e.create_ico(t)),r.push(e.create_icalendar(t)),r.push(e.create_jar(t)),r.push(e.create_jpeg(t)),r.push(e.create_jpg(t)),r.push(e.create_js(t)),r.push(e.create_json(t)),r.push(e.create_jsonld(t)),r.push(e.create_mid(t)),r.push(e.create_midi(t)),r.push(e.create_x_mid(t)),r.push(e.create_x_midi(t)),r.push(e.create_mjs(t)),r.push(e.create_mp3(t)),r.push(e.create_mp4(t)),r.push(e.create_mpeg(t)),r.push(e.create_mpkg(t)),r.push(e.create_odp(t)),r.push(e.create_ods(t)),r.push(e.create_odt(t)),r.push(e.create_oga(t)),r.push(e.create_ogv(t)),r.push(e.create_ogx(t)),r.push(e.create_opus(t)),r.push(e.create_otf(t)),r.push(e.create_png(t)),r.push(e.create_pdf(t)),r.push(e.create_php(t)),r.push(e.create_ppt(t)),r.push(e.create_pptx(t)),r.push(e.create_rar(t)),r.push(e.create_rtf(t)),r.push(e.create_sh(t)),r.push(e.create_svg(t)),r.push(e.create_swf(t)),r.push(e.create_tar(t)),r.push(e.create_tif(t)),r.push(e.create_tiff(t)),r.push(e.create_ts(t)),r.push(e.create_ttf(t)),r.push(e.create_text(t)),r.push(e.create_typescript(t)),r.push(e.create_vsd(t)),r.push(e.create_wav(t)),r.push(e.create_weba(t)),r.push(e.create_webm(t)),r.push(e.create_webp(t)),r.push(e.create_woff(t)),r.push(e.create_woff2(t)),r.push(e.create_xhtml(t)),r.push(e.create_xlsx(t)),r.push(e.create_xls(t)),r.push(e.create_xml(t)),r.push(e.create_xml_txt(t)),r.push(e.create_xul(t)),r.push(e.create_zip(t)),r.push(e.create_python(t)),r.push(e.create_java(t)),r.push(e.create_react(t)),r.push(e.create_vue(t)),r},e}(),ft=function(e,t,r){return void 0===e&&(e="png-image-file-with-large-name.png"),void 0===t&&(t=455555),void 0===r&&(r="image/png"),dt.createFile(e,t,r)},mt=function(){function e(){}return e.getNextId=function(){return e.nextId++,e.nextId},e.nextId=0,e}();function gt(e,t){return void 0===e&&(e=0),void 0===t&&(t=0),Math.floor(Math.random()*(t-e))+e}var ht=function(e){return e&&0!==e.length?e.split(",").map((function(e){return e.trim()})):[]},xt=function(e,t){for(var r=t.name,a=t.type,n=0;n<e.length;n++){var o=e[n];if(0!==o.length){if("."===o.charAt(0)&&o.includes(Je(r)))return!0;if(a&&a.length>0&&o.includes("/")&&a.includes("/")){var i=o.split("/")[0],s=o.split("/")[1],c=a.split("/")[0],u=a.split("/")[1];if(i===c){if("*"===s)return!0;if(s===u)return!0}}}}return!1},bt=function(e,t,r,a){var n=st({},e),o=[];if(!e.file)return st({},n);if(t){var i=t(n.file).errors;i&&o.push.apply(o,i)}var s=r.maxFileSize,c=r.accept,u=e.file;if(s&&u.size>s){var l=a.maxSizeError;o.push(l(s))}c&&!xt(ht(c),u)&&o.push(a.acceptError);var p=0===o.length;return n=st(st({},n),{valid:p,errors:p?void 0:o})},vt=function(e,t,r,a){var n=mt.getNextId(),o=[];if(t)return st({id:n,file:e},t(e));var i=r.maxFileSize,s=r.accept;if(i&&e.size>i){var c=a.maxSizeError;o.push(c(i))}return s&&!xt(ht(s),e)&&o.push(a.acceptError),{id:n,file:e,valid:0===o.length,errors:o}},Ft=["File is too big. Max file size allowed is 80mb.","File's type is not allowed.","Max amount of files (28) has been reached."];function wt(e,t){for(var r=Object.keys(t||{}),a=0;a<r.length&&t;a++)e.append(r[a],t[r[a]]);e.append("otherValue","HAAAAAAAAAAAAAAa")}function _t(e,t){for(var r=Object.keys(t||{}),a=0;a<r.length&&t;a++)e.setRequestHeader(r[a],t[r[a]])}var Et={success:!1,message:"Timeout error",payload:{}},yt={success:!1,message:"Upload aborted",payload:{}},At={success:!1,message:"Error when parsing JSON response",payload:{}},zt={success:!1,message:"Unexpected error",payload:{}},St=function(e){return st(st({},e),{uploadMessage:"Unable to upload. xhr object was not provided",uploadStatus:"error",serverResponse:{success:!1}})},kt=function(e){try{var t=JSON.parse(e.response),r=t.success,a=t.message;return{success:"boolean"==typeof r&&r,message:"string"==typeof a?a:"Error on message response",payload:t.payload||{}}}catch(e){return At}},Dt=function(e,t){return st(st({},e),{serverResponse:t,uploadMessage:t.message,uploadStatus:"success"})},Rt=function(e,t){return st(st({},e),{uploadMessage:t.message,uploadStatus:"error",serverResponse:t})},Ct=function(e,t,r,a,n){return void 0===t&&(t="POST"),new Promise((function(o,i){var s=["POST","PUT","PATCH"].includes(t.toUpperCase())?t:"POST";e.upload.onload=function(){},e.upload.ontimeout=function(){return o(Et)},e.upload.onabort=function(){o(yt)},e.onloadend=function(e){return ct(void 0,void 0,void 0,(function(){return ut(this,(function(e){return[2]}))}))},e.onreadystatechange=function(t){return ct(void 0,void 0,void 0,(function(){return ut(this,(function(t){return e.readyState,4===e.readyState&&(""!==e.response?o(kt(e)):o(yt)),[2]}))}))},e.open(s,r,!0),_t(e,n),e.send(a)}))};var Mt={indianred:"#CD5C5C",lightcoral:"#F08080",salmon:"#FA8072",darksalmon:"#E9967A",lightsalmon:"#FFA07A",crimson:"#DC143C",red:"#FF0000",firebrick:"#B22222",darkred:"#8B0000",pink:"#FFC0CB",lightpink:"#FFB6C1",hotpink:"#FF69B4",deeppink:"#FF1493",mediumvioletred:"#C71585",palevioletred:"#DB7093",coral:"#FF7F50",tomato:"#FF6347",orangered:"#FF4500",darkorange:"#FF8C00",orange:"#FFA500",gold:"#FFD700",yellow:"#FFFF00",lightyellow:"#FFFFE0",lemonchiffon:"#FFFACD",lightgoldenrodyellow:"#FAFAD2",papayawhip:"#FFEFD5",moccasin:"#FFE4B5",peachpuff:"#FFDAB9",palegoldenrod:"#EEE8AA",khaki:"#F0E68C",darkkhaki:"#BDB76B",lavender:"#E6E6FA",thistle:"#D8BFD8",plum:"#DDA0DD",violet:"#EE82EE",orchid:"#DA70D6",fuchsia:"#FF00FF",magenta:"#FF00FF",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",rebeccapurple:"#663399",blueviolet:"#8A2BE2",darkviolet:"#9400D3",darkorchid:"#9932CC",darkmagenta:"#8B008B",purple:"#800080",indigo:"#4B0082",slateblue:"#6A5ACD",darkslateblue:"#483D8B",mediumslateblue:"#7B68EE",greenyellow:"#ADFF2F",chartreuse:"#7FFF00",lawngreen:"#7CFC00",lime:"#00FF00",limegreen:"#32CD32",palegreen:"#98FB98",lightgreen:"#90EE90",mediumspringgreen:"#00FA9A",springgreen:"#00FF7F",mediumseagreen:"#3CB371",seagreen:"#2E8B57",forestgreen:"#228B22",green:"#008000",darkgreen:"#006400",yellowgreen:"#9ACD32",olivedrab:"#6B8E23",olive:"#808000",darkolivegreen:"#556B2F",mediumaquamarine:"#66CDAA",darkseagreen:"#8FBC8B",lightseagreen:"#20B2AA",darkcyan:"#008B8B",teal:"#008080",aqua:"#00FFFF",cyan:"#00FFFF",lightcyan:"#E0FFFF",paleturquoise:"#AFEEEE",aquamarine:"#7FFFD4",turquoise:"#40E0D0",mediumturquoise:"#48D1CC",darkturquoise:"#00CED1",cadetblue:"#5F9EA0",steelblue:"#4682B4",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",lightblue:"#ADD8E6",skyblue:"#87CEEB",lightskyblue:"#87CEFA",deepskyblue:"#00BFFF",dodgerblue:"#1E90FF",cornflowerblue:"#6495ED",royalblue:"#4169E1",blue:"#0000FF",mediumblue:"#0000CD",darkblue:"#00008B",navy:"#000080",midnightblue:"#191970",cornsilk:"#FFF8DC",blanchedalmond:"#FFEBCD",bisque:"#FFE4C4",navajowhite:"#FFDEAD",wheat:"#F5DEB3",burlywood:"#DEB887",tan:"#D2B48C",rosybrown:"#BC8F8F",sandybrown:"#F4A460",goldenrod:"#DAA520",darkgoldenrod:"#B8860B",peru:"#CD853F",chocolate:"#D2691E",saddlebrown:"#8B4513",sienna:"#A0522D",brown:"#A52A2A",maroon:"#800000",white:"#FFFFFF",snow:"#FFFAFA",honeydew:"#F0FFF0",mintcream:"#F5FFFA",azure:"#F0FFFF",aliceblue:"#F0F8FF",ghostwhite:"#F8F8FF",whitesmoke:"#F5F5F5",seashell:"#FFF5EE",beige:"#F5F5DC",oldlace:"#FDF5E6",floralwhite:"#FFFAF0",ivory:"#FFFFF0",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lavenderblush:"#FFF0F5",mistyrose:"#FFE4E1",gainsboro:"#DCDCDC",lightgray:"#D3D3D3",silver:"#C0C0C0",darkgray:"#A9A9A9",gray:"#808080",dimgray:"#696969",lightslategray:"#778899",slategray:"#708090",darkslategray:"#2F4F4F",black:"#000000"},jt=function(e,t,r){void 0===t&&(t=0);var a=r||"rgba(255, 255, 255, 0.6)";if(!e)return a;var n=e.toUpperCase();if(n.includes("RGBA"))return n;if(n.includes("RGB"))return n.replace("RGB","rgba").replace(")",", ".concat(t,")"));if(!It(Tt(n)))return a;var o,i,s;return o=16*Bt(n.charAt(1))+Bt(n.charAt(2)),i=16*Bt(n.charAt(3))+Bt(n.charAt(4)),s=16*Bt(n.charAt(5))+Bt(n.charAt(6)),"rgba(".concat(o,", ").concat(i,",").concat(s," , ").concat(t,")")},It=function(e){if("#"!==e.charAt(0))return!1;if(7!==e.length)return!1;for(var t=1;t<e.length;t++)if(!Lt.includes(e.charAt(t)))return!1;return!0};function Tt(e){return e?void 0!==Mt[e.toLocaleLowerCase()]?Mt[e.toLocaleLowerCase()]:e:""}var Lt=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"],Ut=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],Bt=function(e){return Lt.includes(e)?Ut[Lt.indexOf(e)]:0},Nt=function(e){return void 0!==e&&""!==e?e:Pt},Pt="#646c7f";exports.ABORTED_ERROR_RESPONSE=yt,exports.DropzoneEnglish=s,exports.DropzoneFrench=n,exports.DropzoneItalian=t,exports.DropzoneLocalizer=z,exports.DropzoneLocalizerSelector=S,exports.DropzonePortuguese=h,exports.DropzoneRussian=f,exports.DropzoneSimplifiedChinese=v,exports.DropzoneSpanish=l,exports.DropzoneTraditionalChinese=_,exports.ExtFileInstance=it,exports.ExtFileManager=pt,exports.FileIdGenerator=mt,exports.FileItemEnglish=c,exports.FileItemFrench=o,exports.FileItemItalian=r,exports.FileItemLocalizer=A,exports.FileItemLocalizerSelector=function(e){switch(e){case"ES-es":return A["ES-es"];case"EN-en":default:return A["EN-en"];case"FR-fr":return A["FR-fr"];case"IT-it":return A["IT-it"];case"PT-pt":return A["PT-pt"];case"RU-ru":return A["RU-ru"];case"ZH-cn":return A["ZH-cn"];case"ZH-hk":return A["ZH-hk"]}},exports.FileItemPortuguese=x,exports.FileItemRussian=m,exports.FileItemSimplifiedChinese=F,exports.FileItemSpanish=p,exports.FileItemTraditionalChinese=E,exports.FuiUpload=function(e,t,r,a,n){return new Promise((function(o,i){e.upload.onload=function(){},e.upload.ontimeout=function(){return o(Et)},e.upload.onabort=function(){return o(yt)},e.onreadystatechange=function(t){return ct(void 0,void 0,void 0,(function(){return ut(this,(function(t){return 4===e.readyState&&(""!==e.response?o(kt(e)):o(zt)),[2]}))}))},e.open(t,r,!0);for(var s=Object.keys(n),c=0;c<s.length;c++)e.setRequestHeader(s[c],n[s[c]]);e.send(a)}))},exports.JSON_PARSE_ERROR_RESPONSE=At,exports.JsonParseResponse=kt,exports.NAMED_COLORS=Mt,exports.NO_XHR_PROVIDED_ERROR=St,exports.SyntheticFile=dt,exports.TIMEOUT_ERROR_RESPONSE=Et,exports.UNEXPECTED_ERROR_RESPONSE=zt,exports.ValidateErrorEnglish=u,exports.ValidateErrorFrench=i,exports.ValidateErrorItalian=a,exports.ValidateErrorLocalizer=k,exports.ValidateErrorLocalizerSelector=D,exports.ValidateErrorPortuguese=b,exports.ValidateErrorRussian=g,exports.ValidateErrorSimplifiedChinese=w,exports.ValidateErrorSpanish=d,exports.ValidateErrorTraditionalChinese=y,exports.aac=C,exports.abw=M,exports.accdb=j,exports.addClassName=function(e,t){return t?"".concat(e," ").concat(t):e},exports.addExtraData=wt,exports.addHeaders=_t,exports.applicationSelector=tt,exports.asureColor=Nt,exports.audioSelector=Qe,exports.avi=I,exports.azw=T,exports.bmp=L,exports.brighterColor=function(e,t){void 0===t&&(t=25);var r="",a=(100+t)/100,n=0,o=0,i=0;if(It(Tt(e)))n=16*Bt(e.charAt(1))+Bt(e.charAt(2)),o=16*Bt(e.charAt(3))+Bt(e.charAt(4)),i=16*Bt(e.charAt(5))+Bt(e.charAt(6)),r="rgb(".concat(n*a,", ").concat(o*a,",").concat(i*a,")");else if(e.includes("rgba")){var s=e.replace("rgba(","").split(",");r="rgb(".concat(parseInt(s[0],10)*a,", ").concat(parseInt(s[1],10)*a,",").concat(parseInt(s[2],10)*a,")")}else if(e.includes("rgb")){s=e.replace("rgb(","").split(",");r="rgb(".concat(parseInt(s[0],10)*a,", ").concat(parseInt(s[1],10)*a,",").concat(parseInt(s[2],10)*a,")")}return r},exports.bz=U,exports.bz2=B,exports.cda=N,exports.checkIsCode=nt,exports.cleanInput=function(e){e&&(e.value="")},exports.colourNameToHex=Tt,exports.completeAsureColor=function(e,t){return void 0===t&&(t=1),jt(Nt(Tt(e)),t)},exports.completeUploadResult=function(e,t,r){return{id:e.id,uploadedFile:st(st({},e),{uploadMessage:t.message,uploadStatus:r}),serverResponse:t}},exports.createListOfMultiTypeFile=function(e){return dt.createFileListMiscelanious(e)},exports.createSyntheticFile=ft,exports.createUploadConfig=function(e,t,r,a,n){return{url:e,method:t,headers:r,uploadLabel:a,cleanonUpload:n}},exports.csh=P,exports.css=O,exports.csv=q,exports.darkerColor=function(e,t){void 0===t&&(t=25);var r="",a=(100-t)/100,n=0,o=0,i=0;if(It(Tt(e)))n=16*Bt(e.charAt(1))+Bt(e.charAt(2)),o=16*Bt(e.charAt(3))+Bt(e.charAt(4)),i=16*Bt(e.charAt(5))+Bt(e.charAt(6)),r="rgb(".concat(n*a,", ").concat(o*a,",").concat(i*a,")");else if(e.includes("rgba")){var s=e.replace("rgba(","").split(",");r="rgb(".concat(parseInt(s[0],10)*a,", ").concat(parseInt(s[1],10)*a,",").concat(parseInt(s[2],10)*a,")")}else if(e.includes("rgb")){s=e.replace("rgb(","").split(",");r="rgb(".concat(parseInt(s[0],10)*a,", ").concat(parseInt(s[1],10)*a,",").concat(parseInt(s[2],10)*a,")")}return r},exports.docx=H,exports.drawio=V,exports.eot=Z,exports.epub=G,exports.extFileMock=function(e){return{id:e||mt.getNextId(),name:"fileName.ext",size:29360128,type:"files-ui/mock",file:ft("fileName.ext",29360128,"files-ui/mock"),errors:Ft,uploadMessage:"uploaded",uploadStatus:"preparing",valid:!1,progress:28,xhr:new XMLHttpRequest,extraData:{extraData1:"files-ui is the best",extraData2:{id:1,name:"files-ui.mock"},deleted:!0},downloadUrl:"https://www.files-ui.com/mock/file-download"}},exports.extFileReconcilation=function(e,t){var r=pt.getExtFileInstanceList(e);if(r){var a=lt([],t,!0);if(a=a.filter((function(e){return-1===(null==r?void 0:r.findIndex((function(t){return t.id===e.id})))})),r.length!==t.length||0===t.length)return;for(var n=0;n<r.length;n++)void 0===t[n].uploadStatus&&"preparing"===r[n].uploadStatus&&(r[n].uploadStatus=void 0)}return[]},exports.extensionSelector=at,exports.fakeFuiUpload=function(e,t){void 0===t&&(t=S("EN-en"));var r=e.toExtFile();return new Promise((function(e,a){setTimeout((function(){if(Math.floor(10*Math.random())%2==0){var a=!0,n=t.fakeuploadsuccess,o={url:""};e(st(st({},r),{serverResponse:{success:a,message:n,payload:o},uploadStatus:"success",uploadMessage:n}))}else{a=!1,n=t.fakeUploadError,o={};e(st(st({},r),{serverResponse:{success:a,message:n,payload:o},uploadStatus:"error",uploadMessage:n}))}}),1700)}))},exports.fileListToExtFileArray=function(e){for(var t=[],r=0,a=void 0;a=e[r];r++)t.push({id:mt.getNextId(),file:a,name:a.name,size:a.size,type:a.type});return t},exports.fileListToExtFileInstanceArray=function(e){for(var t=[],r=0,a=void 0;a=e[r];r++)t.push(new it({id:mt.getNextId(),file:a,name:a.name,size:a.size,type:a.type}));return t},exports.fileListvalidator=function(e,t,r,a,n,o){for(var i=[],s=t,c=D(o),u=0,l=void 0;l=e[u];u++){var p=vt(l,a,r,c);if(p.valid){var d=s>0;if(p.valid=d,!d){var f=c.maxFileCount;p.errors=p.errors?lt(lt([],p.errors,!0),[f(n||1/0)],!1):[f(n||1/0)]}s--}i.push(p)}return i},exports.fileSizeFormater=e,exports.fontSelector=Ye,exports.freearc=X,exports.getExt=Je,exports.getImageOrientation=function(e){return new Promise((function(t,r){if(e&&0!==e.length)try{var a=new Image;a.src=e,a.onerror=function(e){r("landscape")},a.onload=function(){var e=a.width,r=a.height;t(e>r?"landscape":"portrait")}}catch(e){"development"===process.env.NODE_ENV&&console.error("An error ocurred when trying to get the image orientation"),r("landscape")}else r("landscape")}))},exports.getLocalFileItemData=function(e,t,r,a){var n="",o=void 0,i=void 0;return e&&"string"==typeof e.name?(n=e.name,o=e.type,i=e.size):t&&"string"==typeof t&&(n=t,o=r,i=a),[n,o,i]},exports.getRandomInt=gt,exports.getURLFileIco=function(e,t){var r="fallBack";if(!e)return r=Ke,(null==t?void 0:t.fallBack)?{url:null==t?void 0:t.fallBack,mimeResume:r}:{url:ot[r],mimeResume:r};r=rt(e.type);var a=Je(e.name);"text"===r&&(r=nt(a)),r===Ke&&(r=at(a));var n=null==t?void 0:t[r];return void 0!==n?{url:n,mimeResume:r}:{url:ot[r],mimeResume:r}},exports.getURLFileIcoFromNameAndType=function(e,t,r){var a="octet";if(!e)return a=Ke,(null==r?void 0:r.fallBack)?{url:null==r?void 0:r.fallBack,mimeResume:a}:{url:ot[a],mimeResume:a};a=rt(t);var n=Je(e);"text"===a&&(a=nt(n)),a===Ke&&(a=at(n));var o=null==r?void 0:r[a];return void 0!==o?{url:o,mimeResume:a}:{url:ot[a],mimeResume:a}},exports.gif=J,exports.gzip=K,exports.hexColorToRGB=jt,exports.hexTodec=Bt,exports.html=Q,exports.icalendar=W,exports.imageSelector=$e,exports.instantPreparingToUploadOne=function(e){return"preparing"===e.uploadStatus?(e.uploadStatus="uploading",st(st({},e),{uploadStatus:"uploading"})):e},exports.isHexColor=It,exports.isUploadAbleExtFile=function(e,t){return(!t||t&&e.valid)&&"success"!==e.uploadStatus},exports.isValidateActive=function(e,t,r,a){return null!=e||null!=t||null!=r||null!=a},exports.jar=Y,exports.java=$,exports.javascript=ee,exports.jpeg=te,exports.json=re,exports.jsonld=ae,exports.makeErrorUploadResponse=Rt,exports.makeServerResponse=function(e,t,r){return{success:e,message:t,payload:r}},exports.makeSuccessUploadResponse=Dt,exports.makeSyntheticExtFile=function(e,t,r,a){void 0===t&&(t=Math.ceil(28*Math.random())%2==0);var n=[],o=r||function(){switch(gt(0,4)){case 0:return"error";case 1:return"uploading";case 2:return"success";default:return}}(),i=a||"";if(t){if(!a)switch(o){case"error":i="Upload failed. There was an error";break;case"success":i="File was successfully upload";break;default:a=void 0}n=void 0}else{var s=gt(0,3);n.push(Ft[s]),o=void 0,i=void 0}return{id:mt.getNextId(),valid:t,file:e,uploadStatus:o,uploadMessage:i,errors:n}},exports.midi=ne,exports.mimeSelector=rt,exports.mp3=oe,exports.mp4=ie,exports.mpeg=se,exports.mpkg=ce,exports.octet=ue,exports.odp=le,exports.ods=pe,exports.odt=de,exports.oga=fe,exports.ogv=me,exports.ogx=ge,exports.opus=he,exports.otf=xe,exports.pdf=be,exports.php=ve,exports.png=Fe,exports.pptx=we,exports.prepToUploadOne=function(e){return new Promise((function(t,r){setTimeout((function(){e.uploadStatus="uploading",t(st(st({},e),{uploadStatus:"uploading"}))}),1500)}))},exports.preparingToUploadOne=function(e){return new Promise((function(t,r){setTimeout((function(){"preparing"===e.uploadStatus?(e.uploadStatus="uploading",t(st(st({},e),{uploadStatus:"uploading"}))):t(e)}),1500)}))},exports.psd=_e,exports.python=Ee,exports.rar=Ae,exports.react=ze,exports.readAsArrayBuffer=function(e,t,r){return new Promise((function(a,n){try{var o=new FileReader;o.onload=function(){a(o.result)},o.onprogress=function(){null==t||t()},o.onerror=function(){null==r||r()},o.readAsArrayBuffer(e)}catch(e){n(void 0)}}))},exports.readAsBinaryString=function(e,t,r){return new Promise((function(a,n){try{var o=new FileReader;o.onload=function(){a(o.result)},o.onprogress=function(){null==t||t()},o.onerror=function(){null==r||r()},o.readAsBinaryString(e)}catch(e){n(void 0)}}))},exports.readAsDataURL=function(e,t,r){return new Promise((function(a,n){try{var o=new FileReader;o.onprogress=function(){null==t||t()},o.onerror=function(){null==r||r()},o.onload=function(){a(o.result)},o.readAsDataURL(e)}catch(e){n(void 0)}}))},exports.readAsText=function(e,t,r,a){return new Promise((function(n,o){try{var i=new FileReader;i.onload=function(){n(i.result)},i.onprogress=function(){null==r||r()},i.onerror=function(){null==a||a()},i.readAsText(e,t||"base64")}catch(e){o(void 0)}}))},exports.resizeImage=function(e,t,r){return void 0===t&&(t=135),void 0===r&&(r=120),new Promise((function(a,n){try{var o=new Image;o.src=e,o.onload=function(){var i=document.createElement("canvas"),s=t,c=r,u=o.width,l=o.height;t>u&&r>l?a(e):u>l?u>s&&(l*=s/u,u=s):l>c&&(u*=c/l,l=c),i.width=u,i.height=l;var p=i.getContext("2d");p?(p.drawImage(o,0,0,u,l),a(i.toDataURL())):("development"===process.env.NODE_ENV&&console.error("An error ocurred when trying to make a thumnail"),n(void 0))}}catch(e){"development"===process.env.NODE_ENV&&console.error("An error ocurred when trying to make a thumnail"),n(void 0)}}))},exports.rtf=Se,exports.sanitizeArrExtFile=function(e){return e.filter((function(e){var t;return!(null===(t=e.extraData)||void 0===t?void 0:t.deleted)})).map((function(e){return"aborted"!==e.uploadStatus||e.uploadMessage||(e.uploadMessage="Upload aborted by user"),it.toExtFile(e)}))},exports.sass=ke,exports.separateAccept=ht,exports.setNextUploadStatus=function(e,t){var r=e.uploadStatus,a=t.uploadStatus;"preparing"===r&&["aborted",void 0].includes(a)?(e.uploadStatus=void 0,e.uploadMessage=t.uploadMessage):"uploading"===r&&["aborted",void 0].includes(a)&&(e.uploadStatus="aborted",e.uploadMessage=t.uploadMessage)},exports.setPrepToUploading=function(e){return new Promise((function(t,r){setTimeout((function(){t(st(st({},e),{uploadStatus:"uploading"}))}),1500)}))},exports.sevenzip=R,exports.sh=De,exports.shrinkWord=function(e,t){void 0===e&&(e=""),void 0===t&&(t=!1);var r=e;return t?e.length>=20&&(r=e.slice(0,10)+"..."+e.slice(-7)):e.length>=30&&(r=e.slice(0,13)+"..."+e.slice(-8)),r},exports.sleepPreparing=function(e){return void 0===e&&(e=5e3),new Promise((function(t,r){setTimeout((function(){t()}),e)}))},exports.sleepTransition=function(e){return void 0===e&&(e=1500),new Promise((function(t,r){setTimeout((function(){t(!0)}),e)}))},exports.swf=Re,exports.tar=ye,exports.text=Ce,exports.textSelector=We,exports.tiff=Me,exports.toUploadableExtFileList=function(e){return e?e.map((function(e){return st(st({},e),{xhr:new XMLHttpRequest})})):[]},exports.ttf=je,exports.typescript=Ie,exports.unableToUploadResult=function(e){return{id:e.id,uploadedFile:st(st({},e),{uploadMessage:"Unable to upload. XHR was not provided",uploadStatus:"error"}),serverResponse:{success:!1,message:"Error on upload: Unable to upload. XHR was not provided ",payload:{}}}},exports.unexpectedErrorUploadResult=function(e){return st(st({},e),{uploadMessage:"Unexpected error",uploadStatus:"error",serverResponse:{success:!1,message:"Error on upload: unexpected error ",payload:{}}})},exports.uploadExtFile=function(e,t,r,a,n){return ct(void 0,void 0,void 0,(function(){return ut(this,(function(o){return[2,new Promise((function(o,i){return ct(void 0,void 0,void 0,(function(){var i,s,c,u,l,p;return ut(this,(function(d){switch(d.label){case 0:return d.trys.push([0,2,,3]),(i=e.xhr)?(s=r||"POST",c=e.file,(u=new FormData).append(n||"file",c),l=st({otherValue:"other valueee haaaa",param2:{tecnica:"KIKOHUUUU",friend:"Chaos",age:25}},e.extraUploadData),wt(u,l),p=void 0,[4,Ct(i,s,t,u,a||{})]):(o(St(e)),[2]);case 1:return(p=d.sent()).success?o(Dt(e,p)):o(Rt(e,p)),[3,3];case 2:return d.sent(),o(Rt(e,zt)),[3,3];case 3:return[2]}}))}))}))]}))}))},exports.uploadFile=function(e,t,r,a,n){var o=this;return new Promise((function(i,s){return ct(o,void 0,void 0,(function(){var o,s;return ut(this,(function(c){switch(c.label){case 0:(o=new FormData).append(a||"file",e),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Ct(new XMLHttpRequest,r,t,o,n)];case 2:return s=c.sent(),i(s),[3,4];case 3:return c.sent(),i(zt),[3,4];case 4:return[2]}}))}))}))},exports.uploadFormData=Ct,exports.uploadOne=function(e){return new Promise((function(t,r){setTimeout((function(){t(st(st({},e),{uploadStatus:"success"}))}),2e3)}))},exports.uploadOneExtFile=function(e){return new Promise((function(t,r){setTimeout((function(){e.uploadStatus="success",t(st(st({},e),{uploadStatus:"success"}))}),2e3)}))},exports.validateAccept=xt,exports.validateExtFile=bt,exports.validateExtFileList=function(e,t,r,a,n,o){var i=[];if(!t)return i;for(var s=t,c=D(o),u=c.maxFileCount,l=0;l<e.length;l++){var p=e[l];if((p=bt(p,a,r,c)).valid){var d=s>0;p.valid=d,d||(p.errors=p.errors?lt(lt([],p.errors,!0),[u(n||1/0)],!1):[u(n||1/0)]),s--}i.push(p)}return i},exports.validateFile=vt,exports.videoSelector=et,exports.vsd=Te,exports.vue=Le,exports.wav=Ue,exports.weba=Ne,exports.webm=Be,exports.webp=Pe,exports.wma=Oe,exports.wmv=qe,exports.woff=He,exports.xlsx=Ve,exports.xml=Ze,exports.xul=Ge,exports.zip=Xe; -//# sourceMappingURL=index.js.map diff --git a/src/files-ui/core/index.js.map b/src/files-ui/core/index.js.map deleted file mode 100644 index bfd639ec327266600a8f7301ac3a51d3791fe975..0000000000000000000000000000000000000000 --- a/src/files-ui/core/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["../src/utils/fileSizeFormatter.ts","../src/localization/Italian/localization.italian.ts","../src/localization/French/localization.french.ts","../src/localization/English/localization.english.ts","../src/localization/Spanish/localization.spanish.ts","../src/localization/Russian/localization.russian.ts","../src/localization/Portuguese/localization.portuguese.ts","../src/localization/Chinese-simplified/localization.simplifiedChinese.ts","../src/localization/Chinese-traditional/localization.traditionalChinese.ts","../src/localization/FileItem.localization.ts","../src/localization/dropzone.localization.ts","../src/localization/validationError.localization.ts","../src/mime/icons.ts","../src/utils/getExt.ts","../src/mime/mime.ts","../src/types/ExtFile.ts","../src/types/ExtFileManager.ts","../src/synthetic-file/SyntheticFile.ts","../src/utils/IdGenerator.ts","../src/utils/randomInt.ts","../src/utils/input.utils.ts","../src/validation/separateAccept.ts","../src/validation/validateAccept.ts","../src/validation/fileValidator.ts","../src/validation/fakeerros.ts","../src/upload/addExtraData.upload.ts","../src/upload/addheaders.upload.ts","../src/upload/errors.upload.ts","../src/upload/response.upload.ts","../src/upload/upload.ts","../src/color/namedColors.ts","../src/color/colors.ts","../src/utils/addClassName.ts","../src/upload/utils.upload.ts","../src/types/UploadConfig.ts","../src/mocks/extFileMock.ts","../src/file-manager/reconcilation.ts","../src/utils/fakeupload.utils.ts","../src/utils/fileListParser.ts","../src/reader/imageOrientation.ts","../src/utils/getLocalFileItemData.ts","../src/utils/isUploadAbleExtFile.ts","../src/utils/dropzone.utils.ts","../src/synthetic-file/syntheticfileGenerator.ts","../src/validation/randomStatus.ts","../src/reader/readers.ts","../src/reader/resizeImage.ts","../src/utils/shrinkWord.ts"],"sourcesContent":["/**\r\n * Gives a XX.XX format in Bytes KB, MB, GB or TB\r\n * @param fileSize file size to give format in Bytes\r\n */\r\n export const fileSizeFormater = (fileSize?: number | false): string| undefined => {\r\n let result = \"\";\r\n if (!fileSize) {\r\n return undefined;\r\n }\r\n if (fileSize < 1024) {\r\n result = fileSize + \" Bytes\"\r\n } else {\r\n //KB\r\n if (fileSize < 1024 * 1024) {\r\n result = (fileSize / 1024).toFixed(2) + \" KB\";\r\n } else if (fileSize < 1024 * 1024 * 1024) {\r\n result = ((fileSize / 1024) / 1024).toFixed(2) + \" MB\";\r\n } else if (fileSize < 1024 * 1024 * 1024 * 1024) {\r\n result = (((fileSize / 1024) / 1024) / 1024).toFixed(2) + \" GB\";\r\n } else {\r\n result = ((((fileSize / 1024) / 1024) / 1024) / 1024).toFixed(2) + \" TB\";\r\n }\r\n }\r\n return result;\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Italian translation for Dropzone component\r\n */\r\nexport const DropzoneItalian: LocalLabels = {\r\n defaultLabel: \"Trascina qui i tuoi file\",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Caricamento di ${amountOfFiles} file`; },\r\n uploadFinished: (uploaded, rejected) => `File caricati: ${uploaded}, File rifiutati: ${rejected}`,\r\n noFilesMessage: `Nessun file valido in attesa di essere caricato`,\r\n footer: {\r\n acceptAll: `Tutti i tipi di file sono accettati`,\r\n acceptCustom: (accept) => `Tipi di file consentiti: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Caricamento\",\r\n maxSizeMessage: (maxFileSize) => `Dimensione massima ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `File ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"Il file è stato caricato con successo \",\r\n fakeUploadError: \"Errore di caricamento del file\",\r\n}\r\n\r\n/**\r\n * Italian translation for FileItem component\r\n */\r\nexport const FileItemItalian: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Nome: `,\r\n size: \"Dimensione: \",\r\n type: \"Tipo: \"\r\n },\r\n status: {\r\n preparing:\"preparazione\",\r\n uploading: \"In corso\",\r\n success: \"Successo\",\r\n valid: \"Valido\",\r\n denied: \"Non válido\",\r\n error: \"Errore\",\r\n aborted:\"Interrotto\"\r\n },\r\n}\r\n/**\r\n * Italian translation for Validation Errors\r\n */\r\n export const ValidateErrorItalian: LocalLabels = {\r\n maxSizeError: (maxSize) => `Il file è molto grande. Il tam. il massimo è ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Tipo di file illegale`,\r\n maxFileCount: (maxFiles) => `Numero massimo di file (${maxFiles}) raggiunto`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * French translation for Dropzone component\r\n */\r\nexport const DropzoneFrench: LocalLabels = {\r\n defaultLabel: \"Déposez vos fichiers ici\",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Envoi de ${amountOfFiles} fichiers`; },\r\n uploadFinished: (uploaded, rejected) => `Fichiers téléchargés : ${uploaded}, Fichiers rejetés: ${rejected}`,\r\n noFilesMessage: `Aucun fichier valide ne manque`,\r\n footer: {\r\n acceptAll: `Tous types de fichiers acceptés `,\r\n acceptCustom: (accept) => `Types de fichier: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Envoyer\",\r\n maxSizeMessage: (maxFileSize) => `Taille maximale ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Fichiers ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"Le fichier a été téléchargé avec succès\",\r\n fakeUploadError: \"Erreur lors du téléchargement \",\r\n}\r\n\r\n/**\r\n * French translation for FileItem component\r\n */\r\nexport const FileItemFrench: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Le nom: `,\r\n size: \"Le taille: \",\r\n type: \"Le type: \"\r\n },\r\n status: {\r\n preparing:\"préparer\",\r\n uploading: \"En cours\",\r\n success: \"Succès\",\r\n valid: \"Valide\",\r\n denied: \"Refusé\",\r\n error: \"Erreur\",\r\n aborted:\"Interrompu\"\r\n },\r\n}\r\n/**\r\n * French translation for Validation Errors\r\n */\r\n export const ValidateErrorFrench: LocalLabels = {\r\n maxSizeError: (maxSize) => `Le fichier est très volumineux. Le tam. le maximum est de ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Type de fichier illégal `,\r\n maxFileCount: (maxFiles) => `Limite de fichiers atteinte (${maxFiles})`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * English translation for Dropzone component\r\n */\r\nexport const DropzoneEnglish: LocalLabels = {\r\n defaultLabel: \"Drop your files here\",\r\n uploadingMessage: (amountOfFiles) => { return `Uploading ${amountOfFiles} files`; },\r\n uploadFinished: (uploaded, rejected) => `Uploaded files: ${uploaded}, Rejected files: ${rejected}`,\r\n noFilesMessage: `There is no missing valid file to upload`,\r\n footer: {\r\n acceptAll: `All file types accepted`,\r\n acceptCustom: (accept) => `Allowed types: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Upload files\",\r\n maxSizeMessage: (maxFileSize) => `Max file size: ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Files ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"File was successfuly uploaded\",\r\n fakeUploadError: \"Error on uploading. Please try again later.\",\r\n}\r\n\r\n/**\r\n * English translation for FileItem component\r\n */\r\nexport const FileItemEnglish: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Name: `,\r\n size: \"Size: \",\r\n type: \"Type: \"\r\n },\r\n status: {\r\n preparing:\"Preparing\",\r\n uploading: \"Uploading\",\r\n success: \"Success\",\r\n valid: \"Valid\",\r\n denied: \"Not valid\",\r\n error: \"Error\",\r\n aborted:\"Aborted\"\r\n },\r\n}\r\n\r\n/**\r\n * English translation for Validation Errors\r\n */\r\nexport const ValidateErrorEnglish: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `File is too big. Max file size allowed is ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `File type is not allowed`,\r\n maxFileCount: (maxFiles) =>\r\n `Max amount of files (${maxFiles}) has been reached`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Spanish translation for Dropzone component\r\n */\r\nexport const DropzoneSpanish: LocalLabels = {\r\n defaultLabel: \"Suelta tus archivos aquí\",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Subiendo ${amountOfFiles} archivos`; },\r\n uploadFinished: (uploaded, rejected) => `Archivos subidos: ${uploaded}, Archivos rechazados: ${rejected}`,\r\n noFilesMessage: `No hay archivos válidos pendientes por subir`,\r\n footer: {\r\n acceptAll: `Todos los tipos de archivo aceptados`,\r\n acceptCustom: (accept) => `Tipo(s) de archivo permitidos: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Subir\",\r\n maxSizeMessage: (maxFileSize) => `Tam. máximo ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Archivos ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"El archivo se subió correctamente\",\r\n fakeUploadError: \"Error al subir el archivo\",\r\n}\r\n\r\n/**\r\n * Spanish translation for FileItem component\r\n */\r\nexport const FileItemSpanish: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Nombre: `,\r\n size: \"Tamaño: \",\r\n type: \"Tipo: \"\r\n },\r\n status: {\r\n preparing:\"Preparando\",\r\n uploading: \"Subiendo\",\r\n success: \"Éxito\",\r\n valid: \"Válido\",\r\n denied: \"No válido\",\r\n error: \"Error\",\r\n aborted: \"Anulado\"\r\n },\r\n}\r\n/**\r\n * Spanish translation for Validation Errors\r\n */\r\nexport const ValidateErrorSpanish: LocalLabels = {\r\n maxSizeError: (maxSize) => `El archivo es muy grande. El tam. máximo es ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Tipo de archivo no permitido`,\r\n maxFileCount: (maxFiles) => `Cantidad máxima de archivos (${maxFiles}) alcanzada`\r\n}\r\n","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Russian translation for Dropzone component\r\n */\r\nexport const DropzoneRussian: LocalLabels = {\r\n defaultLabel: \"Перетащите сюда свои файлы.\",\r\n uploadingMessage: (amountOfFiles) => { return `Выгрузка ${amountOfFiles} файлов`; },\r\n uploadFinished: (uploaded, rejected) => `Загружено файлов: ${uploaded}, отклоненных файлов: ${rejected}`,\r\n noFilesMessage: `Действительный файл не отсутствует для загрузки`,\r\n footer: {\r\n acceptAll: `Принимаются все типы файлов `,\r\n acceptCustom: (accept) => `Допустимые типы: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Отправить\",\r\n maxSizeMessage: (maxFileSize) => `макс размер: ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Файлы ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"Файл был успешно загружен\",\r\n fakeUploadError: \"Ошибка при загрузке\",\r\n}\r\n\r\n/**\r\n * Russian translation for FileItem component\r\n *\r\n */\r\nexport const FileItemRussian: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Имя: `,\r\n size: \"Размер: \",\r\n type: \"Tип: \"\r\n },\r\n status: {\r\n preparing:\"подготовка\",\r\n uploading: \"Загрузка\",\r\n success: \"успех\",\r\n valid: \"годный\",\r\n denied: \"выкинутый\",\r\n error: \"ошибка\",\r\n aborted:\"прерванный\"\r\n },\r\n}\r\n\r\n/**\r\n * Russian translation for Validation Errors\r\n */\r\nexport const ValidateErrorRussian: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `Файл слишком большой. Максимально допустимый размер файла - ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `Тип файла не разрешен`,\r\n maxFileCount: (maxFiles) =>\r\n `Достигнуто максимальное количество файлов (${maxFiles})`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n/**\r\n * Portuguese translation for Dropzone\r\n */\r\nexport const DropzonePortuguese: LocalLabels = {\r\n defaultLabel: \"Solte seus arquivos aqui \",\r\n\r\n uploadingMessage: (amountOfFiles) => { return `Enviando ${amountOfFiles} arquivos`; },\r\n uploadFinished: (uploaded, rejected) => `Arquivos enviados: ${uploaded}, Arquivos rejeitados: ${rejected}`,\r\n noFilesMessage: `Nenhum arquivo válido está faltando para enviar`,\r\n footer: {\r\n acceptAll: `Todos os tipos de arquivo são aceitos`,\r\n acceptCustom: (accept) => `Tipos permitidos: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"Enviar\",\r\n maxSizeMessage: (maxFileSize) => `Tamanho máximo: ${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `Arquivos ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"O arquivo foi enviado com sucesso\",\r\n fakeUploadError: \"Erro ao enviar\",\r\n}\r\n\r\n\r\n/**\r\n * Portuguese translation for FileItem component\r\n */\r\nexport const FileItemPortuguese: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `Nome: `,\r\n size: \"Tamanho: \",\r\n type: \"Tipo: \"\r\n },\r\n status: {\r\n preparing:\"Preparando\",\r\n uploading: \"Enviando\",\r\n success: \"Êxito\",\r\n valid: \"válido\",\r\n denied: \"Negado\",\r\n error: \"Erro\",\r\n aborted:\"Abortado\"\r\n },\r\n}\r\n/**\r\n * Portuguese translation for Validation Errors\r\n */\r\n export const ValidateErrorPortuguese: LocalLabels = {\r\n maxSizeError: (maxSize) => `O arquivo é muito grande. O tamanho máximo de arquivo permitido é ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `O tipo de arquivo não é permitido `,\r\n maxFileCount: (maxFiles) => `Quantidade máxima de arquivos (${maxFiles}) alcançada`\r\n}","import { LocalLabels } from \"../../types\";\r\nimport { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\n\r\n/**\r\n * English translation for Dropzone component\r\n */\r\nexport const DropzoneSimplifiedChinese: LocalLabels = {\r\n defaultLabel: \"将您的文件放在这里\",\r\n uploadingMessage: (amountOfFiles) => { return `上传 ${amountOfFiles} 个文件`; },\r\n uploadFinished: (uploaded, rejected) => `上传文件:${uploaded},拒绝文件:${rejected}`,\r\n noFilesMessage: `没有缺少要加载的有效文件`,\r\n footer: {\r\n acceptAll: `接受所有文件类型`,\r\n acceptCustom: (accept) => `允许的类型: ${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"上传文件\",\r\n maxSizeMessage: (maxFileSize) => `最大文件大小:${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => `文档 ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"文件已成功上传\",\r\n fakeUploadError: \"上传时出错\",\r\n}\r\n\r\n/**\r\n * Chinnese translation for FileItem component\r\n */\r\nexport const FileItemSimplifiedChinese: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `文档名称: `,\r\n size: \"尺寸: \",\r\n type: \"文件类型: \"\r\n },\r\n status: {\r\n preparing:\"预加载\",\r\n uploading: \"上传\",\r\n success: \"成功\",\r\n valid: \"接受的文件\",\r\n denied: \"被拒绝的文件\",\r\n error: \"错误\",\r\n aborted:\"中止\"\r\n },\r\n}\r\n\r\n/**\r\n * English translation for Validation Errors\r\n */\r\nexport const ValidateErrorSimplifiedChinese: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `文件太大。 允许的最大文件大小为 ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `文件类型不允许`,\r\n maxFileCount: (maxFiles) =>\r\n `已达到最大文件数 (${maxFiles})`\r\n}","import { fileSizeFormater } from \"../../utils/fileSizeFormatter\";\r\nimport { LocalLabels } from \"../../types\";\r\n\r\n\r\n/**\r\n * English translation for Dropzone component\r\n */\r\nexport const DropzoneTraditionalChinese: LocalLabels = {\r\n defaultLabel: \"把你的文件放在這裡 \",\r\n uploadingMessage: (amountOfFiles) => { return `上傳${amountOfFiles}個文件`; },\r\n uploadFinished: (uploaded, rejected) => `上傳文件: ${uploaded}, 拒絕的文件:${rejected}`,\r\n noFilesMessage: `沒有缺少要上傳的有效文件`,\r\n footer: {\r\n acceptAll: `接受所有文件類型`,\r\n acceptCustom: (accept) => `允許的類型:${accept}`\r\n },\r\n header: {\r\n uploadFilesMessage: \"上傳文件\",\r\n maxSizeMessage: (maxFileSize) => `最大文件大小:${maxFileSize}`,\r\n validFilesMessage: (numberOfValidFiles, maxFiles) => ` 文件 ${numberOfValidFiles}/${maxFiles}`\r\n },\r\n fakeuploadsuccess: \"文件已成功上傳\",\r\n fakeUploadError: \"上傳時出錯\",\r\n}\r\n\r\n/**\r\n * Chinese translation for FileItem component\r\n */\r\nexport const FileItemTraditionalChinese: LocalLabels = {\r\n fullInfoLayer: {\r\n name: `文檔名稱: `,\r\n size: \"文件大小: \",\r\n type: \"文件類型: \"\r\n },\r\n status: {\r\n preparing: \"預加載\",\r\n uploading: \"上傳\",\r\n success: \"成功\",\r\n valid: \"有效文件\",\r\n denied: \"無效文件\",\r\n error: \"錯誤\",\r\n aborted: \"中止\"\r\n },\r\n}\r\n\r\n/**\r\n * English translation for Validation Errors\r\n */\r\nexport const ValidateErrorTraditionalChinese: LocalLabels = {\r\n maxSizeError: (maxSize) =>\r\n `文件太大。 允許的最大文件大小為 ${fileSizeFormater(maxSize as number)}`,\r\n acceptError: `文件類型不允許`,\r\n maxFileCount: (maxFiles) =>\r\n `已達到最大文件數 (${maxFiles})`\r\n}","import { FileItemRussian } from \"./Russian/localization.russian\";\r\nimport { ComponentLocalizer, LocalLabels, Localization } from \"../types\";\r\nimport { FileItemEnglish } from \"./English/localization.english\";\r\nimport { FileItemFrench } from \"./French/localization.french\";\r\nimport { FileItemPortuguese } from \"./Portuguese/localization.portuguese\";\r\nimport { FileItemSpanish } from \"./Spanish/localization.spanish\";\r\nimport { FileItemSimplifiedChinese } from \"./Chinese-simplified/localization.simplifiedChinese\";\r\nimport { FileItemTraditionalChinese } from \"./Chinese-traditional/localization.traditionalChinese\";\r\nimport { FileItemItalian } from \"./Italian/localization.italian\";\r\n\r\nexport const FileItemLocalizer: ComponentLocalizer = {\r\n \"ES-es\": FileItemSpanish,\r\n \"EN-en\": FileItemEnglish,\r\n \"FR-fr\": FileItemFrench,\r\n \"IT-it\": FileItemItalian,\r\n \"PT-pt\": FileItemPortuguese,\r\n \"RU-ru\": FileItemRussian,\r\n \"ZH-cn\": FileItemSimplifiedChinese,\r\n \"ZH-hk\": FileItemTraditionalChinese\r\n}\r\n\r\n/**\r\n * Secure translation through a selector\r\n * @param local the Localization\r\n * @returns a ComponentLocalizer object that contains the translation\r\n */\r\nexport const FileItemLocalizerSelector = (local?: Localization): LocalLabels => {\r\n switch (local) {\r\n case \"ES-es\": return FileItemLocalizer[\"ES-es\"];\r\n case \"EN-en\": return FileItemLocalizer[\"EN-en\"];\r\n case \"FR-fr\": return FileItemLocalizer[\"FR-fr\"];\r\n case \"IT-it\": return FileItemLocalizer[\"IT-it\"];\r\n case \"PT-pt\": return FileItemLocalizer[\"PT-pt\"];\r\n case \"RU-ru\": return FileItemLocalizer[\"RU-ru\"];\r\n case \"ZH-cn\": return FileItemLocalizer[\"ZH-cn\"];\r\n case \"ZH-hk\": return FileItemLocalizer[\"ZH-hk\"];\r\n default: return FileItemLocalizer[\"EN-en\"];\r\n }\r\n}","import { DropzoneRussian } from \"./Russian/localization.russian\";\r\nimport { DropzoneEnglish } from \"./English/localization.english\";\r\nimport { DropzoneFrench } from \"./French/localization.french\";\r\nimport { DropzonePortuguese } from \"./Portuguese/localization.portuguese\";\r\nimport { DropzoneSpanish } from \"./Spanish/localization.spanish\";\r\nimport { DropzoneSimplifiedChinese } from \"./Chinese-simplified/localization.simplifiedChinese\";\r\nimport { DropzoneTraditionalChinese } from \"./Chinese-traditional/localization.traditionalChinese\";\r\nimport { DropzoneItalian } from \"./Italian/localization.italian\";\r\nimport { ComponentLocalizer, Localization, LocalLabels } from \"../types\";\r\n\r\nexport const DropzoneLocalizer: ComponentLocalizer = {\r\n \"ES-es\": DropzoneSpanish,\r\n \"EN-en\": DropzoneEnglish,\r\n \"FR-fr\": DropzoneFrench,\r\n \"IT-it\": DropzoneItalian,\r\n \"PT-pt\": DropzonePortuguese,\r\n \"RU-ru\": DropzoneRussian,\r\n \"ZH-cn\": DropzoneSimplifiedChinese,\r\n \"ZH-hk\": DropzoneTraditionalChinese\r\n\r\n}\r\n/**\r\n * Secure translation through a selector\r\n * @param local the Localization\r\n * @returns a ComponentLocalizer object that contains the translation\r\n */\r\nexport const DropzoneLocalizerSelector = (local: Localization | undefined): LocalLabels => {\r\n switch (local) {\r\n case \"ES-es\": return DropzoneLocalizer[\"ES-es\"];\r\n case \"EN-en\": return DropzoneLocalizer[\"EN-en\"];\r\n case \"FR-fr\": return DropzoneLocalizer[\"FR-fr\"];\r\n case \"IT-it\": return DropzoneLocalizer[\"IT-it\"];\r\n case \"PT-pt\": return DropzoneLocalizer[\"PT-pt\"];\r\n case \"RU-ru\": return DropzoneLocalizer[\"RU-ru\"];\r\n case \"ZH-cn\": return DropzoneLocalizer[\"ZH-cn\"];\r\n case \"ZH-hk\": return DropzoneLocalizer[\"ZH-hk\"];\r\n default: return DropzoneLocalizer[\"EN-en\"];\r\n }\r\n}","import { ValidateErrorRussian } from \"./Russian/localization.russian\";\r\nimport { ComponentLocalizer, LocalLabels, Localization } from \"./../types\";\r\nimport { ValidateErrorEnglish } from \"./English/localization.english\";\r\nimport { ValidateErrorFrench } from \"./French/localization.french\";\r\nimport { ValidateErrorPortuguese } from \"./Portuguese/localization.portuguese\";\r\nimport { ValidateErrorSpanish } from \"./Spanish/localization.spanish\";\r\nimport { ValidateErrorSimplifiedChinese } from \"./Chinese-simplified/localization.simplifiedChinese\";\r\nimport { ValidateErrorTraditionalChinese } from \"./Chinese-traditional/localization.traditionalChinese\";\r\nimport { ValidateErrorItalian } from \"./Italian/localization.italian\";\r\n\r\nexport const ValidateErrorLocalizer: ComponentLocalizer = {\r\n \"ES-es\": ValidateErrorSpanish,\r\n \"EN-en\": ValidateErrorEnglish,\r\n \"FR-fr\": ValidateErrorFrench,\r\n \"IT-it\": ValidateErrorItalian,\r\n \"PT-pt\": ValidateErrorPortuguese,\r\n \"RU-ru\": ValidateErrorRussian,\r\n \"ZH-cn\": ValidateErrorSimplifiedChinese,\r\n \"ZH-hk\": ValidateErrorTraditionalChinese,\r\n}\r\n/**\r\n * Secure translation through a selector\r\n * @param local the Localization\r\n * @returns a ComponentLocalizer object that contains the translation\r\n */\r\nexport const ValidateErrorLocalizerSelector = (local: Localization | undefined): LocalLabels => {\r\n if (!local || ![\"ES-es\", \"EN-en\", \"FR-fr\", \"IT-it\", \"PT-pt\", \"RU-ru\", \"ZH-cn\", \"ZH-hk\"].includes(local)) {\r\n return ValidateErrorLocalizer[\"EN-en\"];\r\n }\r\n return ValidateErrorLocalizer[local];\r\n}","export const sevenzip = \"https://user-images.githubusercontent.com/43678736/132086517-72a51a12-e403-4675-bfd7-22c23affa730.png\";\r\nexport const aac = \"https://user-images.githubusercontent.com/43678736/132086518-7026d4f1-ea16-4ed0-89fd-37c1aa8ac3ed.png\";\r\nexport const abw = \"https://user-images.githubusercontent.com/43678736/132086519-863c63b4-917e-4471-94ff-7e15651cc14b.png\";\r\nexport const accdb = \"https://user-images.githubusercontent.com/43678736/132086520-9bc6aa3b-51c9-4da2-9ef7-349162b86d0b.png\";\r\nexport const avi = \"https://user-images.githubusercontent.com/43678736/132086521-dbd6cf0d-d4d7-4b92-bb26-17e8a51a9383.png\";\r\nexport const azw = \"https://user-images.githubusercontent.com/43678736/132086522-070f48e8-78a8-4294-8dbb-aab81525e164.png\";\r\nexport const bmp = \"https://user-images.githubusercontent.com/43678736/132086595-90ab7f90-f87e-4900-94d9-d0b26745df48.png\";\r\nexport const bz = \"https://user-images.githubusercontent.com/43678736/132086597-e285ad5c-613a-4679-a270-493e5be4ffd9.png\";\r\nexport const bz2 = \"https://user-images.githubusercontent.com/43678736/132086598-623c410a-084a-4395-a448-211b2ff61cfe.png\";\r\nexport const c = \"https://user-images.githubusercontent.com/43678736/132086599-7a5cd692-b4df-45f5-80d9-384cb3e0c314.png\";\r\nexport const cda = \"https://user-images.githubusercontent.com/43678736/132086600-8b70a007-512d-4252-9c66-eabd3ddd6573.png\";\r\nexport const csh = \"https://user-images.githubusercontent.com/43678736/132086601-e62e5d1a-d8a2-4475-a14f-85922cec9272.png\";\r\nexport const css = \"https://user-images.githubusercontent.com/43678736/132086602-4c772934-f608-4f01-8459-c4622cee8ad5.png\";\r\nexport const csv = \"https://user-images.githubusercontent.com/43678736/132086604-b5b019fe-572e-477e-92c2-3769a48a1304.png\";\r\nexport const docx = \"https://user-images.githubusercontent.com/43678736/132086606-715ccb66-4702-4f7d-9b09-ac93ba17b643.png\";\r\nexport const docx2 = \"https://user-images.githubusercontent.com/43678736/132086607-a246b386-52c9-4fe1-a7e4-204894e6722d.png\";\r\nexport const drawio = \"https://user-images.githubusercontent.com/43678736/132086608-bcae9d57-8e54-488c-90c4-4952ae530b5e.png\";\r\nexport const dw = \"https://user-images.githubusercontent.com/43678736/132086616-0c7842d6-d20e-4ede-988b-3dd063a4de8d.png\";\r\nexport const eml = \"https://user-images.githubusercontent.com/43678736/132086617-1e351075-ffaf-4b81-a1fe-0b7b338772a2.png\";\r\nexport const eot = \"https://user-images.githubusercontent.com/43678736/132086618-397d6bd2-9fda-43ed-a135-cb40388c35af.png\";\r\nexport const eps = \"https://user-images.githubusercontent.com/43678736/132086619-9daf0b61-dbb0-4d47-8a12-9fba13b88856.png\";\r\nexport const epub = \"https://user-images.githubusercontent.com/43678736/132086620-2586ba40-c583-4589-b1a4-8bb5b258b44d.png\";\r\nexport const freearc = \"https://user-images.githubusercontent.com/43678736/132086621-3b95fb64-2533-4ccc-abcd-bd2beba572e9.png\";\r\nexport const gif = \"https://user-images.githubusercontent.com/43678736/132086622-af705a0c-2b25-4ba7-8ab6-bd69ec97f7e2.png\";\r\nexport const gzip = \"https://user-images.githubusercontent.com/43678736/132086624-89141a46-64e4-4fa0-bf69-54a0eb4d48c9.png\";\r\nexport const html = \"https://user-images.githubusercontent.com/43678736/132086625-1b8f2652-1de0-4475-8c12-7da4a9973ffb.png\";\r\nexport const icalendar = \"https://user-images.githubusercontent.com/43678736/132086626-38699705-1e6f-4bca-984b-03167b236faa.png\";\r\nexport const ind = \"https://user-images.githubusercontent.com/43678736/132086627-2f24067a-00bc-424a-af36-349a9ba14b6c.png\";\r\nexport const ini = \"https://user-images.githubusercontent.com/43678736/132086649-20c9c9e6-8e63-4d87-9b8e-8fe8eba12ada.png\";\r\nexport const java = \"https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png\";\r\nexport const jar = \"https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png\";\r\nexport const javascript = \"https://user-images.githubusercontent.com/43678736/132086652-4562942e-aaea-466c-968f-380fffabf3f9.png\";\r\nexport const jpeg = \"https://user-images.githubusercontent.com/43678736/132086653-0487e7e2-1ee3-49e2-8cfe-3e20f1f7490a.png\";\r\nexport const jsf = \"https://user-images.githubusercontent.com/43678736/132086654-c510bd8f-8de7-4afe-8c20-cc810b004b07.png\";\r\nexport const json = \"https://user-images.githubusercontent.com/43678736/132086656-6e96c815-e4e2-4ffd-9d71-57e9cc2450bc.png\";\r\nexport const jsonld = \"https://user-images.githubusercontent.com/43678736/132086658-5d27d3c2-394f-43fb-b512-9b414a257875.png\";\r\nexport const midi = \"https://user-images.githubusercontent.com/43678736/132086659-98f3ef6e-b9f3-4b6d-b18f-469b5334ba27.png\";\r\nexport const mov = \"https://user-images.githubusercontent.com/43678736/132086660-adcecedd-56b4-4286-8b0f-69417f77e961.png\";\r\nexport const mp3 = \"https://user-images.githubusercontent.com/43678736/132086661-a5484553-06c7-4ffa-a8f9-96b57b1b0344.png\";\r\nexport const mp4 = \"https://user-images.githubusercontent.com/43678736/132086662-05ad1597-d5e5-4efa-833e-2876e966a745.png\";\r\nexport const mpeg = \"https://user-images.githubusercontent.com/43678736/132086663-90c58955-f7fb-4bdb-ac53-92667d16d4a3.png\";\r\nexport const mpkg = \"https://user-images.githubusercontent.com/43678736/132086664-9a7530e7-6d78-4ef3-a176-20cf7f57b555.png\";\r\nexport const octet = \"https://user-images.githubusercontent.com/43678736/132086666-ab3c505d-b2c0-4177-9a06-aed5d9c39ee4.png\";\r\nexport const odp = \"https://user-images.githubusercontent.com/43678736/132086667-6c7dcbcc-8d83-41a2-8e0a-85b09e2791ae.png\";\r\nexport const ods = \"https://user-images.githubusercontent.com/43678736/132086668-9f246e91-cf2e-49cf-9617-e1fbb71abbbb.png\";\r\nexport const odt = \"https://user-images.githubusercontent.com/43678736/132086669-46113762-84d1-4b32-9441-b0138ce17a5d.png\";\r\nexport const oga = \"https://user-images.githubusercontent.com/43678736/145835364-2054509d-3448-4d34-921f-73dd6e297fc7.png\";\r\nexport const ogv = \"https://user-images.githubusercontent.com/43678736/145835367-19172bf8-cd5a-4cbe-b512-d0de1d91f269.png\";\r\nexport const ogx = \"https://user-images.githubusercontent.com/43678736/145835373-a57ef0f5-3968-483b-9f55-6d67e7f1dcea.png\";\r\nexport const opus = \"https://user-images.githubusercontent.com/43678736/132086670-0f96e770-cedc-4635-a5f9-cf97894c1d7a.png\";\r\nexport const otf = \"https://user-images.githubusercontent.com/43678736/132086671-02ad35ef-ec3a-4a65-abd5-5bf794dfcf7b.png\";\r\nexport const pdf = \"https://user-images.githubusercontent.com/43678736/132086672-3a856fda-823d-4997-b802-c7c640e6ef44.png\";\r\nexport const php = \"https://user-images.githubusercontent.com/43678736/132086673-0c4409ab-754e-4619-8cfa-179d0ccf1bd9.png\";\r\nexport const png = \"https://user-images.githubusercontent.com/43678736/132086674-fdb56d02-5845-49b7-8462-6357bc963464.png\";\r\nexport const pptx = \"https://user-images.githubusercontent.com/43678736/132086675-c879645d-acb4-41a6-ab3c-4e6c2048badb.png\";\r\nexport const pptx2 = \"https://user-images.githubusercontent.com/43678736/132086676-6de1bbd7-764f-4197-9aa4-405a60ce6734.png\";\r\nexport const proj = \"https://user-images.githubusercontent.com/43678736/132086683-3dc0a8b8-72f8-4fa1-a08a-fcfd75b465e1.png\";\r\nexport const psd = \"https://user-images.githubusercontent.com/43678736/132086685-4e327c4c-a409-4b83-b36a-8d88936b314b.png\";\r\nexport const pst = \"https://user-images.githubusercontent.com/43678736/132086686-3888e43a-5abf-41f7-9940-4b86e436521f.png\";\r\nexport const publisher = \"https://user-images.githubusercontent.com/43678736/132086687-d92b56ff-f7f7-4be7-bbf4-47b8a33f4c6f.png\";\r\nexport const python = \"https://user-images.githubusercontent.com/43678736/132086688-8e82fae4-3a9b-49c0-bf99-77189525514c.png\";\r\nexport const tar = \"https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png\";\r\nexport const rar = \"https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png\";\r\nexport const react = \"https://user-images.githubusercontent.com/43678736/132086691-d472576b-ec6a-4332-acd2-dd6a00b72952.png\";\r\nexport const richtextformat = \"https://user-images.githubusercontent.com/43678736/132086692-df6e3518-2e6a-4553-883d-e21694980449.png\";\r\nexport const rtf = \"https://user-images.githubusercontent.com/43678736/132086693-9d43571e-0c86-438f-b247-e2cb42e19e06.png\";\r\nexport const sass = \"https://user-images.githubusercontent.com/43678736/132086694-4e661d6a-1118-441e-8bc3-c52fcb2133b6.png\";\r\nexport const settings = \"https://user-images.githubusercontent.com/43678736/132086696-0dd21f83-b9fc-490c-9ed5-bd88151dc9bb.png\";\r\nexport const sh = \"https://user-images.githubusercontent.com/43678736/132086697-1d82d724-35b6-4f06-847a-3c59a5deda6e.png\";\r\nexport const swf = \"https://user-images.githubusercontent.com/43678736/132086698-19384230-dbd7-4e05-bc69-ef4537b6aae3.png\";\r\nexport const text = \"https://user-images.githubusercontent.com/43678736/132086699-5993a482-04f4-4915-b105-9037f527cf61.png\";\r\nexport const tiff = \"https://user-images.githubusercontent.com/43678736/132086700-c23461c8-6819-46e1-aecd-0a1f8d3507bb.png\";\r\nexport const ttf = \"https://user-images.githubusercontent.com/43678736/132086701-c8044c09-8d95-4af1-9410-66761001d7da.png\";\r\nexport const typescript = \"https://user-images.githubusercontent.com/43678736/132086702-59294337-ed99-4302-badd-316b2c1ff62f.png\";\r\nexport const url = \"https://user-images.githubusercontent.com/43678736/132086703-86d97476-b76e-4949-b89a-31ecb03f3b6e.png\";\r\nexport const vsd = \"https://user-images.githubusercontent.com/43678736/132086704-8fd51e7c-afa2-47a3-ab2f-d0bcd0ecae9f.png\";\r\nexport const vue = \"https://user-images.githubusercontent.com/43678736/132086705-33294da1-5c0f-49f7-b890-e4857cec0a6d.png\";\r\nexport const wav = \"https://user-images.githubusercontent.com/43678736/132086706-22f805d0-39d4-494b-824e-47dc75d05eb7.png\";\r\nexport const webm = \"https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png\";\r\nexport const weba = \"https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png\";\r\nexport const webp = \"https://user-images.githubusercontent.com/43678736/132086708-21d096dd-7148-40aa-97f1-cbb099339740.png\";\r\nexport const wma = \"https://user-images.githubusercontent.com/43678736/132086709-811d4e90-3cfa-4044-a956-aeda9c67fc92.png\";\r\nexport const wmv = \"https://user-images.githubusercontent.com/43678736/132086710-c5479c6c-0249-4542-adad-48b0ef40b775.png\";\r\nexport const woff = \"https://user-images.githubusercontent.com/43678736/132086711-1524a3e7-3e33-4822-a34f-ff3235404045.png\";\r\nexport const xlsx = \"https://user-images.githubusercontent.com/43678736/132086712-17e2c491-f6e4-4586-aef6-06bcc5f4b0e5.png\";\r\nexport const xlsx2 = \"https://user-images.githubusercontent.com/43678736/132086714-7ddf285d-2b83-4115-80a5-f02f510300a1.png\";\r\nexport const xml = \"https://user-images.githubusercontent.com/43678736/132086715-204b5a8b-9c5a-4bac-8294-9237ebc16089.png\";\r\nexport const xul = \"https://user-images.githubusercontent.com/43678736/132086716-64511d20-58cb-45a8-85df-f4d9408b469d.png\";\r\nexport const zip = \"https://user-images.githubusercontent.com/43678736/132086718-a8499333-6282-4820-aa1f-4d133eb54648.png\";\r\n","/**\r\n * Looks for the first file extension\r\n * @param fileName file name\r\n * @returns the file name extension\r\n */\r\n export const getExt = (fileName: string): string => {\r\n const re = /(?:\\.([^.]+))?$/;\r\n const result = re.exec(fileName);\r\n if (result) {\r\n return result[1];\r\n } else {\r\n return \"\";\r\n }\r\n\r\n};","import {\r\n aac, abw, accdb, avi, azw,\r\n bmp, bz, bz2, cda,\r\n csh, css, csv,\r\n docx, drawio,\r\n eot, epub,\r\n freearc, gif, gzip,\r\n html, icalendar,\r\n jar, java, javascript, jpeg, json, jsonld,\r\n midi, mp3, mp4, mpeg, mpkg,\r\n octet, odp, ods, odt, oga, ogv, ogx, opus, otf,\r\n pdf, php, png, pptx, psd, python,\r\n rar, react, rtf,\r\n sass, sevenzip, sh, swf,\r\n tar, text, tiff, ttf, typescript,\r\n vsd, vue,\r\n wav, weba, webm, webp, wma, wmv, woff,\r\n xlsx, xml, xul,\r\n zip\r\n} from \"./icons\";\r\nimport { getExt } from \"../utils/getExt\";\r\nimport { IconsMap } from \"../types\";\r\n\r\nconst DEF_GEN_MIME: keyof IconsMap = \"octet\";\r\n/**\r\n * \r\n * @param tailMime \r\n * @returns \r\n */\r\nexport const audioSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"aac\": return \"aac\";\r\n case \"midi\": return \"midi\";\r\n case \"x-midi\": return \"midi\";\r\n case \"mpeg\": return \"mpeg\";//mp3\r\n case \"ogg\": return \"oga\";\r\n case \"opus\": return \"opus\";\r\n case \"wav\": return \"wav\";\r\n case \"webm\": return \"webm\";\r\n //case \"3gpp\": return \"threegp\";\r\n //case \"3gpp2\": return \"threegp\";\r\n //case \"mp3\": return \"mp3\";\r\n case \"wma\": return \"wma\";\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\nexport const textSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"css\": return \"css\";\r\n case \"csv\": return \"csv\";\r\n case \"html\": return \"html\";\r\n case \"calendar\": return \"icalendar\";\r\n case \"javascript\": return \"javascript\";\r\n case \"x-javascript\": return \"javascript\";\r\n case \"plain\": return \"text\";\r\n case \"xml\": return \"xml\";\r\n default: return DEF_GEN_MIME;\r\n\r\n }\r\n}\r\nexport const imageSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"bmp\": return \"bmp\";\r\n case \"gif\": return \"gif\";\r\n // case \"vnd.microsoft.icon\": return \"ico\";\r\n //case \"ico\": return \"ico\";\r\n case \"jpg\": return \"jpeg\";\r\n case \"jpeg\": return \"jpeg\";\r\n case \"png\": return \"png\";\r\n //case \"svg+xml\": return \"svg\";\r\n //case \"svg\": return \"svg\";\r\n case \"tiff\": return \"tiff\";\r\n case \"webp\": return \"webp\";\r\n default: return DEF_GEN_MIME;\r\n\r\n }\r\n}\r\nexport const fontSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"otf\": return \"otf\";\r\n case \"ttf\": return \"ttf\";\r\n case \"woff\": return \"woff\";\r\n case \"woff2\": return \"woff\";\r\n default: return DEF_GEN_MIME;\r\n\r\n }\r\n}\r\n\r\nexport const videoSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"x-msvideo\": return \"avi\";\r\n case \"msvideo\": return \"avi\";\r\n case \"avi\": return \"avi\";\r\n case \"mp4\": return \"mp4\";\r\n case \"mpeg\": return \"mpeg\";\r\n case \"ogg\": return \"ogv\";\r\n case \"mp2t\": return \"mp2t\";\r\n case \"wmv\": return \"wmv\";\r\n\r\n case \"webm\": return \"webm\";\r\n // case \"3gpp\": return \"threegp\";\r\n // case \"3gpp2\": return \"threegp2\";\r\n\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\n/**\r\n * \r\n * @param tailMime \r\n * @returns \r\n */\r\nexport const applicationSelector = (tailMime: string): keyof IconsMap => {\r\n switch (tailMime) {\r\n case \"x-abiword\": return \"abw\";\r\n case \"abiword\": return \"abw\";\r\n case \"x-freearc\": return \"arc\";\r\n case \"freearc\": return \"arc\";\r\n case \"vnd.amazon.ebook\": return \"azw\";\r\n case \"octet-stream\": return \"octet\";\r\n case \"x-bzip\": return \"bz\";\r\n case \"x-bzip2\": return \"bz2\";\r\n case \"bzip\": return \"bz\";\r\n case \"bzip2\": return \"bz2\";\r\n case \"x-cdf\": return \"cda\";\r\n case \"msaccess\": return \"accdb\";\r\n case \"csh\": return \"csh\";\r\n case \"x-csh\": return \"csh\";\r\n case \"vnd.ms-fontobject\": return \"eot\";\r\n case \"epub+zip\": return \"epub\";\r\n case \"gzip\": return \"gzip\";\r\n case \"java-archive\": return \"jar\";\r\n case \"x-javascript\": return \"javascript\";\r\n case \"json\": return \"json\";\r\n case \"ld+json\": return \"jsonld\";\r\n case \"vnd.apple.installer+xml\": return \"mpkg\";\r\n case \"ogg\": return \"ogx\";\r\n case \"vnd.rar\": return \"rar\";\r\n case \"rtf\": return \"rtf\";\r\n case \"x-sh\": return \"sh\";\r\n case \"sh\": return \"sh\";\r\n case \"x-shockwave-flash\": return \"swf\";\r\n case \"x-tar\": return \"tar\";\r\n case \"x-httpd-php\": return \"php\";\r\n case \"vnd.visio\": return \"vsd\";\r\n case \"xhtml+xml\": return \"xhtml\";\r\n case \"xml\": return \"xml\";\r\n case \"vnd.mozilla.xul+xml\": return \"xul\";\r\n case \"vnd.openxmlformats-officedocument.wordprocessingml.document\": return \"docx\";\r\n case \"msword\": return \"docx\";\r\n case \"vnd.openxmlformats-officedocument.spreadsheetml.sheet\": return \"xlsx\";\r\n case \"vnd.openxmlformats-officedocument.presentationml.presentation\": return \"pptx\";\r\n case \"vnd.ms-powerpoint\": return \"pptx\";\r\n case \"vnd.oasis.opendocument.presentation\": return \"odp\";\r\n case \"vnd.oasis.opendocument.text\": return \"odt\";\r\n case \"vnd.oasis.opendocument.spreadsheet\": return \"ods\";\r\n case \"zip\": return \"zip\";\r\n case \"x-zip-compressed\": return \"zip\";\r\n case \"pdf\": return \"pdf\";\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\n/**\r\n * Selects to wich mime type the mime type given belongs to\r\n * @param mimeType mime type to be searched \r\n * @returns the generic type, \r\nif not found it return \"octet\" that means generic binary file\r\n */\r\nexport const mimeSelector = (mimeType?: string): keyof IconsMap => {\r\n // let genericMime: string | undefined = undefined;\r\n if (!mimeType || !mimeType.includes(\"/\")) {\r\n return DEF_GEN_MIME;\r\n }\r\n let headerMime = mimeType.split(\"/\")[0];\r\n let tailMime = mimeType.split(\"/\")[1];\r\n /**\r\n * Every mimetype that \r\n * starts with: \"application/....\"\r\n */\r\n\r\n switch (headerMime) {\r\n case \"application\": return applicationSelector(tailMime);\r\n case \"audio\": return audioSelector(tailMime);\r\n case \"video\": return videoSelector(tailMime);\r\n case \"text\": return textSelector(tailMime);\r\n case \"image\": return imageSelector(tailMime);\r\n case \"font\": return fontSelector(tailMime);\r\n\r\n default: return DEF_GEN_MIME;\r\n }\r\n}\r\n/**\r\n * Selects to wich mapped extension\r\n * the given exension belongs to\r\n * \r\n * @param extension \r\n * @returns \r\n */\r\nexport const extensionSelector = (extension?: string): keyof IconsMap => {\r\n let genericMime: keyof IconsMap = \"octet\";\r\n\r\n if (extension && extension !== \"\") {\r\n if (extension.includes(\"zip\") || extension.includes(\"rar\")) {\r\n genericMime = \"zip\";\r\n } else if (extension.includes(\"doc\")) {\r\n genericMime = \"docx\";\r\n } else if (extension.includes(\"xls\")) {\r\n genericMime = \"xlsx\";\r\n } else if (extension.includes(\"drawio\")) {\r\n genericMime = \"drawio\";\r\n } else if (extension.includes(\"psd\")) {\r\n genericMime = \"psd\";\r\n } else if (extension.includes(\"csv\")) {\r\n genericMime = \"csv\";\r\n } else if (extension === \"jsx\") {\r\n genericMime = \"react\";\r\n } else if (extension === \"py\") {\r\n genericMime = \"python\";\r\n } else if (extension === \"vue\") {\r\n genericMime = \"vue\";\r\n } else if (extension === \"java\") {\r\n genericMime = \"java\";\r\n } else if (extension === \"ts\") {\r\n genericMime = \"typescript\";\r\n } else if (extension === \"sass\" || extension === \"scss\") {\r\n genericMime = \"sass\";\r\n }\r\n }\r\n return genericMime;\r\n\r\n}\r\n/**\r\n * Chack for extention whether the file is code os not\r\n * @param extension \r\n * @returns \r\n */\r\nexport const checkIsCode = (extension?: string): keyof IconsMap => {\r\n let genericMime: keyof IconsMap = \"text\";\r\n if (extension && extension !== \"\") {\r\n if (extension === \"jsx\") {\r\n genericMime = \"react\";\r\n } else if (extension === \"py\") {\r\n genericMime = \"python\";\r\n } else if (extension === \"vue\") {\r\n genericMime = \"vue\";\r\n } else if (extension === \"java\") {\r\n genericMime = \"java\";\r\n } else if (extension === \"ts\" || extension === \"tsx\") {\r\n genericMime = \"typescript\";\r\n } else if (extension === \"js\") {\r\n genericMime = \"javascript\";\r\n } else if (extension === \"xml\") {\r\n genericMime = \"xml\";\r\n } else if (extension === \"php\") {\r\n genericMime = \"php\";\r\n }\r\n }\r\n return genericMime;\r\n}\r\n\r\n/**\r\n * Looks for a suitable file icon\r\n * If not found, returns octet-stream url\r\n * @param props mime and extension from file to search\r\n * @returns the result file ico\r\n */\r\nexport const getURLFileIco = (\r\n file: File | undefined,\r\n customIcons: IconsMap | undefined\r\n): ResultFileIco => {\r\n\r\n let result: keyof IconsMap = \"fallBack\";\r\n //if not file, return octet\r\n if (!file) {\r\n result = DEF_GEN_MIME;\r\n if (customIcons?.fallBack)\r\n return { url: customIcons?.fallBack, mimeResume: result };\r\n\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n } else {\r\n result = mimeSelector(file.type);\r\n }\r\n //If plain text\r\n const extention: string = getExt(file.name);\r\n\r\n if (result === \"text\") {\r\n result = checkIsCode(extention);\r\n\r\n }\r\n //If octet stream result, second chance: file extention\r\n if (result === DEF_GEN_MIME) {\r\n result = extensionSelector(extention);\r\n }\r\n\r\n const customUrl = customIcons?.[result];\r\n if (customUrl !== undefined)\r\n return { url: customUrl, mimeResume: result };\r\n\r\n\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n}\r\n/**\r\n * Looks for a suitable file icon\r\n * @param props mime and extension from file to search\r\n * @returns the result file ico, if not found, turns octet-stream url\r\n */\r\nexport const getURLFileIcoFromNameAndType = (\r\n name: string | undefined,\r\n type: string | undefined,\r\n customIcons: IconsMap | undefined\r\n): ResultFileIco => {\r\n\r\n let result: keyof IconsMap = \"octet\";\r\n //if not nam and type, return octet\r\n if (!name) {\r\n result = DEF_GEN_MIME;\r\n if (customIcons?.fallBack)\r\n return { url: customIcons?.fallBack, mimeResume: result };\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n } else {\r\n result = mimeSelector(type);\r\n }\r\n //If plain text\r\n const extention: string = getExt(name);\r\n\r\n if (result === \"text\") {\r\n result = checkIsCode(extention);\r\n\r\n }\r\n //If octet stream result, second chance: file extention\r\n if (result === DEF_GEN_MIME) {\r\n result = extensionSelector(extention);\r\n }\r\n const customUrl = customIcons?.[result];\r\n if (customUrl !== undefined)\r\n return { url: customUrl, mimeResume: result };\r\n\r\n return { url: mimeUrlList[result], mimeResume: result };\r\n}\r\ninterface ResultFileIco {\r\n url: string;\r\n mimeResume: keyof IconsMap;\r\n}\r\n/**\r\n * set of registered mimes on MDN\r\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\r\n * \r\n */\r\ninterface MimeSelector {\r\n [mime: string]: string;\r\n}\r\n\r\nconst mimeUrlList: MimeSelector = {\r\n aac: aac,\r\n accdb: accdb,\r\n abw: abw,\r\n arc: freearc,\r\n avi: avi,\r\n azw: azw,\r\n octet: octet,\r\n bmp: bmp,\r\n bz: bz,\r\n bz2: bz2,\r\n cda: cda,\r\n csh: csh,\r\n css: css,\r\n csv: csv,\r\n docx: docx,\r\n drawio: drawio,\r\n eot: eot,\r\n epub: epub,\r\n gzip: gzip,\r\n gif: gif,\r\n html: html,\r\n //ico: ico,\r\n icalendar: icalendar,\r\n jar: jar,\r\n jpeg: jpeg,\r\n javascript: javascript,\r\n json: json,\r\n jsonld: jsonld,\r\n midi: midi,\r\n // js: js,\r\n mp3: mp3,\r\n mp4: mp4,\r\n mpeg: mpeg,\r\n mpkg: mpkg,\r\n mp2t: octet,\r\n odp: odp,\r\n ods: ods,\r\n odt: odt,\r\n oga: oga,\r\n ogv: ogv,\r\n ogx: ogx,\r\n opus: opus,\r\n otf: otf,\r\n png: png,\r\n pdf: pdf,\r\n php: php,\r\n pptx: pptx,\r\n psd: psd,\r\n rar: rar,\r\n rtf: rtf,\r\n sass: sass,\r\n sh: sh,\r\n //svg: svg,\r\n swf: swf,\r\n tar: tar,\r\n tiff: tiff,\r\n ttf: ttf,\r\n //ts: ts,\r\n typescript: typescript,\r\n text: text,\r\n vsd: vsd,\r\n wav: wav,\r\n weba: weba,\r\n webm: webm,\r\n webp: webp,\r\n woff: woff,\r\n wma: wma,\r\n wmv: wmv,\r\n xhtml: html,\r\n xlsx: xlsx,\r\n xml: xml,\r\n xul: xul,\r\n zip: zip,\r\n // threegp: threegp,\r\n sevenzip: sevenzip,\r\n python: python,\r\n java: java,\r\n react: react,\r\n vue: vue,\r\n\r\n\r\n fallBack: octet,\r\n};","\r\nimport { UPLOADSTATUS, ServerResponse } from \"../types\";\r\n\r\n/**\r\n * ExtFile === \"Extended File\".\r\n * This object \"extends\" the File Object\r\n */\r\nexport declare type ExtFile = {\r\n /** \r\n * An identifier for the extFile\r\n */\r\n id?: number | string | undefined;\r\n /**\r\n * The file object. Used mostly when user selects or drops files in the client sid.\r\n */\r\n file?: File;\r\n /**\r\n * The name of the file. Used mostly for displaying file data from server.\r\n */\r\n name?: string;\r\n /**\r\n * The type of the file. Used mostly for displaying file data from server.\r\n */\r\n type?: string;\r\n /**\r\n * The size of the file. Used mostly for displaying file data from server.\r\n */\r\n size?: number;\r\n /**\r\n * a flag that determines whether the file is valid, not valid or it is not validated.\r\n */\r\n valid?: boolean;\r\n /**\r\n * The list of errors when the file was validated\r\n */\r\n errors?: string[];\r\n /**\r\n * The current upload status. (e.g. \"uploading\")\r\n */\r\n uploadStatus?: UPLOADSTATUS | undefined;\r\n /**\r\n * A message that shows the result of the upload process\r\n */\r\n uploadMessage?: string;\r\n /**\r\n * Link, URI or string representation of an image\r\n */\r\n imageUrl?: string;\r\n /**\r\n * The XMLHttpRequest object for performing uploads to a server\r\n */\r\n xhr?: XMLHttpRequest;\r\n /**\r\n * The current percentage of upload progress.\r\n * This value will have a higher priority over the upload progress value calculated inside the component.\r\n * @default undefined\r\n */\r\n progress?: number;\r\n /**\r\n * The additional data that will be sent to the server\r\n * when files are uploaded individually\r\n */\r\n extraUploadData?: Record<string, any>;\r\n /**\r\n * Any kind of extra data that could be needed.\r\n */\r\n extraData?: Object;\r\n /**\r\n * The upload response from server\r\n */\r\n serverResponse?: ServerResponse;\r\n /**\r\n * The url to be used to perform a GET request in order to download the\r\n file. If defined, the download icon will be shown.\r\n */\r\n downloadUrl?: string;\r\n /**\r\n * Link, URI, FIle object or string representation of a video\r\n */\r\n videoUrl?: string;\r\n}\r\n\r\n/**\r\n * A class definition for ExtFile.\r\n * This class has the purpose to allow the creation of instances\r\n * of an ExtFile for performing complex operations that cannot be\r\n * accomplished just by using the ExtFile type.\r\n * For instance, it can help in changing the value of some attributes\r\n * across different scopes thanks to memory reference.\r\n */\r\nexport class ExtFileInstance {\r\n /**\r\n * An identifier for the extFile\r\n */\r\n public id?: number | string;\r\n /**\r\n * The file object. Used mostly when user selects or drops files in the client sid.\r\n */\r\n public file?: File;\r\n /**\r\n * The name of the file. Used mostly for displaying file data from server.\r\n */\r\n public name?: string;\r\n /**\r\n * The type of the file. Used mostly for displaying file data from server.\r\n */\r\n public type?: string;\r\n /**\r\n * The size of the file. Used mostly for displaying file data from server.\r\n */\r\n public size?: number;\r\n\r\n public imageUrl?: string;\r\n /**\r\n * A flag that determines whether the file is valid, not valid or it is not validated.\r\n */\r\n public valid?: boolean;\r\n /**\r\n * The list of errors when the file was validated\r\n */\r\n public errors?: string[];\r\n /**\r\n * A message that shows the result of the upload process\r\n */\r\n public uploadMessage?: string;\r\n /**\r\n * The current upload status. (e.g. \"uploading\")\r\n */\r\n public uploadStatus?: UPLOADSTATUS | undefined;\r\n /**\r\n * The current upload progress\r\n */\r\n public progress?: number;\r\n /**\r\n * The XMLHttpRequest object for performing uploads to a server\r\n */\r\n public xhr?: XMLHttpRequest;\r\n /**\r\n * The additional data that will be sent to the server\r\n */\r\n public extraData?: Record<string, any>;\r\n /**\r\n * The additional data that will be sent to the server\r\n * when filesare uploaded individually\r\n */\r\n public extraUploadData?: Record<string, any>;\r\n /**\r\n * The upload response from server\r\n */\r\n public serverResponse?: ServerResponse;\r\n /**\r\n * Url to perform a GET request in order to download the file.\r\n * This action is triggered when download button is clicked or pressed.\r\n * In case onDownload prop is given\r\n */\r\n public downloadUrl?: string;\r\n /**\r\n * Link, URI, FIle object or string representation of a video\r\n */\r\n public videoUrl?: string;\r\n\r\n constructor(extFile: ExtFile) {\r\n const {\r\n id,\r\n file,\r\n name,\r\n size,\r\n type,\r\n imageUrl,\r\n valid,\r\n errors,\r\n uploadMessage,\r\n uploadStatus,\r\n progress,\r\n xhr,\r\n extraData,\r\n extraUploadData,\r\n serverResponse,\r\n downloadUrl, videoUrl\r\n } = extFile;\r\n\r\n this.id = id;\r\n this.file = file;\r\n this.name = name;\r\n this.size = size;\r\n this.type = type;\r\n this.imageUrl = imageUrl;\r\n\r\n this.valid = valid;\r\n this.errors = errors;\r\n this.uploadStatus = uploadStatus;\r\n this.uploadMessage = uploadMessage;\r\n this.progress = progress;\r\n this.xhr = xhr;\r\n\r\n this.extraData = extraData;\r\n this.extraUploadData = extraUploadData;\r\n this.serverResponse = serverResponse;\r\n\r\n this.downloadUrl = downloadUrl;\r\n this.videoUrl = videoUrl;\r\n }\r\n /**\r\n * method under construction\r\n */\r\n /* private static kamuiFile() {\r\n \r\n }\r\n */\r\n /**\r\n * Copies all non undefined attributes from ExtFileInstance to a new ExtFile object\r\n * @param extFileInstance the instance of ExtFile\r\n * @returns an ExtFile object\r\n */\r\n static toExtFile(extFileInstance: ExtFileInstance): ExtFile {\r\n //console.log(\"before toExtFile()\", extFileInstance);\r\n\r\n let extFileClone: ExtFile = {}; // the new empty object\r\n const extFileInstanceKeys = Object.keys(extFileInstance) as [keyof ExtFile];\r\n const extFileInstanceValues = Object.values(extFileInstance) as Array<ExtFile[keyof ExtFile]>;\r\n // let's copy all user properties into it\r\n for (let i = 0; i < extFileInstanceValues.length; i++) {\r\n const currentValue: ExtFile[keyof ExtFile] = extFileInstanceValues[i];\r\n\r\n\r\n const currKey = extFileInstanceKeys[i];\r\n if (currentValue !== undefined) {\r\n\r\n extFileClone[currKey] = currentValue as ExtFile[keyof ExtFile] as never;\r\n }\r\n }\r\n //console.log(\"after toExtFile()\", extFileClone);\r\n //console.log(\"current extFileClone keys\",Object.keys( extFileClone).length);\r\n return extFileClone;\r\n }\r\n /**\r\n * Copies all non undefined attributes from ExtFileInstance to a new ExtFile object.\r\n * @returns an ExtFile object\r\n */\r\n toExtFile(): ExtFile {\r\n return ExtFileInstance.toExtFile(this);\r\n }\r\n\r\n /* static mock = (id?: number): ExtFileInstance => {\r\n return new ExtFileInstance(\r\n extFileMock(id)\r\n );\r\n } */\r\n}\r\n\r\n\r\n","import { ExtFileInstance, ExtFile } from \"./ExtFile\";\r\n\r\nexport class ExtFileManager {\r\n private static nextId: number = 0;\r\n static fileLists: Record<number | string, ExtFileInstance[] | undefined> = {};\r\n /**\r\n * Increases the id counter and returns the next id available.\r\n * @returns the next integer id available\r\n */\r\n public static getNextId(): number {\r\n ExtFileManager.nextId++;\r\n return ExtFileManager.nextId;\r\n }\r\n /**\r\n * Updates a dui file list given an id\r\n * @param id id of the fileList\r\n * @param extFiles list of DuiFiles forinitializing the array\r\n * @returns the id of the fileList\r\n */\r\n public static setFileList(\r\n id: number | string | undefined,\r\n extFilesInstances: ExtFileInstance[]\r\n ): number | string {\r\n if (!id) {\r\n return 0;\r\n } else {\r\n ExtFileManager.fileLists[id] = [...extFilesInstances];\r\n\r\n return id;\r\n }\r\n\r\n }\r\n /**\r\n * Generates a new ID\r\n * @returns the next Id asociated with a DuiFIle list\r\n */\r\n public static createFileListMap(): number {\r\n const nextId: number = ExtFileManager.getNextId();\r\n ExtFileManager.fileLists[nextId] = [];\r\n\r\n return nextId;\r\n }\r\n\r\n /**\r\n * Deletes a list map\r\n * @returns the next Id asociated with a DuiFIle list\r\n */\r\n public static removeFileListMap(id?: number | string): number | string {\r\n if (!id) {\r\n return 0;\r\n } else {\r\n try {\r\n ExtFileManager.fileLists[id] = undefined;\r\n return id;\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"Error on remove\", error);\r\n return 0;\r\n }\r\n }\r\n }\r\n /**\r\n * \r\n * @param id the id of the dropzone\r\n * @returns \r\n */\r\n public static getExtFileInstanceList(\r\n id?: number | string\r\n ): ExtFileInstance[] | undefined {\r\n try {\r\n if (!id) {\r\n return undefined;\r\n }\r\n return ExtFileManager.fileLists[id];\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"Error on getExtFileInstanceList\", error);\r\n return undefined;\r\n }\r\n }\r\n /**\r\n * Updates(replaces) the extFile list on preparing stage and returns the new array.\r\n * Removes the non valid files if cleanOnUpload is true and validateFiles is also true\r\n * Then sets on preparing stage all files according to the following creiteria:\r\n * If theuploadStatus is diferent than \"sucess\" AND\r\n * then, update the files on preparing stage. Otherwise keep the extFile props.\r\n * Finally, updates the ExtFileInstance list on ExtFileManager.\r\n * @param dropzoneId the id to access the right list\r\n * @param localFiles the list of extFiles\r\n * @param validateFiles flag that indicates that validation is active or o¿not\r\n * @param cleanOnUpload flag to determine whther to clena the list oof non valid files or not\r\n * @returns a list of ExtFileInstance\r\n */\r\n public static setFileListMapPreparing(\r\n dropzoneId: number | string,\r\n localFiles: ExtFile[],\r\n validateFiles: boolean,\r\n cleanOnUpload: boolean\r\n ): ExtFileInstance[] | undefined {\r\n //console.log(\"setFileListMapPreparing before if\", dropzoneId, localFiles, cleanOnUpload);\r\n\r\n if (!(typeof dropzoneId === \"number\" || typeof dropzoneId === \"string\")) return undefined;\r\n\r\n //console.log(\"setFileListMapPreparing before try\", localFiles, cleanOnUpload);\r\n try {\r\n\r\n let resultExtList: ExtFileInstance[] = [];\r\n\r\n //initializes the extFileLInstance list\r\n let temLocalFiles: ExtFile[] = [...localFiles];\r\n\r\n //remove non valids if cleanOnUpload is true and validateFiles is also true\r\n if (cleanOnUpload && validateFiles) {\r\n // clean on Upload is true, so non valid files must be removed\r\n temLocalFiles = temLocalFiles.filter(extFile => extFile.valid)\r\n //console.log(\"temLocalFiles filter\", temLocalFiles);\r\n }\r\n\r\n //console.log(\"setFileListMapPreparing after remove non valids\", temLocalFiles);\r\n\r\n if (validateFiles) {\r\n // validation flag was set to true, so only valid=true files will be set to \"preparing\"\r\n\r\n //so, only valid files was kept in the temLocalfiles array\r\n //now set the preparing state only for files with uploadStatus !== \"success\"\r\n temLocalFiles =\r\n temLocalFiles\r\n .map(extFile => {\r\n if (extFile.uploadStatus !== \"success\" && extFile.valid) {\r\n return { ...extFile, uploadStatus: \"preparing\" }\r\n } else {\r\n return { ...extFile }\r\n }\r\n });\r\n } else {\r\n // all files will be set to \"preparing\" whether the valid value\r\n // except those files with uploadStatus ===\"success\"\r\n temLocalFiles =\r\n temLocalFiles\r\n .map(extFile => {\r\n if (extFile.uploadStatus !== \"success\") {\r\n return { ...extFile, uploadStatus: \"preparing\" }\r\n } else {\r\n return { ...extFile }\r\n }\r\n });\r\n }\r\n\r\n //console.log(\"setFileListMapPreparing result\", temLocalFiles);\r\n\r\n //converto to Object instances\r\n resultExtList = temLocalFiles.map(F => new ExtFileInstance(F));\r\n //console.log(\"setFileListMapPreparing RESULT resultExtList\", resultExtList);\r\n\r\n const resultSet = ExtFileManager.setFileList(dropzoneId, resultExtList);\r\n //console.log(\"setFileListMapPreparing RESULT resultSet\", resultSet);\r\n\r\n return resultExtList;\r\n // return ExtFileManager.fileLists[dropzoneId];\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"setFileListMapPreparing Error on get List\", error);\r\n return undefined;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n /**\r\n * Updates(replaces) the extFile list on preparing stage and returns the new array.\r\n * Removes the non valid files if cleanOnUpload is true and validateFiles is also true\r\n * Then sets on preparing stage all files according to the following creiteria:\r\n * If theuploadStatus is diferent than \"sucess\" AND\r\n * then, update the files on preparing stage. Otherwise keep the extFile props.\r\n * Finally, updates the ExtFileInstance list on ExtFileManager.\r\n * @param dropzoneId the id to access the right list\r\n * @param localFiles the list of extFiles\r\n * @param validateFiles flag that indicates that validation is active or o¿not\r\n * @param cleanOnUpload flag to determine whther to clena the list oof non valid files or not\r\n * @returns a list of ExtFileInstance\r\n */\r\n public static setFileListMapPreparing2(\r\n dropzoneId: number | string,\r\n localFiles: ExtFile[],\r\n validateFiles: boolean,\r\n cleanOnUpload: boolean\r\n ): ExtFileInstance[] | undefined {\r\n\r\n ExtFileManager.setFileList(dropzoneId, localFiles.map(F => new ExtFileInstance({ ...F, uploadStatus: \"preparing\" })));\r\n\r\n return ExtFileManager.getExtFileInstanceList(dropzoneId);\r\n }\r\n\r\n\r\n\r\n /**\r\n * \r\n * @param dropzoneId \r\n * @param index \r\n * @param incommingDuiFile \r\n * @returns \r\n */\r\n /* public static updateFileListMapPreparingById(\r\n dropzoneId: number,\r\n index: number,\r\n incommingDuiFile: ExtFileInstance\r\n ): ExtFileInstance[] | undefined {\r\n if (!(typeof dropzoneId === \"number\") || !(typeof index === \"number\") || index > 0) return undefined;\r\n const extFileList: ExtFileInstance[] | undefined = ExtFileManager.fileLists[dropzoneId];\r\n\r\n if (!(extFileList && extFileList.length > 0)) return undefined;\r\n extFileList[index]=\r\n try {\r\n ExtFileManager.setFileList(dropzoneId, [\r\n ...localFiles.map(\r\n (x) =>\r\n new ExtFileInstance({ ...x, uploadStatus: \"preparing\" })\r\n ),\r\n ]);\r\n return ExtFileManager.fileLists[dropzoneId];\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\")\r\n console.error(\"Error on get List\", error);\r\n return undefined;\r\n }\r\n\r\n } */\r\n}","\r\n/**\r\n * A syntetic file creator.\r\n * Very useful for tests\r\n */\r\nexport abstract class SyntheticFile {\r\n /**\r\n * \r\n * @param name the file name\r\n * @param size the file size\r\n * @param type the file type\r\n * @returns \r\n */\r\n static createFile = (name: string, size: number, type: string) => {\r\n const file = new File([], name, { type });\r\n Object.defineProperty(file, \"size\", {\r\n get() {\r\n return size;\r\n },\r\n });\r\n return file;\r\n };\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_aac = (size?: number): File => {\r\n return SyntheticFile.createFile(\"acc_audio-file-with-large-name.aac\", size ? size : 3516516, \"audio/aac\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_abw = (size?: number): File => {\r\n return SyntheticFile.createFile(\"abiword-file-with-large-name.abw\", size ? size : 3516516, \"application/x-abiword\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_freearc = (size?: number): File => {\r\n return SyntheticFile.createFile(\"freearc-file-with-large-name.arc\", size ? size : 3516516, \"application/x-freearc\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_avi = (size?: number): File => {\r\n return SyntheticFile.createFile(\"avi-file-with-large-name.avi\", size ? size : 3516516, \"video/x-msvideo\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_azw = (size?: number): File => {\r\n return SyntheticFile.createFile(\"amazon_kindle_ebook-file-with-large-name.azw\", size ? size : 3516516, \"application/vnd.amazon.ebook\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_octet = (size?: number): File => {\r\n return SyntheticFile.createFile(\"binary_octet_stream-file-with-large-name.bin\", size ? size : 3516516, \"application/octet-stream\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_bmp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"bit_map-file-with-large-name.bmp\", size ? size : 3516516, \"image/bmp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_bz = (size?: number): File => {\r\n return SyntheticFile.createFile(\"x_bzip-file-with-large-name.bz\", size ? size : 3516516, \"application/x-bzip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_bz2 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"x_bzip_2-file-with-large-name.bz2\", size ? size : 3516516, \"application/x-bzip2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_cda = (size?: number): File => {\r\n return SyntheticFile.createFile(\"cd_audio-file-with-large-name.cda\", size ? size : 3516516, \"application/x-cdf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_csh = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.csh\", size ? size : 3516516, \"application/x-csh\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_css = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.css\", size ? size : 3516516, \"text/css\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_csv = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.csv\", size ? size : 3516516, \"text/csv\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_doc = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.doc\", size ? size : 3516516, \"application/msword\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_docx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.docx\", size ? size : 3516516, \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_eot = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.eot\", size ? size : 3516516, \"application/vnd.ms-fontobject\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_epub = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.epub\", size ? size : 3516516, \"application/epub+zip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_gzip = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.gz\", size ? size : 3516516, \"application/gzip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_gif = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.gif\", size ? size : 3516516, \"image/gif\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_htm = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.htm\", size ? size : 3516516, \"text/html\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_html = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.html\", size ? size : 3516516, \"text/html\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ico = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ico\", size ? size : 3516516, \"image/vnd.microsoft.icon\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_icalendar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ics\", size ? size : 3516516, \"text/calendar\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jar\", size ? size : 3516516, \"application/java-archive\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jpeg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jpeg\", size ? size : 3516516, \"image/jpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jpg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jpg\", size ? size : 3516516, \"image/jpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_js = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.js\", size ? size : 3516516, \"text/javascript\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_json = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.json\", size ? size : 3516516, \"application/json\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_jsonld = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.jsonld\", size ? size : 3516516, \"application/ld+json\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mid = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mid\", size ? size : 3516516, \"audio/midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_x_mid = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mid\", size ? size : 3516516, \"audio/x-midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_midi = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.midi\", size ? size : 3516516, \"audio/x-midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_x_midi = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.midi\", size ? size : 3516516, \"audio/x-midi\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mjs = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mjs\", size ? size : 3516516, \"text/javascript\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mp3 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mp3\", size ? size : 3516516, \"audio/mpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mp4 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mp4\", size ? size : 3516516, \"video/mp4\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mpeg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mpeg\", size ? size : 3516516, \"video/mpeg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_mpkg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.mpkg\", size ? size : 3516516, \"application/vnd.apple.installer+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_odp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.odp\", size ? size : 3516516, \"application/vnd.oasis.opendocument.presentation\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ods = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ods\", size ? size : 3516516, \"application/vnd.oasis.opendocument.spreadsheet\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_odt = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.odt\", size ? size : 3516516, \"application/vnd.oasis.opendocument.text\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_oga = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.oga\", size ? size : 3516516, \"audio/ogg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ogv = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ogv\", size ? size : 3516516, \"video/ogg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ogx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ogx\", size ? size : 3516516, \"application/ogg\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_opus = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.opus\", size ? size : 3516516, \"audio/opus\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_otf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.otf\", size ? size : 3516516, \"font/otf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_png = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.png\", size ? size : 3516516, \"image/png\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_pdf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.pdf\", size ? size : 3516516, \"application/pdf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_php = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.php\", size ? size : 3516516, \"application/x-httpd-php\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ppt = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ppt\", size ? size : 3516516, \"application/vnd.ms-powerpoint\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_pptx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.pptx\", size ? size : 3516516, \"application/vnd.openxmlformats-officedocument.presentationml.presentation\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_rar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.rar\", size ? size : 3516516, \"application/vnd.rar\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_rtf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.rtf\", size ? size : 3516516, \"application/rtf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_sh = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.sh\", size ? size : 3516516, \"application/x-sh\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_svg = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.svg\", size ? size : 3516516, \"image/svg+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_swf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.swf\", size ? size : 3516516, \"application/x-shockwave-flash\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_tar = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.tar\", size ? size : 3516516, \"application/x-tar\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_tif = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.tif\", size ? size : 3516516, \"image/tiff\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_tiff = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.tiff\", size ? size : 3516516, \"image/tiff\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ts = (size?: number): File => {\r\n return SyntheticFile.createFile(\"mp2t_video-file-with-large-name.ts\", size ? size : 3516516, \"video/mp2t\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_ttf = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.ttf\", size ? size : 3516516, \"font/ttf\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_text = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.txt\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_typescript = (size?: number): File => {\r\n return SyntheticFile.createFile(\"typescript-file-with-large-name.ts\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_vsd = (size?: number): File => {\r\n return SyntheticFile.createFile(\"ms_visio-file-with-large-name.vsd\", size ? size : 3516516, \"application/vnd.visio\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_wav = (size?: number): File => {\r\n return SyntheticFile.createFile(\"wav_audio-file-with-large-name.wav\", size ? size : 3516516, \"audio/wav\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_weba = (size?: number): File => {\r\n return SyntheticFile.createFile(\"web_audio-file-with-large-name.weba\", size ? size : 3516516, \"audio/webm\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_webm = (size?: number): File => {\r\n return SyntheticFile.createFile(\"web_video-file-with-large-name.webm\", size ? size : 3516516, \"video/webm\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_webp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"web_image-file-with-large-name.webp\", size ? size : 3516516, \"image/webp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_woff = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.woff\", size ? size : 3516516, \"font/woff\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_woff2 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.woff2\", size ? size : 3516516, \"font/woff2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xhtml = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xhtml\", size ? size : 3516516, \"application/xhtml+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xlsx = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xls\", size ? size : 3516516, \"application/vnd.ms-excel\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xls = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xlsx\", size ? size : 3516516, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xml = (size?: number): File => {\r\n return SyntheticFile.createFile(\"xml-file-with-large-name.xml\", size ? size : 3516516, \"application/xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xml_txt = (size?: number): File => {\r\n return SyntheticFile.createFile(\"xml_plain_text-file-with-large-name.xml\", size ? size : 3516516, \"application/xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_xul = (size?: number): File => {\r\n return SyntheticFile.createFile(\"test-file-with-large-name.xul\", size ? size : 3516516, \"application/vnd.mozilla.xul+xml\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_zip = (size?: number): File => {\r\n return SyntheticFile.createFile(\"zip-file-with-large-name.zip\", size ? size : 3516516, \"application/zip\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp_video-file-with-large-name.3gp\", size ? size : 3516516, \"video/3gpp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp2 = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp2_video-file-with-large-name.3g2\", size ? size : 3516516, \"video/3gpp2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp_a = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp_audio-file-with-large-name.3gp\", size ? size : 3516516, \"audio/3gpp\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_3gp_v = (size?: number): File => {\r\n return SyntheticFile.createFile(\"3gp_audio-file-with-large-name.3gp2\", size ? size : 3516516, \"audio/3gpp2\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_7z = (size?: number): File => {\r\n return SyntheticFile.createFile(\"seven_zip-file-with-large-name.7z\", size ? size : 3516516, \"application/x-7z-compressed\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_python = (size?: number): File => {\r\n return SyntheticFile.createFile(\"python-file-with-large-name.py\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_java = (size?: number): File => {\r\n return SyntheticFile.createFile(\"java-file-with-large-name.java\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_react = (size?: number): File => {\r\n return SyntheticFile.createFile(\"react_jsx-file-with-large-name.jsx\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * \r\n * @param size the file size\r\n * @returns a syntetic File object instance\r\n */\r\n static create_vue = (size?: number): File => {\r\n return SyntheticFile.createFile(\"vue-file-with-large-name.vue\", size ? size : 3516516, \"text/plain\");\r\n }\r\n /**\r\n * Creates an array of fake (synthetic) files\r\n * @param size the file size for all synthetic files\r\n * @returns an array of all file icon preview supported files\r\n */\r\n static createFileListMiscelanious = (size?: number): File[] => {\r\n\r\n let listFile: File[] = [];\r\n\r\n listFile.push(SyntheticFile.create_aac(size));\r\n listFile.push(SyntheticFile.create_abw(size));\r\n listFile.push(SyntheticFile.create_freearc(size));\r\n listFile.push(SyntheticFile.create_avi(size));\r\n listFile.push(SyntheticFile.create_azw(size));\r\n listFile.push(SyntheticFile.create_octet(size));\r\n listFile.push(SyntheticFile.create_bmp(size));\r\n listFile.push(SyntheticFile.create_bz(size));\r\n listFile.push(SyntheticFile.create_bz2(size));\r\n listFile.push(SyntheticFile.create_cda(size));\r\n listFile.push(SyntheticFile.create_csh(size));\r\n listFile.push(SyntheticFile.create_css(size));\r\n listFile.push(SyntheticFile.create_csv(size));\r\n listFile.push(SyntheticFile.create_doc(size));\r\n listFile.push(SyntheticFile.create_docx(size));\r\n listFile.push(SyntheticFile.create_eot(size));\r\n listFile.push(SyntheticFile.create_epub(size));\r\n listFile.push(SyntheticFile.create_gzip(size));\r\n listFile.push(SyntheticFile.create_gif(size));\r\n listFile.push(SyntheticFile.create_htm(size));\r\n listFile.push(SyntheticFile.create_html(size));\r\n listFile.push(SyntheticFile.create_ico(size));\r\n listFile.push(SyntheticFile.create_icalendar(size));\r\n listFile.push(SyntheticFile.create_jar(size));\r\n listFile.push(SyntheticFile.create_jpeg(size));\r\n listFile.push(SyntheticFile.create_jpg(size));\r\n listFile.push(SyntheticFile.create_js(size));\r\n listFile.push(SyntheticFile.create_json(size));\r\n listFile.push(SyntheticFile.create_jsonld(size));\r\n listFile.push(SyntheticFile.create_mid(size));\r\n listFile.push(SyntheticFile.create_midi(size));\r\n listFile.push(SyntheticFile.create_x_mid(size));\r\n listFile.push(SyntheticFile.create_x_midi(size));\r\n listFile.push(SyntheticFile.create_mjs(size));\r\n listFile.push(SyntheticFile.create_mp3(size));\r\n listFile.push(SyntheticFile.create_mp4(size));\r\n listFile.push(SyntheticFile.create_mpeg(size));\r\n listFile.push(SyntheticFile.create_mpkg(size));\r\n listFile.push(SyntheticFile.create_odp(size));\r\n listFile.push(SyntheticFile.create_ods(size));\r\n listFile.push(SyntheticFile.create_odt(size));\r\n listFile.push(SyntheticFile.create_oga(size));\r\n listFile.push(SyntheticFile.create_ogv(size));\r\n listFile.push(SyntheticFile.create_ogx(size));\r\n listFile.push(SyntheticFile.create_opus(size));\r\n listFile.push(SyntheticFile.create_otf(size));\r\n listFile.push(SyntheticFile.create_png(size));\r\n listFile.push(SyntheticFile.create_pdf(size));\r\n listFile.push(SyntheticFile.create_php(size));\r\n listFile.push(SyntheticFile.create_ppt(size));\r\n listFile.push(SyntheticFile.create_pptx(size));\r\n listFile.push(SyntheticFile.create_rar(size));\r\n listFile.push(SyntheticFile.create_rtf(size));\r\n listFile.push(SyntheticFile.create_sh(size));\r\n listFile.push(SyntheticFile.create_svg(size));\r\n listFile.push(SyntheticFile.create_swf(size));\r\n listFile.push(SyntheticFile.create_tar(size));\r\n listFile.push(SyntheticFile.create_tif(size));\r\n listFile.push(SyntheticFile.create_tiff(size));\r\n listFile.push(SyntheticFile.create_ts(size));\r\n listFile.push(SyntheticFile.create_ttf(size));\r\n listFile.push(SyntheticFile.create_text(size));\r\n listFile.push(SyntheticFile.create_typescript(size));\r\n listFile.push(SyntheticFile.create_vsd(size));\r\n listFile.push(SyntheticFile.create_wav(size));\r\n listFile.push(SyntheticFile.create_weba(size));\r\n listFile.push(SyntheticFile.create_webm(size));\r\n listFile.push(SyntheticFile.create_webp(size));\r\n listFile.push(SyntheticFile.create_woff(size));\r\n listFile.push(SyntheticFile.create_woff2(size));\r\n listFile.push(SyntheticFile.create_xhtml(size));\r\n listFile.push(SyntheticFile.create_xlsx(size));\r\n listFile.push(SyntheticFile.create_xls(size));\r\n listFile.push(SyntheticFile.create_xml(size));\r\n listFile.push(SyntheticFile.create_xml_txt(size));\r\n listFile.push(SyntheticFile.create_xul(size));\r\n listFile.push(SyntheticFile.create_zip(size));\r\n //listFile.push(SyntheticFile.create_3gp(size));\r\n //listFile.push(SyntheticFile.create_3gp2(size));\r\n //listFile.push(SyntheticFile.create_3gp_a(size));\r\n //listFile.push(SyntheticFile.create_3gp_v(size));\r\n //listFile.push(SyntheticFile.create_7z(size));\r\n listFile.push(SyntheticFile.create_python(size));\r\n listFile.push(SyntheticFile.create_java(size));\r\n listFile.push(SyntheticFile.create_react(size));\r\n listFile.push(SyntheticFile.create_vue(size));\r\n\r\n return listFile;\r\n }\r\n}\r\n///////////////////// SHORTCUTS\r\n/**\r\n * Create a list of synthetic files with different mime types\r\n * @param size the file size for each synthetic file\r\n * @returns a list of synthetic file\r\n */\r\nexport const createListOfMultiTypeFile = (size?: number): File[] => {\r\n return SyntheticFile.createFileListMiscelanious(size);\r\n}\r\n\r\n/**\r\n * Creates a synthetic file.\r\n * By default, creates a png image file\r\n * @param name the file name to show. By default is set to \"png-image-file-with-large-name.png\"\r\n * @param size the size in bytes of the file. By default this value is set to 455555\r\n * @param type the mime type of the file. By default is set to \"image/png\"\r\n * @returns \r\n */\r\nexport const createSyntheticFile = (\r\n name = \"png-image-file-with-large-name.png\",\r\n size = 455555,\r\n type = \"image/png\",\r\n): File => {\r\n return SyntheticFile.createFile(name, size, type);\r\n}","/**\r\n * An id generator for FileItems\r\n */\r\n export abstract class FileIdGenerator {\r\n static nextId = 0;\r\n /**\r\n * Increases the id counter and returns the next id available.\r\n * @returns the next integer id available\r\n */\r\n static getNextId(): number {\r\n FileIdGenerator.nextId++;\r\n return FileIdGenerator.nextId;\r\n }\r\n}","/**\r\n * Random integer between min (included) and max (excluded)\r\n * @param min the min number\r\n * @param max the max number\r\n * @returns a random number between min (included) and max (excluded)\r\n */\r\nexport function getRandomInt(min: number = 0, max: number = 0): number {\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n}\r\n","/**\r\n * Cleans the input.value attribute\r\n * @param inputElement \r\n */\r\nexport const cleanInput = (inputElement?: HTMLInputElement | null) => {\r\n if (!inputElement) return;\r\n inputElement.value = \"\";\r\n}","/**\r\n * Separate the accept string array into an array of strings separated by commas\r\n * @param accept the string accept array\r\n * @returns an array of strings in wich every item\r\n */\r\nexport const separateAccept = (accept: string | undefined): string[] => {\r\n if (!accept || accept.length === 0) {\r\n return [];\r\n }\r\n const commaSeparatedAccpet: string[] = accept.split(\",\").map((acceptItem) => acceptItem.trim());\r\n return commaSeparatedAccpet;\r\n}","import { getExt } from \"../utils/getExt\";\r\n\r\n/**\r\n * Checks whether a file is valid or not given an array of file extentions and mime types\r\n * e.g. accept = [\".doc\", \".docx\", \".xml\", \"application/msword\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"]\r\n * @param accept the array of strings accept items\r\n * @param file a File object to be evaluated\r\n * @returns true if the mime type file is included in the accept param\r\n */\r\n export const validateAccept = (accept: string[], file: File): boolean => {\r\n let valid: boolean = false;\r\n const { name, type } = file;\r\n //Array(5) [ \".doc\", \".docx\", \".xml\", \"application/msword\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ]\r\n for (let i = 0; i < accept.length; i++) {\r\n const acceptItem: string = accept[i];\r\n //check is not empty\r\n if (acceptItem.length !== 0) {\r\n //check extention\r\n if (acceptItem.charAt(0) === \".\") {\r\n if (acceptItem.includes(getExt(name))) {\r\n return true;\r\n }\r\n }\r\n //check mime\r\n // header/tail => image/png ; image/* ; audio\r\n if (type && type.length > 0 && acceptItem.includes(\"/\") && type.includes(\"/\")) {\r\n let headerMime = acceptItem.split(\"/\")[0];\r\n let tailMime = acceptItem.split(\"/\")[1];\r\n\r\n let headerMimeFile = type.split(\"/\")[0];\r\n let tailMimeFile = type.split(\"/\")[1];\r\n\r\n if (headerMime === headerMimeFile) {\r\n // image/*\r\n if (tailMime === \"*\") {\r\n return true;\r\n } else if (tailMime === tailMimeFile) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return valid;\r\n}","import { ValidateErrorLocalizerSelector } from \"../localization\";\r\nimport { ExtFile, FunctionLabel, Localization, LocalLabels } from \"../types\";\r\nimport { ValidateFileResponse, FileValidatorProps } from \"../types/validation\";\r\nimport { FileIdGenerator } from \"../utils/IdGenerator\";\r\nimport { separateAccept } from \"./separateAccept\";\r\nimport { validateAccept } from \"./validateAccept\";\r\n\r\n/**\r\n * \r\n * @param preValidatedFiles FileList \r\n * @param remainingValids The number of remaining valid files\r\n * @param localValidator \r\n * @param validator \r\n * @param maxFiles \r\n * @param localization \r\n * @returns \r\n */\r\nexport const fileListvalidator = (\r\n preValidatedFiles: FileList,\r\n remainingValids: number,\r\n localValidator: FileValidatorProps,\r\n validator?: ((f: File) => ValidateFileResponse) ,\r\n maxFiles?: number,\r\n localization?: Localization\r\n): ExtFile[] => {\r\n const output: ExtFile[] = [];\r\n //set a countdown when there is a limit on files\r\n let countdown: number = remainingValids;\r\n // get localized labels\r\n const ValidationErrorLocalizer: LocalLabels =\r\n ValidateErrorLocalizerSelector(localization);\r\n //Iterate the File list\r\n for (let i = 0, f: File; (f = preValidatedFiles[i]); i++) {\r\n // Validate the file list with\r\n let validatedFile: ExtFile = validateFile(f, validator, localValidator, ValidationErrorLocalizer);\r\n if (validatedFile.valid) {\r\n //not valid due to file count limit\r\n const valid = countdown > 0;\r\n validatedFile.valid = valid;\r\n //add error about amount\r\n if (!valid) {\r\n const maxFileErrorMessenger: FunctionLabel = ValidationErrorLocalizer.maxFileCount as FunctionLabel;\r\n validatedFile.errors = validatedFile.errors\r\n ? [...validatedFile.errors, maxFileErrorMessenger(maxFiles || Infinity)]\r\n : [maxFileErrorMessenger(maxFiles || Infinity)];\r\n }\r\n countdown--;\r\n }\r\n output.push(validatedFile);\r\n }\r\n return output;\r\n};\r\n\r\n\r\n/**\r\n * For each ExtFile sets the valid prop of ExtFile to \"true\" or \"false\"\r\n * depending on the result of the individual validation. \r\n * It also add the list of errors.\r\n * @param extFileList \r\n * @param remainingValids \r\n * @param localValidatorProps \r\n * @param validator \r\n * @param maxFiles \r\n * @param localization \r\n * @returns a new ExtFile list with each item validated\r\n */\r\nexport const validateExtFileList = (\r\n extFileList: ExtFile[],\r\n remainingValids: number,\r\n localValidatorProps: FileValidatorProps,\r\n validator?: ((f: File) => ValidateFileResponse) ,\r\n maxFiles?: number,\r\n localization?: Localization\r\n): ExtFile[] => {\r\n //console.log(\"remaning valids\", remainingValids);\r\n let fileListResult: ExtFile[] = [];\r\n if (!remainingValids) return fileListResult;\r\n let remaining: number = remainingValids;\r\n const ValidationErrorLocalizer: LocalLabels =\r\n ValidateErrorLocalizerSelector(localization);\r\n const maxFileErrorMessenger: FunctionLabel = ValidationErrorLocalizer.maxFileCount as FunctionLabel;\r\n for (let i = 0; i < extFileList.length; i++) {\r\n let currentExtFile: ExtFile = extFileList[i];\r\n\r\n currentExtFile = validateExtFile(currentExtFile, validator, localValidatorProps, ValidationErrorLocalizer);\r\n //console.log(\"validateExtFileList after validation\", currentExtFile);\r\n\r\n if (currentExtFile.valid) {\r\n //not valid due to file count limit\r\n const valid = remaining > 0;\r\n currentExtFile.valid = valid;\r\n //add error about amount\r\n if (!valid) {\r\n currentExtFile.errors = currentExtFile.errors\r\n ? [...currentExtFile.errors, maxFileErrorMessenger(maxFiles || Infinity)]\r\n : [maxFileErrorMessenger(maxFiles || Infinity)];\r\n }\r\n remaining--;\r\n }\r\n fileListResult.push(currentExtFile);\r\n\r\n }\r\n return fileListResult;\r\n}\r\n\r\n/**\r\n * \r\n * @param extFile \r\n * @param validator \r\n * @param validatorProps \r\n * @param localErrors \r\n * @returns \r\n */\r\nexport const validateExtFile = (\r\n extFile: ExtFile,\r\n validator: ((f: File) => ValidateFileResponse) | undefined,\r\n validatorProps: FileValidatorProps,\r\n localErrors: LocalLabels\r\n): ExtFile => {\r\n let extFileResult: ExtFile = { ...extFile };\r\n let errors: string[] = [];\r\n //TO-DO: Add extra validation for individual props even if FIle object was not given\r\n if (!extFile.file) {\r\n return { ...extFileResult }\r\n }\r\n\r\n //TO-DO: add \"overrideValidation\" prop to ignore the rest of validators like accept and maxFileSize\r\n if (validator) {\r\n const resultCustomValidation: ValidateFileResponse = validator(extFileResult.file as File);\r\n const { errors: errorsResult } = resultCustomValidation;\r\n if (errorsResult)\r\n errors.push(...errorsResult)\r\n //return { ...extFileResult, ...validator(extFileResult.file as File) };\r\n }\r\n\r\n const { maxFileSize, accept } = validatorProps;\r\n //console.log(\"Validation\", maxFileSize, accept);\r\n //check file size\r\n const file: File = extFile.file;\r\n\r\n\r\n if (maxFileSize && file.size > maxFileSize) {\r\n const maxFileSizeErrorMessenger: FunctionLabel = localErrors.maxSizeError as FunctionLabel;\r\n\r\n //console.log(\"Size error\", maxFileSizeErrorMessenger(maxFileSize));\r\n\r\n errors.push(maxFileSizeErrorMessenger(maxFileSize));\r\n }\r\n //check file type\r\n if (accept && !validateAccept(separateAccept(accept), file)) {\r\n errors.push(localErrors.acceptError as string);\r\n }\r\n const isValid: boolean = errors.length === 0;\r\n extFileResult = { ...extFileResult, valid: isValid, errors: !isValid ? errors : undefined };\r\n //console.log(\"validation extFileResult\", extFileResult);\r\n return extFileResult;\r\n\r\n}\r\n\r\n\r\n\r\n/**\r\n * Function that validate whether a file is valid, or not\r\n * according to the Filevalidator properties\r\n * @param file a File object to be evaluated\r\n * @param validatorProps the validator object \r\n * @returns a FileValidated object\r\n */\r\nexport const validateFile = (\r\n file: File,\r\n validator: undefined | ((f: File) => ValidateFileResponse),\r\n validatorProps: FileValidatorProps,\r\n localErrors: LocalLabels\r\n): ExtFile => {\r\n\r\n const idGenerated = FileIdGenerator.getNextId();\r\n let errors: string[] = [];\r\n if (validator) {\r\n return { id: idGenerated, file, ...validator(file) };\r\n }\r\n\r\n const { maxFileSize, accept } = validatorProps;\r\n\r\n //check file size\r\n if (maxFileSize && file.size > maxFileSize) {\r\n const maxFileSizeErrorMessenger: FunctionLabel = localErrors.maxSizeError as FunctionLabel;\r\n errors.push(maxFileSizeErrorMessenger(maxFileSize));\r\n }\r\n\r\n //check file type\r\n // const allowedTypes = accept.filter((type) => (file.type === type))\r\n if (accept && !validateAccept(separateAccept(accept), file)) {\r\n errors.push(localErrors.acceptError as string);\r\n }\r\n\r\n\r\n const fileResult: ExtFile = {\r\n id: idGenerated,\r\n file: file,\r\n valid: errors.length === 0,\r\n errors: errors\r\n };\r\n // logic here\r\n return fileResult;\r\n};","/**\r\n * list of dumy errors in english\r\n */\r\nexport const listOfErrors: string[] =\r\n [\r\n \"File is too big. Max file size allowed is 80mb.\",\r\n \"File's type is not allowed.\",\r\n \"Max amount of files (28) has been reached.\"\r\n ];","export default function addExtraData(\r\n formData: FormData,\r\n extraData: Record<string, string> | undefined\r\n) {\r\n //headers\r\n const extraDataKeys: string[] = Object.keys(extraData || {});\r\n //const headerValues: string[] = Object.values(headers);\r\n for (let i = 0; i < extraDataKeys.length && extraData; i++) {\r\n //console.log(\"uploadFile extraData\", extraDataKeys[i], extraData[extraDataKeys[i]]);\r\n formData.append(extraDataKeys[i], extraData[extraDataKeys[i]]);\r\n }\r\n\r\n formData.append(\"otherValue\", \"HAAAAAAAAAAAAAAa\");\r\n\r\n}","export default function addHeaders(\r\n xhr: XMLHttpRequest,\r\n headers: Record<string, string> | undefined\r\n) {\r\n //headers\r\n const headerKeys: string[] = Object.keys(headers || {});\r\n //const headerValues: string[] = Object.values(headers);\r\n for (let i = 0; i < headerKeys.length && headers; i++) {\r\n //console.log(\"uploadFile headers\", headerKeys[i], headers[headerKeys[i]]);\r\n xhr.setRequestHeader(\r\n headerKeys[i],\r\n headers[headerKeys[i]]\r\n );\r\n }\r\n\r\n\r\n}","import { ExtFile, UploadResponse } from \"../types\";\r\n\r\nexport const TIMEOUT_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Timeout error\",\r\n payload: {}\r\n};\r\nexport const ABORTED_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Upload aborted\",\r\n payload: {}\r\n}\r\nexport const JSON_PARSE_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Error when parsing JSON response\",\r\n payload: {}\r\n}\r\n\r\nexport const UNEXPECTED_ERROR_RESPONSE = {\r\n success: false,\r\n message: \"Unexpected error\",\r\n payload: {}\r\n}\r\n\r\nexport const NO_XHR_PROVIDED_ERROR = (extFile: ExtFile): ExtFile => {\r\n return {\r\n\r\n ...extFile,\r\n uploadMessage: \"Unable to upload. xhr object was not provided\",\r\n uploadStatus: \"error\",\r\n\r\n serverResponse: { success: false, }\r\n }\r\n}","import { ExtFile, ServerResponse, UploadResponse } from \"../types\";\r\nimport { JSON_PARSE_ERROR_RESPONSE } from \"./errors.upload\";\r\n\r\nexport const makeServerResponse = (success: any, message: string, payload: any): ServerResponse => {\r\n const result: ServerResponse = { success: success, message: message, payload: payload } as ServerResponse;\r\n return result;\r\n}\r\nexport const JsonParseResponse = (xhr: XMLHttpRequest): ServerResponse => {\r\n try {\r\n const jsonResponse = JSON.parse(xhr.response);\r\n const success: any = jsonResponse.success;\r\n const message: string = jsonResponse.message;\r\n const payload: any = jsonResponse.payload;\r\n\r\n const fuiResponse: ServerResponse = {\r\n success: typeof success === \"boolean\" ? success : false,\r\n message: typeof message === \"string\" ? message : \"Error on message response\",\r\n payload: payload || {}\r\n }\r\n return fuiResponse\r\n } catch (error) {\r\n //console.log(\"FuiUpload ERROR\", error);\r\n return JSON_PARSE_ERROR_RESPONSE;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const makeSuccessUploadResponse = (\r\n extFile: ExtFile,\r\n responseFui: ServerResponse\r\n): ExtFile => {\r\n return {\r\n ...extFile,\r\n serverResponse: responseFui,\r\n uploadMessage: responseFui.message,\r\n uploadStatus: \"success\"\r\n\r\n }\r\n}\r\n\r\n\r\nexport const makeErrorUploadResponse = (\r\n extFile: ExtFile,\r\n responseFui: ServerResponse\r\n): ExtFile => {\r\n //console.log(\"makeErrorUploadResponse\", extFile, responseFui);\r\n return {\r\n ...extFile,\r\n uploadMessage: responseFui.message,\r\n uploadStatus: \"error\", \r\n serverResponse: responseFui,\r\n }\r\n}\r\n\r\n","import { ExtFile, Method, UPLOADSTATUS } from \"../types\";\r\nimport { ServerResponse, UploadResponse } from \"../types/uploadTypes\";\r\nimport addExtraDataUpload from \"./addExtraData.upload\";\r\nimport addHeaders from \"./addheaders.upload\";\r\nimport { ABORTED_ERROR_RESPONSE, NO_XHR_PROVIDED_ERROR, TIMEOUT_ERROR_RESPONSE, UNEXPECTED_ERROR_RESPONSE } from \"./errors.upload\";\r\nimport { JsonParseResponse, makeErrorUploadResponse, makeSuccessUploadResponse } from \"./response.upload\";\r\nimport { completeUploadResult, unableToUploadResult } from \"./utils.upload\";\r\n\r\n\r\n/**\r\n * Uploads one formData object to a given endpoint in a promisified way\r\n * @param xhr XMLHTTPrequest object\r\n * @param method method for uploading\r\n * @param endpoint endpoint to upload the file\r\n * @param data FromData object to perform multipart form data upload\r\n * @param headers the set of headers\r\n * @returns a server response that consists on {status, payload, message}\r\n */\r\nexport const uploadFormData = (\r\n xhr: XMLHttpRequest,\r\n method: Method | undefined = \"POST\",\r\n endpoint: string,\r\n data: FormData,\r\n headers: Record<string, string> | undefined\r\n) => {\r\n return new Promise<ServerResponse>((resolve, reject) => {\r\n //console.log(\"Fui_uploadFormData uploadFile\", xhr, method, endpoint, data, headers);\r\n\r\n const finalMethod: Method = [\"POST\", \"PUT\", \"PATCH\"].includes(method.toUpperCase()) ? method : \"POST\";\r\n\r\n let lastLastState: number = -1;\r\n let lastState: number = 0;\r\n let jumped: boolean = false;\r\n\r\n xhr.upload.onload = () => {\r\n //console.log(\"Fui_uploadFormData uploadFile onLoad\", xhr.readyState, xhr.response);\r\n };\r\n xhr.upload.ontimeout = () => resolve(TIMEOUT_ERROR_RESPONSE);\r\n xhr.upload.onabort = () => {\r\n //console.log(\"Fui_uploadFormData ABORTEEEEDDDD\");\r\n resolve(ABORTED_ERROR_RESPONSE);\r\n };\r\n xhr.onloadend = async (e) => {\r\n //console.log(\"onloadend loaded\", e.loaded);\r\n //console.log(\"onloadend total\", e.total);\r\n //console.log(\"onloadend lengthComputable\", e.lengthComputable);\r\n\r\n }\r\n // listen for `progress` event\r\n //currently listening on FileItem component hook\r\n xhr.onreadystatechange = async (e) => {\r\n //console.log(\"Finished\", xhr);\r\n\r\n //console.log(\"Fui_uploadFormData uploadFile onreadystatechange e.type\", e.type);\r\n //console.log(\"Fui_uploadFormData uploadFile onreadystatechange\", xhr.readyState, xhr.response);\r\n\r\n lastLastState = lastState;\r\n lastState = xhr.readyState;\r\n\r\n if (xhr.readyState === 4) {\r\n if (xhr.response !== \"\") {\r\n //there is th answer\r\n resolve(JsonParseResponse(xhr));\r\n } else {\r\n //error unexpected\r\n // console.log(\"Fui_uploadFormData EMPTY status\", xhr.status);\r\n // console.log(\"Fui_uploadFormData EMPTY readyState\", xhr.readyState);\r\n // console.log(\"Fui_uploadFormData EMPTY upload\", xhr.upload);\r\n //console.log(\"Fui_uploadFormData EMPTY abort\", xhr.abort);\r\n //const jumped = lastLastState - lastLastState !== 1;\r\n resolve(ABORTED_ERROR_RESPONSE);\r\n\r\n }\r\n } else {\r\n //console.log(\"Fui_uploadFormData FuiUpload NOT YET\" + xhr.readyState);\r\n }\r\n };\r\n // open request\r\n xhr.open(finalMethod, endpoint, true);\r\n\r\n //add header to request\r\n addHeaders(xhr, headers);\r\n //start uploading\r\n xhr.send(data);\r\n });\r\n\r\n};\r\n\r\n/**\r\n * \r\n * @param file the extended file to be uploaded\r\n * @param url the endpoint\r\n * @param method the method for uploading\r\n * @param headers headers for request\r\n * @returns \r\n */\r\nexport const uploadExtFile = async (\r\n extFile: ExtFile,\r\n url: string,\r\n method?: Method,\r\n headers?: Record<string, string>,\r\n uploadLabel?: string,\r\n): Promise<ExtFile> => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const uploader: XMLHttpRequest | undefined = extFile.xhr;\r\n\r\n if (!uploader) {\r\n resolve(NO_XHR_PROVIDED_ERROR(extFile));\r\n return;\r\n }\r\n\r\n const localMethod: Method = method || \"POST\";\r\n const fileToUpload: File = extFile.file as File;\r\n\r\n const formData = new FormData();\r\n\r\n formData.append(uploadLabel || \"file\", fileToUpload);\r\n\r\n // add extra data to upload\r\n const finalExtraData: Record<string, any> =\r\n { otherValue: \"other valueee haaaa\", param2: { tecnica: \"KIKOHUUUU\", friend: \"Chaos\", age: 25 }, ...extFile.extraUploadData };\r\n\r\n addExtraDataUpload(formData, finalExtraData);\r\n //console.log(\"FORMDATA\", formData);\r\n\r\n let responseFui: ServerResponse;\r\n responseFui = await uploadFormData(\r\n uploader,\r\n localMethod,\r\n url,\r\n formData,\r\n headers || {});\r\n\r\n if (responseFui.success) {\r\n // status is true\r\n resolve(makeSuccessUploadResponse(extFile, responseFui));\r\n } else {\r\n // status is false\r\n resolve(makeErrorUploadResponse(extFile, responseFui));\r\n }\r\n } catch (error) {\r\n // on error\r\n //console.log(\"uploadPromiseXHR uploadPromiseXHR ERROR\", error);\r\n resolve(\r\n makeErrorUploadResponse(extFile, UNEXPECTED_ERROR_RESPONSE)\r\n );\r\n }\r\n });\r\n};\r\n\r\n\r\n\r\n\r\nexport function uploadFile(\r\n file: File,\r\n url: string,\r\n method?: Method,\r\n label?: string,\r\n headers?: Record<string, string>\r\n): Promise<ServerResponse> {\r\n return new Promise(async (resolve, reject) => {\r\n\r\n\r\n //start uploading\r\n const formData = new FormData();\r\n\r\n formData.append(label || \"file\", file);\r\n\r\n try {\r\n const serverResponse: ServerResponse = await uploadFormData(new XMLHttpRequest(), method, url, formData, headers);\r\n resolve(serverResponse);\r\n } catch (error) {\r\n // on error\r\n //console.log(\"uploadPromiseXHR uploadPromiseXHR ERROR\", error);\r\n resolve(UNEXPECTED_ERROR_RESPONSE);\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * @deprecated\r\n * Uploads one formData object to a given endpoint in a promisified way\r\n * @param xhr XMLHTTPrequest object\r\n * @param method method for uploading\r\n * @param endpoint endpoint to upload the file\r\n * @param data FromData object to perform multipart form data\r\n * @param headers the set of headers\r\n * @returns a dui server response that consists on {success, payload, message}\r\n */\r\nexport const FuiUpload = (\r\n xhr: XMLHttpRequest,\r\n method: Method,\r\n endpoint: string,\r\n data: FormData,\r\n headers: Record<string, string>\r\n) => {\r\n return new Promise<ServerResponse>((resolve, reject) => {\r\n //console.log(\"FuiUpload params\", xhr, method, endpoint, data, headers);\r\n\r\n xhr.upload.onload = () => {\r\n //console.log(\"FuiUpload onLoad\", xhr.readyState, xhr.response);\r\n };\r\n\r\n xhr.upload.ontimeout = () => resolve(TIMEOUT_ERROR_RESPONSE);\r\n xhr.upload.onabort = () => resolve(ABORTED_ERROR_RESPONSE);\r\n\r\n // listen for `progress` event\r\n //currently listening on FileMosaic component hook\r\n\r\n xhr.onreadystatechange = async (e) => {\r\n //console.log(\"Finished\", xhr);\r\n //console.log(\"FuiUpload onreadystatechange\", xhr.readyState, xhr.response, xhr);\r\n\r\n if (xhr.readyState === 4) {\r\n if (xhr.response !== \"\") {\r\n //there is th answer\r\n resolve(JsonParseResponse(xhr));\r\n } else {\r\n //error unexpected\r\n resolve(UNEXPECTED_ERROR_RESPONSE);\r\n }\r\n } else {\r\n //console.log(\"FuiUpload NOT YET\" + xhr.readyState);\r\n }\r\n };\r\n // open request\r\n xhr.open(method, endpoint, true);\r\n const headerKeys: string[] = Object.keys(headers);\r\n //const headerValues: string[] = Object.values(headers);\r\n for (let i = 0; i < headerKeys.length; i++) {\r\n //console.log(\"FuiUpload headers\", headerKeys[i], headers[headerKeys[i]]);\r\n xhr.setRequestHeader(\r\n headerKeys[i],\r\n headers[headerKeys[i]]\r\n );\r\n }\r\n //start uploading\r\n xhr.send(data);\r\n });\r\n\r\n};\r\n\r\n\r\n","import { NamedColor } from \"../types/NamedColor\";\r\n\r\n/**\r\n * The full list of named Colors provided by\r\n * https://htmlcolorcodes.com/es/nombres-de-los-colores/\r\n */\r\nexport const NAMED_COLORS: NamedColor =\r\n{\r\n //RED\r\n indianred: \"#CD5C5C\",\r\n lightcoral: \"#F08080\",\r\n salmon: \"#FA8072\",\r\n darksalmon: \"#E9967A\",\r\n lightsalmon: \"#FFA07A\",\r\n crimson: \"#DC143C\",\r\n red: \"#FF0000\",\r\n firebrick: \"#B22222\",\r\n darkred: \"#8B0000\",\r\n //PINK\r\n pink: \"#FFC0CB\",\r\n lightpink: \"#FFB6C1\",\r\n hotpink: \"#FF69B4\",\r\n deeppink: \"#FF1493\",\r\n mediumvioletred: \"#C71585\",\r\n palevioletred: \"#DB7093\",\r\n //ORANGE\r\n //\"lightsalmon: \"#FFA07A\",\r\n coral: \"#FF7F50\",\r\n tomato: \"#FF6347\",\r\n orangered: \"#FF4500\",\r\n darkorange: \"#FF8C00\",\r\n orange: \"#FFA500\",\r\n //YELLOW\r\n gold: \"#FFD700\",\r\n yellow: \"#FFFF00\",\r\n lightyellow: \"#FFFFE0\",\r\n lemonchiffon: \"#FFFACD\",\r\n lightgoldenrodyellow: \"#FAFAD2\",\r\n papayawhip: \"#FFEFD5\",\r\n moccasin: \"#FFE4B5\",\r\n peachpuff: \"#FFDAB9\",\r\n palegoldenrod: \"#EEE8AA\",\r\n khaki: \"#F0E68C\",\r\n darkkhaki: \"#BDB76B\",\r\n //PURPLE\r\n lavender: \"#E6E6FA\",\r\n thistle: \"#D8BFD8\",\r\n plum: \"#DDA0DD\",\r\n violet: \"#EE82EE\",\r\n orchid: \"#DA70D6\",\r\n fuchsia: \"#FF00FF\",\r\n magenta: \"#FF00FF\",\r\n mediumorchid: \"#BA55D3\",\r\n mediumpurple: \"#9370DB\",\r\n rebeccapurple: \"#663399\",\r\n blueviolet: \"#8A2BE2\",\r\n darkviolet: \"#9400D3\",\r\n darkorchid: \"#9932CC\",\r\n darkmagenta: \"#8B008B\",\r\n purple: \"#800080\",\r\n indigo: \"#4B0082\",\r\n slateblue: \"#6A5ACD\",\r\n darkslateblue: \"#483D8B\",\r\n mediumslateblue: \"#7B68EE\",\r\n //GREEN\r\n greenyellow: \"#ADFF2F\",\r\n chartreuse: \"#7FFF00\",\r\n lawngreen: \"#7CFC00\",\r\n lime: \"#00FF00\",\r\n limegreen: \"#32CD32\",\r\n palegreen: \"#98FB98\",\r\n lightgreen: \"#90EE90\",\r\n mediumspringgreen: \"#00FA9A\",\r\n springgreen: \"#00FF7F\",\r\n mediumseagreen: \"#3CB371\",\r\n seagreen: \"#2E8B57\",\r\n forestgreen: \"#228B22\",\r\n green: \"#008000\",\r\n darkgreen: \"#006400\",\r\n yellowgreen: \"#9ACD32\",\r\n olivedrab: \"#6B8E23\",\r\n olive: \"#808000\",\r\n darkolivegreen: \"#556B2F\",\r\n mediumaquamarine: \"#66CDAA\",\r\n darkseagreen: \"#8FBC8B\",\r\n lightseagreen: \"#20B2AA\",\r\n darkcyan: \"#008B8B\",\r\n teal: \"#008080\",\r\n //BLUE\r\n aqua: \"#00FFFF\",\r\n cyan: \"#00FFFF\",\r\n lightcyan: \"#E0FFFF\",\r\n paleturquoise: \"#AFEEEE\",\r\n aquamarine: \"#7FFFD4\",\r\n turquoise: \"#40E0D0\",\r\n mediumturquoise: \"#48D1CC\",\r\n darkturquoise: \"#00CED1\",\r\n cadetblue: \"#5F9EA0\",\r\n steelblue: \"#4682B4\",\r\n lightsteelblue: \"#B0C4DE\",\r\n powderblue: \"#B0E0E6\",\r\n lightblue: \"#ADD8E6\",\r\n skyblue: \"#87CEEB\",\r\n lightskyblue: \"#87CEFA\",\r\n deepskyblue: \"#00BFFF\",\r\n dodgerblue: \"#1E90FF\",\r\n cornflowerblue: \"#6495ED\",\r\n //\"mediumslateblue: \"#7B68EE\",\r\n royalblue: \"#4169E1\",\r\n blue: \"#0000FF\",\r\n mediumblue: \"#0000CD\",\r\n darkblue: \"#00008B\",\r\n navy: \"#000080\",\r\n midnightblue: \"#191970\",\r\n //BROWN\r\n cornsilk: \"#FFF8DC\",\r\n blanchedalmond: \"#FFEBCD\",\r\n bisque: \"#FFE4C4\",\r\n navajowhite: \"#FFDEAD\",\r\n wheat: \"#F5DEB3\",\r\n burlywood: \"#DEB887\",\r\n tan: \"#D2B48C\",\r\n rosybrown: \"#BC8F8F\",\r\n sandybrown: \"#F4A460\",\r\n goldenrod: \"#DAA520\",\r\n darkgoldenrod: \"#B8860B\",\r\n peru: \"#CD853F\",\r\n chocolate: \"#D2691E\",\r\n saddlebrown: \"#8B4513\",\r\n sienna: \"#A0522D\",\r\n brown: \"#A52A2A\",\r\n maroon: \"#800000\",\r\n //WHITE\r\n white: \"#FFFFFF\",\r\n snow: \"#FFFAFA\",\r\n honeydew: \"#F0FFF0\",\r\n mintcream: \"#F5FFFA\",\r\n azure: \"#F0FFFF\",\r\n aliceblue: \"#F0F8FF\",\r\n ghostwhite: \"#F8F8FF\",\r\n whitesmoke: \"#F5F5F5\",\r\n seashell: \"#FFF5EE\",\r\n beige: \"#F5F5DC\",\r\n oldlace: \"#FDF5E6\",\r\n floralwhite: \"#FFFAF0\",\r\n ivory: \"#FFFFF0\",\r\n antiquewhite: \"#FAEBD7\",\r\n linen: \"#FAF0E6\",\r\n lavenderblush: \"#FFF0F5\",\r\n mistyrose: \"#FFE4E1\",\r\n //GREY\r\n gainsboro: \"#DCDCDC\",\r\n lightgray: \"#D3D3D3\",\r\n silver: \"#C0C0C0\",\r\n darkgray: \"#A9A9A9\",\r\n gray: \"#808080\",\r\n dimgray: \"#696969\",\r\n lightslategray: \"#778899\",\r\n slategray: \"#708090\",\r\n darkslategray: \"#2F4F4F\",\r\n black: \"#000000\"\r\n}","import { NAMED_COLORS } from \"./namedColors\";\r\n\r\n/**\r\n * Make the color into a darker color\r\n * @param colorInput \r\n * @returns the darked color in\r\n */\r\nexport const darkerColor = (colorInput: string, percentage = 25): string => {\r\n let darkedColor = \"\";\r\n const reduce = (100 - percentage) / 100;\r\n let component1: number = 0;\r\n let component2: number = 0;\r\n let component3: number = 0;\r\n if (isHexColor(colourNameToHex(colorInput))) {\r\n\r\n component1 = hexTodec(colorInput.charAt(1)) * 16 + hexTodec(colorInput.charAt(2));\r\n component2 = hexTodec(colorInput.charAt(3)) * 16 + hexTodec(colorInput.charAt(4));\r\n component3 = hexTodec(colorInput.charAt(5)) * 16 + hexTodec(colorInput.charAt(6));\r\n\r\n darkedColor = `rgb(${component1 * reduce}, ${component2 * reduce},${component3 * reduce})`;\r\n } else {\r\n if (colorInput.includes(\"rgba\")) {\r\n let slicer = colorInput.replace(\"rgba(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n darkedColor = `rgb(${parseInt(components[0], 10) * reduce}, ${parseInt(components[1], 10) * reduce},${parseInt(components[2], 10) * reduce})`;\r\n //return darkedColor;\r\n } else if (colorInput.includes(\"rgb\")) {\r\n\r\n let slicer = colorInput.replace(\"rgb(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n darkedColor = `rgb(${parseInt(components[0], 10) * reduce}, ${parseInt(components[1], 10) * reduce},${parseInt(components[2], 10) * reduce})`;\r\n // return darkedColor;\r\n }\r\n }\r\n\r\n return darkedColor;\r\n}\r\n/**\r\n * Make the color into a brighted color\r\n * @param colorInput \r\n * @returns the brighted color \r\n */\r\nexport const brighterColor = (colorInput: string, percentage = 25): string => {\r\n let brightedColor = \"\";\r\n const increase = (100 + percentage) / 100;\r\n let component1: number = 0;\r\n let component2: number = 0;\r\n let component3: number = 0;\r\n if (isHexColor(colourNameToHex(colorInput))) {\r\n\r\n component1 = hexTodec(colorInput.charAt(1)) * 16 + hexTodec(colorInput.charAt(2));\r\n component2 = hexTodec(colorInput.charAt(3)) * 16 + hexTodec(colorInput.charAt(4));\r\n component3 = hexTodec(colorInput.charAt(5)) * 16 + hexTodec(colorInput.charAt(6));\r\n\r\n brightedColor = `rgb(${component1 * increase}, ${component2 * increase},${component3 * increase})`;\r\n } else {\r\n if (colorInput.includes(\"rgba\")) {\r\n let slicer = colorInput.replace(\"rgba(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n brightedColor = `rgb(${parseInt(components[0], 10) * increase}, ${parseInt(components[1], 10) * increase},${parseInt(components[2], 10) * increase})`;\r\n //return darkedColor;\r\n } else if (colorInput.includes(\"rgb\")) {\r\n\r\n let slicer = colorInput.replace(\"rgb(\", \"\");\r\n let components: string[] = slicer.split(\",\");\r\n brightedColor = `rgb(${parseInt(components[0], 10) * increase}, ${parseInt(components[1], 10) * increase},${parseInt(components[2], 10) * increase})`;\r\n // return darkedColor;\r\n }\r\n }\r\n\r\n return brightedColor;\r\n}\r\n\r\n/**\r\n * In order to managae rgba() we convert hex colors into rgba()\r\n * If the given color is already a rgb() color, it can add the percentage to convert it into rgba()\r\n * \r\n * \r\n * @param colorInput color in hex or in rgb\r\n * @param perc percentage for RGBA() color \r\n * @returns the rgba representation of a hex color\r\n */\r\nexport const hexColorToRGB = (colorInput: string | undefined, perc = 0, defaultColor?: string): string => {\r\n let resultDefault: string = defaultColor ? defaultColor : \"rgba(255, 255, 255, 0.6)\";\r\n if (!colorInput) {\r\n return resultDefault;\r\n }\r\n //work only in uppercase\r\n const color: string = colorInput.toUpperCase();\r\n // is already a rgba color\r\n if (color.includes(\"RGBA\")) {\r\n return color;\r\n }\r\n\r\n //return rbg => rgba\r\n if (color.includes(\"RGB\")) {\r\n return color.replace('RGB', `rgba`).replace(')', `, ${perc})`);\r\n }\r\n\r\n // if is a hex color or named color\r\n if (!isHexColor(colourNameToHex(color))) {\r\n return resultDefault;\r\n }\r\n let resultOk: string = \"\";\r\n //let strVar: string = \"\";\r\n let component1: number = 0;\r\n let component2: number = 0;\r\n let component3: number = 0;\r\n //If passed all validations, proceed to transform\r\n component1 = hexTodec(color.charAt(1)) * 16 + hexTodec(color.charAt(2));\r\n component2 = hexTodec(color.charAt(3)) * 16 + hexTodec(color.charAt(4));\r\n component3 = hexTodec(color.charAt(5)) * 16 + hexTodec(color.charAt(6));\r\n resultOk = `rgba(${component1}, ${component2},${component3} , ${perc})`;\r\n return resultOk;\r\n}\r\n\r\n/**\r\n * Validates wheteher the color is hexadecimal css color\r\n * Example: #FF56AC\r\n * \r\n * \r\n * @param colorInput the color inpt to test \r\n * @returns true if the inputColor is a hexadecimal css color\r\n */\r\nexport const isHexColor = (colorInput: string): boolean => {\r\n\r\n // if first element is no '#' return default background color\r\n if (colorInput.charAt(0) !== '#') {\r\n\r\n return false;\r\n }\r\n // if color lenght is not exactly 7 return default\r\n if (colorInput.length !== 7) {\r\n\r\n\r\n return false;\r\n }\r\n // if one of the letters is not included in hex array return default\r\n for (let i = 1; i < colorInput.length; i++) {\r\n if (!hexArray.includes(colorInput.charAt(i))) {\r\n\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Converts a named color into hexadecimal color\r\n * from a list of well known namd colors if found.\r\n * When not given returns a \"\"\r\n * When not found in the list, returns the same value given\r\n * @param colour the named color\r\n * @returns The hex representation of the color or \"\" or the same color\r\n */\r\nexport function colourNameToHex(colour: string | undefined): string {\r\n /**\r\n * When not given\r\n */\r\n if (!colour) {\r\n return \"\";\r\n }\r\n /**\r\n * when named color is found\r\n */\r\n if (NAMED_COLORS[colour.toLocaleLowerCase()] !== undefined) {\r\n return NAMED_COLORS[colour.toLocaleLowerCase()];\r\n }\r\n /**\r\n * When the named color was not found\r\n */\r\n\r\n return colour;\r\n}\r\n\r\n/**\r\n * hexArray & decArray\r\n * \r\n * arrays of numbers used to convert hexadecimal numbers into decimal and viceversa\r\n */\r\nconst hexArray = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];\r\nconst decArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];\r\n\r\n/**\r\n * Converts hex number in string representation to decimal number\r\n * \r\n * \r\n * @param letter the string hex number\r\n * @returns a decimal number\r\n */\r\nexport const hexTodec = (letter: string): number => {\r\n if (hexArray.includes(letter)) {\r\n return decArray[hexArray.indexOf(letter)];\r\n } else {\r\n return 0;\r\n }\r\n}\r\n\r\n\r\n/** \r\n * Asure a base color. When not given or when given an incorrect color format\r\n * default color is this kind of grey #5d6475\r\n * \r\n * @param color param color given by user\r\n * @returns returns the same color \r\n */\r\nexport const asureColor = (color?: string): string => {\r\n if (color !== undefined && color !== \"\") {\r\n return color;\r\n } else {\r\n return DEFAULT_FONT_COLOR;\r\n }\r\n}\r\n/** \r\n * Asure a base color. When not given or when given an incorrect color format\r\n * default color is this kind of grey #5d6475\r\n * \r\n * @param color param color given by user\r\n * @returns returns the same color \r\n */\r\nexport const completeAsureColor = (color?: string, perc = 1): string => {\r\n\r\n return hexColorToRGB(asureColor(colourNameToHex(color)), perc);\r\n\r\n}\r\n\r\n\r\n\r\nexport const DEFAULT_FONT_COLOR = \"#646c7f\";","/**\r\n * If className is given, adds class name in string format to a base class name\r\n * @param baseClassName the base class name\r\n * @param className the class name to be added\r\n * @returns a new class name obtained by adding the second paramater\r\n */\r\nexport const addClassName = (\r\n baseClassName: string,\r\n className: string | undefined\r\n): string => {\r\n if (className)\r\n return `${baseClassName} ${className}`;\r\n return baseClassName;\r\n}","\r\nimport { ExtFile, ExtFileInstance, ServerResponse, UploadResponse, UPLOADSTATUS } from \"../types\"\r\n\r\nexport const unexpectedErrorUploadResult = (extFile: ExtFile): ExtFile => {\r\n return {\r\n ...extFile,\r\n uploadMessage: \"Unexpected error\",\r\n uploadStatus: \"error\",\r\n serverResponse: {\r\n success: false,\r\n message: \"Error on upload: unexpected error \",\r\n payload: {},\r\n }\r\n }\r\n}\r\nexport const unableToUploadResult = (\r\n extFile: ExtFile\r\n): UploadResponse => {\r\n return {\r\n id: extFile.id,\r\n uploadedFile: {\r\n ...extFile,\r\n uploadMessage: \"Unable to upload. XHR was not provided\",\r\n uploadStatus: \"error\"\r\n },\r\n serverResponse: {\r\n success: false,\r\n message: \"Error on upload: Unable to upload. XHR was not provided \",\r\n payload: {},\r\n }\r\n }\r\n}\r\nexport const completeUploadResult = (\r\n extFile: ExtFile,\r\n serverResponse: ServerResponse,\r\n uploadStatusresult: UPLOADSTATUS\r\n): UploadResponse => {\r\n return {\r\n id: extFile.id,\r\n uploadedFile: {\r\n ...extFile,\r\n uploadMessage: serverResponse.message,\r\n uploadStatus: uploadStatusresult\r\n },\r\n serverResponse: serverResponse\r\n }\r\n}\r\n\r\n/**\r\n * Initializes the xhr attribute for performing uploads\r\n * @param extFileList the list of extended files\r\n * @returns the array of extFiles with the xhr attribute initialized\r\n */\r\nexport const toUploadableExtFileList = (\r\n extFileList: ExtFile[] | ExtFileInstance[]\r\n): ExtFile[] => {\r\n if (!extFileList) return [];\r\n return extFileList.map(extFile => {\r\n return { ...extFile, xhr: new XMLHttpRequest() }\r\n });\r\n}\r\n\r\n/**\r\n * Updates the uploadStatus of the given extFile \r\n * from \"preparing\" to \"uploading\"\r\n * @param extFile the extended file\r\n * @returns the extended file with uploadStatus updated to \"uploading\"\r\n */\r\nexport const instantPreparingToUploadOne = (\r\n extFile: ExtFileInstance | ExtFile\r\n): ExtFileInstance | ExtFile => {\r\n if (extFile.uploadStatus === \"preparing\") {\r\n //for ExtFile instance\r\n extFile.uploadStatus = \"uploading\";\r\n //for ExtFile type\r\n return {\r\n ...extFile,\r\n uploadStatus: \"uploading\",\r\n };\r\n }\r\n return extFile;\r\n};\r\n\r\n/**\r\n * \r\n * @param extFile the extended file\r\n * @returns \r\n */\r\nexport const preparingToUploadOne = (\r\n extFile: ExtFileInstance | ExtFile\r\n): Promise<ExtFileInstance | ExtFile> => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (extFile.uploadStatus === \"preparing\") {\r\n //for ExtFile instance\r\n extFile.uploadStatus = \"uploading\";\r\n //for ExtFile type\r\n resolve({\r\n ...extFile,\r\n uploadStatus: \"uploading\",\r\n });\r\n } else\r\n resolve(extFile);\r\n }, 1500);\r\n });\r\n};\r\n/**\r\n * Sleeps for 1200 miliseconds for showing a better transition\r\n * on uploading\r\n * @param time the time to sleep in miliseconds\r\n * @returns true is everything is ok\r\n */\r\nexport const sleepTransition = (time = 1500\r\n): Promise<boolean> => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve(true);\r\n }, time);\r\n });\r\n}\r\n/**\r\n * Removes the deleted files and updates the aborted ones with a message\r\n * @param arrExtFile incomming arr of extFle instances\r\n * @returns an array of ExtFle objects\r\n */\r\nexport const sanitizeArrExtFile = (arrExtFile: ExtFileInstance[]): ExtFile[] => {\r\n \r\n return arrExtFile.filter((extFileInstance: ExtFileInstance) =>\r\n !extFileInstance.extraData?.deleted)\r\n\r\n .map((extFileInstance: ExtFileInstance) => {\r\n if (extFileInstance.uploadStatus === \"aborted\"\r\n && !extFileInstance.uploadMessage) {\r\n // TO-DO: ad localization for this message\r\n extFileInstance.uploadMessage = \"Upload aborted by user\";\r\n //extFileInstance.uploadStatus = \"error\";\r\n }\r\n return ExtFileInstance.toExtFile(extFileInstance) as ExtFile\r\n });\r\n}\r\n/**\r\n * \r\n * @param extFileInstance \r\n * @param extFileobj \r\n */\r\nexport const setNextUploadStatus = (\r\n extFileInstance: ExtFileInstance,\r\n extFileobj: ExtFile) => {\r\n\r\n const prevStatus: UPLOADSTATUS | undefined = extFileInstance.uploadStatus;\r\n const nextStstaus: UPLOADSTATUS | undefined = extFileobj.uploadStatus;\r\n\r\n //console.log(\"setNextUploadStatus\", prevStatus, nextStstaus);\r\n //console.log(\"setNextUploadStatus\", extFileInstance.uploadMessage, extFileobj.uploadMessage);\r\n if (\r\n prevStatus === \"preparing\" &&\r\n [\"aborted\", undefined].includes(nextStstaus)\r\n ) {\r\n extFileInstance.uploadStatus = undefined;\r\n extFileInstance.uploadMessage = extFileobj.uploadMessage;\r\n\r\n } else if (\r\n prevStatus === \"uploading\" &&\r\n [\"aborted\", undefined].includes(nextStstaus)\r\n ) {\r\n extFileInstance.uploadStatus = \"aborted\";\r\n extFileInstance.uploadMessage = extFileobj.uploadMessage;\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Method } from \"./method\"\r\n\r\nexport type UploadConfig = {\r\n /**\r\n * The url endpoint to upload the file.\r\n * e.g. https://www.myasomwbackend/uploads/file\r\n */\r\n url?: string;\r\n /**\r\n * upload method, can be POST | PUT | PATCH\r\n * @default \"POST\"\r\n */\r\n method?: Method;\r\n /**\r\n * Request headers for http request.\r\n * e.g.\r\n * ```jsx\r\n * headers = { \r\n * \"content-type\": \"multipart/form-data\",\r\n * Authorization: \"Bearer YOUR_BEARER_TOKEN_GOES_HERE\",\r\n * } \r\n * ```\r\n */\r\n headers?: Record<string, string>;\r\n /**\r\n * the label to use in request\r\n * On server this must be the label to get the file.\r\n * @default \"file\"\r\n */\r\n uploadLabel?: string;\r\n /**\r\n * Flag for indicating whther to remove the non-valid files\r\n * before starting the upload process.\r\n * This flag is valid only if validation is enable\r\n */\r\n cleanOnUpload?: boolean;\r\n /**\r\n * If true, onDrop event or file selection not only will make Dropzone to return the list of files, but also\r\n * it will start the upload stage for the files if at least url was set\r\n * By default is false\r\n */\r\n autoUpload?: boolean;\r\n /**\r\n * The time that will last the \"preparing\" stage\r\n * By default is 1500 miliseconds = 1.5 seconds\r\n */\r\n preparingTime?: number;\r\n /**\r\n * A message to show in the footer when the uploading process takes place.\r\n */\r\n uploadingMessage?: string;\r\n}\r\n\r\nexport const createUploadConfig = (\r\n url?: string,\r\n method?: Method,\r\n headers?: Record<string, string>,\r\n uploadLabel?: string,\r\n cleanonUpload?: boolean\r\n) => {\r\n return {\r\n url,\r\n method,\r\n headers,\r\n uploadLabel,\r\n cleanonUpload\r\n }\r\n}","import { createSyntheticFile } from \"../synthetic-file\"\r\nimport { ExtFile } from \"../types\"\r\nimport { FileIdGenerator } from \"../utils\"\r\nimport { listOfErrors } from \"../validation\"\r\n\r\nexport const extFileMock = (id?: number): ExtFile => {\r\n return {\r\n id: id || FileIdGenerator.getNextId(),\r\n name: \"fileName.ext\",\r\n size: 28 * 1024 * 1024,\r\n type: \"files-ui/mock\",\r\n file: createSyntheticFile(\"fileName.ext\", 28 * 1024 * 1024, \"files-ui/mock\"),\r\n errors: listOfErrors,\r\n uploadMessage: \"uploaded\",\r\n uploadStatus: \"preparing\",\r\n valid: false,\r\n progress: 28,\r\n xhr: new XMLHttpRequest(),\r\n extraData: {\r\n extraData1: \"files-ui is the best\",\r\n extraData2: {\r\n id: 1,\r\n name: \"files-ui.mock\"\r\n },\r\n deleted: true\r\n },\r\n downloadUrl: \"https://www.files-ui.com/mock/file-download\"\r\n }\r\n}","import { ExtFile, ExtFileInstance, ExtFileManager } from \"../types\";\r\n\r\nexport const extFileReconcilation = (\r\n dropzoneId: number | string | undefined,\r\n extFileIncomming: ExtFile[]\r\n): ExtFile[] | undefined => {\r\n let result: ExtFile[] = [];\r\n\r\n let arrOfExtFiles: ExtFileInstance[] | undefined =\r\n ExtFileManager.getExtFileInstanceList(dropzoneId);\r\n\r\n // continue only if arrOfExtFiles exists\r\n if (arrOfExtFiles) {\r\n //different sizes means there was deleted files\r\n //also can be new files to be uploaded\r\n //needed an extra flag to allow add files in the middle of uploading process\r\n // if new files are added, they are added to the Manager\r\n // outside they were already added to the UI\r\n // inside Dropzone, will be needed a .next() method for manager\r\n\r\n // 1st allow deleted files and ignore new ones\r\n // reduce the arrOfExtFileInstances array\r\n // parecido a listas ligadas, iterar hasta encontrar null XD\r\n let incommingTemp: ExtFile[] = [...extFileIncomming];\r\n incommingTemp = incommingTemp.filter(\r\n (F) => arrOfExtFiles?.findIndex(I => I.id === F.id) === -1\r\n );\r\n\r\n //console.log(\"reconciliation incommingTemp\", incommingTemp);\r\n \r\n\r\n //different sizes not allowed\r\n if (arrOfExtFiles.length !== extFileIncomming.length || extFileIncomming.length === 0) {\r\n return undefined;\r\n }\r\n for (let i = 0; i < arrOfExtFiles.length; i++) {\r\n if (\r\n (extFileIncomming[i].uploadStatus === undefined)\r\n &&\r\n (arrOfExtFiles[i].uploadStatus === \"preparing\")\r\n ) {\r\n //console.log(\"useDropzoneFileListUpdater onCancel i\", i);\r\n arrOfExtFiles[i].uploadStatus = undefined;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n}","\r\nimport { DropzoneLocalizerSelector } from \"../localization\";\r\nimport { ExtFile, ExtFileInstance, UploadResponse } from \"../types\";\r\n\r\n/**\r\n * Updates a extFile and sets its uploadStatus to \"uploading\"\r\n * @param extFile the extended file object\r\n * @returns the extended file with the uploadStatus attribute modified\r\n */\r\nexport const setPrepToUploading = (\r\n extFile: ExtFile\r\n): Promise<ExtFile> => {\r\n //console.log(\"prepToUpload One\", extFile);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve({\r\n ...extFile,\r\n uploadStatus: \"uploading\",\r\n });\r\n }, 1500);\r\n\r\n });\r\n};\r\n/**\r\n * Updates a extFile and sets its uploadStatus to \"success\"\r\n * @param extFile the extended file object\r\n * @returns the extended file with the uploadStatus attribute modified\r\n */\r\nexport const uploadOne = (\r\n extFile: ExtFile\r\n): Promise<ExtFile> => {\r\n //console.log(\"upload One\", extFile);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve({\r\n ...extFile,\r\n uploadStatus: \"success\",\r\n });\r\n }, 2000);\r\n });\r\n};\r\n/**\r\n * Awaits the given time before start uploading\r\n * @param preparingTime the time in miliseconds, by default it will wait 1.5 secs\r\n * @returns an empty object\r\n */\r\nexport const sleepPreparing = (\r\n preparingTime: number = 5000\r\n): Promise<void> => {\r\n //console.log(\"uploadfiles preparingTime One\", preparingTime);\r\n return new Promise((resolve, reject) => {\r\n\r\n setTimeout(() => {\r\n resolve();\r\n }, preparingTime);\r\n\r\n });\r\n}\r\n\r\n/**\r\n * \r\n * @param extFileInstance \r\n * @returns \r\n */\r\nexport const prepToUploadOne = (\r\n extFileInstance: ExtFileInstance | ExtFile\r\n): Promise<ExtFileInstance | ExtFile> => {\r\n //console.log(\"prepToUpload One\", extFileInstance);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n extFileInstance.uploadStatus = \"uploading\";\r\n resolve({\r\n ...extFileInstance,\r\n uploadStatus: \"uploading\",\r\n });\r\n }, 1500);\r\n\r\n });\r\n};\r\n\r\n/**\r\n * \r\n * @param extFileInstance \r\n * @returns \r\n */\r\nexport const uploadOneExtFile = (\r\n extFileInstance: ExtFileInstance\r\n): Promise<Object> => {\r\n //console.log(\"upload One\", extFileInstance);\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n extFileInstance.uploadStatus = \"success\";\r\n resolve({\r\n ...extFileInstance,\r\n uploadStatus: \"success\",\r\n });\r\n }, 2000);\r\n });\r\n};\r\n\r\n\r\n/**\r\n * \r\n * @param extFile the extFile to upload \r\n * @param DropzoneLocalizer the localization\r\n * @returns a duiUploadResponse object that describes the result\r\n */\r\nexport const fakeFuiUpload = (\r\n extFileInstance: ExtFileInstance,\r\n DropzoneLocalizer = DropzoneLocalizerSelector(\"EN-en\")\r\n): Promise<ExtFile> => {\r\n \r\n const extFile:ExtFile = extFileInstance.toExtFile();\r\n \r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n const randomNumber: number = Math.floor(Math.random() * 10);\r\n if (randomNumber % 2 === 0) {\r\n const success = true;\r\n const message = DropzoneLocalizer.fakeuploadsuccess as string;\r\n const payload = { url: \"\" };\r\n resolve({\r\n ...extFile,\r\n serverResponse: { success, message, payload },\r\n uploadStatus: \"success\",\r\n uploadMessage: message,\r\n\r\n });\r\n } else {\r\n const success = false;\r\n const message = DropzoneLocalizer.fakeUploadError as string;\r\n const payload = {};\r\n resolve({\r\n ...extFile,\r\n serverResponse: { success, message, payload },\r\n uploadStatus: \"error\",\r\n uploadMessage: message,\r\n });\r\n }\r\n }, 1700);\r\n });\r\n};\r\n\r\n\r\n/**\r\n * \r\n * @param extFile the extFile to upload \r\n * @param DropzoneLocalizer the localization\r\n * @returns a duiUploadResponse object that describes the result\r\n */\r\nexport const fakeFuiUploadExtFile = (\r\n extFileInstance: ExtFileInstance,\r\n DropzoneLocalizer = DropzoneLocalizerSelector(\"EN-en\")\r\n): Promise<UploadResponse> => {\r\n \r\n const extFile:ExtFile = extFileInstance.toExtFile();\r\n \r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n const randomNumber: number = Math.floor(Math.random() * 10);\r\n if (randomNumber % 2 === 0) {\r\n const status = true;\r\n const message = DropzoneLocalizer.fakeuploadsuccess as string;\r\n const payload = { url: \"\" };\r\n\r\n resolve({\r\n id: extFile.id,\r\n serverResponse: { status, message, payload },\r\n uploadedFile: {\r\n ...extFile,\r\n uploadStatus: \"success\",\r\n uploadMessage: message,\r\n progress: 100\r\n }\r\n\r\n });\r\n } else {\r\n const status = false;\r\n const message = DropzoneLocalizer.fakeUploadError as string;\r\n const payload = {};\r\n resolve({\r\n id: extFile.id,\r\n serverResponse: { status, message, payload },\r\n uploadedFile: {\r\n ...extFile,\r\n uploadStatus: \"error\",\r\n uploadMessage: message,\r\n progress: 60\r\n },\r\n });\r\n }\r\n }, 1700);\r\n });\r\n};\r\n","import { ExtFile, ExtFileInstance } from \"../types\";\r\nimport { FileIdGenerator } from \"./IdGenerator\";\r\n\r\n\r\n/**\r\n * Converts the fileList into an array of separated ExtFile objects\r\n * @param fileList the FileList object given by input(event.target.files) or drop operation (event.dataTransfer)\r\n * @returns an array of ExtFile objects\r\n */\r\nexport const fileListToExtFileArray = (fileList: FileList): ExtFile[] => {\r\n let extFileArray: ExtFile[] = [];\r\n for (let i = 0, f: File; (f = fileList[i]); i++) {\r\n extFileArray.push({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type });\r\n }\r\n return extFileArray;\r\n};\r\n\r\n/**\r\n * Converts the fileList into an array of separated ExtFile instances\r\n * @param fileList the FileList object given by input (event.target.files) or drop operation (event.dataTransfer)\r\n * @returns an array of ExtFile instances\r\n */\r\nexport const fileListToExtFileInstanceArray = (fileList: FileList): ExtFileInstance[] => {\r\n let extFileArray: ExtFileInstance[] = [];\r\n for (let i = 0, f: File; (f = fileList[i]); i++) {\r\n extFileArray.push(new ExtFileInstance({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type }));\r\n }\r\n return extFileArray;\r\n};","/**\r\n * Resize an image resolution given maxWidth and maxHeight\r\n * \r\n * Should be called with await\r\n * @param base64Str a string representation of an imae file\r\n * @param maxWidth the max width of he image\r\n * @param maxHeight the max height of he image\r\n * @returns the resized image\r\n */\r\nexport function getImageOrientation(\r\n imageSource: string | undefined,\r\n): Promise<\"landscape\" | \"portrait\"> {\r\n return new Promise((resolve, reject) => {\r\n //console.log(\"getImageOrientation imageSource\", imageSource);\r\n if (!imageSource || imageSource.length === 0) {\r\n // console.log(\"getImageOrientation rejected\", imageSource);\r\n\r\n reject(\"landscape\");\r\n return;\r\n }\r\n try {\r\n //console.log(\"getImageOrientation try ini\", imageSource);\r\n\r\n let img: HTMLImageElement = new Image();\r\n img.src = imageSource;\r\n img.onerror = (ev: string | Event) => {\r\n //console.log(\"getImageOrientation There was a ne error reading\", ev);\r\n reject(\"landscape\");\r\n }\r\n img.onload = () => {\r\n let width: number = img.width;\r\n let height: number = img.height;\r\n if (width > height) {\r\n resolve(\"landscape\");\r\n } else {\r\n resolve(\"portrait\");\r\n }\r\n }\r\n } catch (error) {\r\n //console.error(\"An error ocurred when trying to get the image orientation\");\r\n\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"An error ocurred when trying to get the image orientation\");\r\n }\r\n reject(\"landscape\");\r\n }\r\n });\r\n}\r\n\r\n","/**\r\n * \r\n * @param file \r\n * @param name \r\n * @param type \r\n * @param size \r\n * @returns the file name, type and size\r\n */\r\nexport const getLocalFileItemData = (\r\n file: File | undefined,\r\n name: string | undefined,\r\n type: string | undefined,\r\n size: number | undefined\r\n): [string, string | undefined, number | undefined] => {\r\n\r\n let localFileName: string = \"\";\r\n let localFileType: string | undefined = undefined;\r\n let localFileSize: number | undefined = undefined;\r\n\r\n // if file object is valid, obtain metadata from it\r\n // otherwise try to get file data from individual props in string format\r\n if (file && typeof file.name === \"string\") {\r\n localFileName = file.name;\r\n localFileType = file.type;\r\n localFileSize = file.size;\r\n } else if (name && typeof name === \"string\") {\r\n localFileName = name;\r\n localFileType = type;\r\n localFileSize = size;\r\n }\r\n return [localFileName, localFileType, localFileSize]\r\n}","import { ExtFile } from \"../types\";\r\n\r\nexport const isUploadAbleExtFile = (extFile: ExtFile, validateFilesFlag: boolean) => {\r\n return (!validateFilesFlag || (validateFilesFlag && extFile.valid)) && extFile.uploadStatus !== \"success\";\r\n}","export const isValidateActive = (\r\n accept: string | undefined,\r\n maxFileSize: number | undefined,\r\n maxFiles: number | undefined,\r\n validator: Function | undefined\r\n ): boolean => {\r\n return (\r\n (accept !== undefined && accept !== null) ||\r\n (maxFileSize !== undefined && maxFileSize !== null) ||\r\n (maxFiles !== undefined && maxFiles !== null) ||\r\n (validator !== undefined && validator !== null)\r\n );\r\n };\r\n ","import { ExtFile, UPLOADSTATUS } from \"../types\";\r\nimport { FileIdGenerator, getRandomInt } from \"../utils\";\r\nimport { getRandomUploadStatus, listOfErrors } from \"../validation\";\r\n\r\n\r\n/**\r\n * Make a validated file that is ready to be used on FileItem component,\r\n * if valid is not set, a random operation will decide whether the file is valid or not\r\n * If valid is false, then the natural order is not to be uploadable and wont have upload message nor upload status\r\n * If valid is true, then file can be uploaded and can have upload message if the status is succes or error\r\n * @param file The file\r\n * @param valid true if it is a valid file, otherwise is false\r\n * @param uploadStatus the current upload status. If not given a random upload status will be set\r\n * @param uploadMessage the upload message after uploading\r\n * @returns a Vaidated File object\r\n */\r\n export const makeSyntheticExtFile = (\r\n file?: File ,\r\n valid = (Math.ceil(Math.random() * 28) % 2 === 0),\r\n uploadStatus?: UPLOADSTATUS,\r\n uploadMessage?: string\r\n): ExtFile => {\r\n //if valid, naturally, can be uploaded\r\n let errors: string[] | undefined = [];\r\n let newUpoadStatus = uploadStatus || getRandomUploadStatus();\r\n\r\n let customUploadMessage: string | undefined = uploadMessage || \"\";\r\n if (valid) {\r\n //we can decide according to upload status \r\n if (!uploadMessage) {\r\n switch (newUpoadStatus) {\r\n case \"error\": customUploadMessage = \"Upload failed. There was an error\"; break;\r\n case \"success\": customUploadMessage = \"File was successfully upload\"; break;\r\n default: uploadMessage = undefined;\r\n }\r\n }\r\n errors = undefined;\r\n } else {\r\n //if not valid, just show error messages\r\n const randInt: number = getRandomInt(0, 3);\r\n errors.push(listOfErrors[randInt]);\r\n newUpoadStatus = undefined;\r\n customUploadMessage = undefined;\r\n }\r\n //now make a File Validated instance \r\n const newFileValidated: ExtFile = {\r\n id: FileIdGenerator.getNextId(),\r\n valid: valid,\r\n file: file,\r\n uploadStatus: newUpoadStatus,\r\n uploadMessage: customUploadMessage,\r\n errors: errors\r\n };\r\n return newFileValidated;\r\n}\r\n","import { UPLOADSTATUS } from \"../types\";\r\nimport { getRandomInt } from \"../utils/randomInt\";\r\n\r\n/**\r\n * Generates a random number betwen 0 and 3\r\n * where\r\n * 0 => error\r\n * 1 => uploading\r\n * 2 => success\r\n * 3 => undefined\r\n * @returns a random upload status or undefined\r\n */\r\n export const getRandomUploadStatus = (): UPLOADSTATUS | undefined => {\r\n const result: number = getRandomInt(0, 4);\r\n switch (result) {\r\n case 0: return \"error\";\r\n case 1: return \"uploading\";\r\n case 2: return \"success\";\r\n default:\r\n return undefined;\r\n }\r\n}","/**\r\n * Reads an image (or other type) file as data URL in a promise way, \r\n * so you can use await.\r\n * It will return a string that contains the URL representation\r\n * @param file File or Blob object\r\n * @returns data URL of the file\r\n */\r\nexport const readAsDataURL = (file: File | Blob, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.readAsDataURL(file);\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n/**\r\n * Reads a file as Text in a promise way, so you can use await.\r\n * If other kind of file is sent, this function will read it anyway\r\n * and will return a string that contains the URL representation\r\n * @param file File or Blob object\r\n * @param encoding The type of encoding such as \"base64\"\r\n * @returns data text of the file\r\n */\r\nexport const readAsText = (file: File | Blob, encoding?: string, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.readAsText(file, encoding ? encoding : \"base64\");\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n/**\r\n * Reads a file and return the raw binary data from the file. \r\n * @param file File or Blob object\r\n * @param encoding The type of encoding such as \"base64\"\r\n * @returns raw binary data of the file\r\n */\r\nexport const readAsBinaryString = (file: File | Blob, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.readAsBinaryString(file);\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Reads a file and returns an ArrayBuffer representing the file's data \r\n * @param file File or blob object\r\n * @param encoding The type of encoding such as \"base64\"\r\n * @returns ArrayBuffer representation of the file\r\n */\r\nexport const readAsArrayBuffer = (file: File | Blob, onProgress?: Function, onError?: Function): Promise<string | undefined> => {\r\n return new Promise<string | undefined>((resolve, reject) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = function () {\r\n resolve(reader.result as string);\r\n }\r\n reader.onprogress = () => {\r\n onProgress?.();\r\n }\r\n reader.onerror = function () {\r\n onError?.();\r\n }\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {\r\n reject(undefined);\r\n }\r\n });\r\n}","/**\r\n * Resize an image resolution given maxWidth and maxHeight\r\n * \r\n * Should be called with await\r\n * @param base64Str a string representation of an imae file\r\n * @param maxWidth the max width of he image\r\n * @param maxHeight the max height of he image\r\n * @returns the resized image\r\n */\r\nexport function resizeImage(\r\n base64Str: string,\r\n maxWidth = 135,\r\n maxHeight = 120\r\n): Promise<string | undefined> {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let img: HTMLImageElement = new Image();\r\n img.src = base64Str;\r\n img.onload = () => {\r\n let canvas: HTMLCanvasElement = document.createElement('canvas');\r\n const MAX_WIDTH: number = maxWidth;\r\n const MAX_HEIGHT: number = maxHeight;\r\n let width: number = img.width;\r\n let height: number = img.height;\r\n\r\n if (maxWidth > width && maxHeight > height) {\r\n resolve(base64Str);\r\n } else\r\n if (width > height) {\r\n if (width > MAX_WIDTH) {\r\n height *= MAX_WIDTH / width;\r\n width = MAX_WIDTH;\r\n }\r\n } else {\r\n if (height > MAX_HEIGHT) {\r\n width *= MAX_HEIGHT / height;\r\n height = MAX_HEIGHT;\r\n }\r\n }\r\n canvas.width = width\r\n canvas.height = height\r\n let ctx: CanvasRenderingContext2D | null = canvas.getContext('2d')\r\n if (ctx) {\r\n ctx.drawImage(img, 0, 0, width, height);\r\n resolve(canvas.toDataURL());\r\n\r\n } else {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"An error ocurred when trying to make a thumnail\");\r\n }\r\n reject(undefined);\r\n }\r\n }\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"An error ocurred when trying to make a thumnail\");\r\n }\r\n reject(undefined);\r\n }\r\n });\r\n}\r\n\r\n","/**\r\n * The max size of the word in characters\r\n */\r\nexport const DEFAULT_MAX_SIZE_WORD = 30;\r\n/**\r\n * \r\n * @param word the word to be shrinked\r\n * @returns the shrinked word\r\n */\r\nexport const shrinkWord = (word = \"\", card = false): string => {\r\n let newWord = word;\r\n if (card) {\r\n if (word.length >= 20) {\r\n newWord = word.slice(0, 10) + \"...\" + word.slice(-7);\r\n }\r\n } else if (word.length >= DEFAULT_MAX_SIZE_WORD) {\r\n newWord = word.slice(0, 13) + \"...\" + word.slice(-8);\r\n }\r\n return newWord;\r\n};"],"names":["fileSizeFormater","fileSize","toFixed","DropzoneItalian","defaultLabel","uploadingMessage","amountOfFiles","uploadFinished","uploaded","rejected","concat","noFilesMessage","footer","acceptAll","acceptCustom","accept","header","uploadFilesMessage","maxSizeMessage","maxFileSize","validFilesMessage","numberOfValidFiles","maxFiles","fakeuploadsuccess","fakeUploadError","FileItemItalian","fullInfoLayer","name","size","type","status","preparing","uploading","success","valid","denied","error","aborted","ValidateErrorItalian","maxSizeError","maxSize","acceptError","maxFileCount","DropzoneFrench","FileItemFrench","ValidateErrorFrench","DropzoneEnglish","FileItemEnglish","ValidateErrorEnglish","DropzoneSpanish","FileItemSpanish","ValidateErrorSpanish","DropzoneRussian","FileItemRussian","ValidateErrorRussian","DropzonePortuguese","FileItemPortuguese","ValidateErrorPortuguese","DropzoneSimplifiedChinese","FileItemSimplifiedChinese","ValidateErrorSimplifiedChinese","DropzoneTraditionalChinese","FileItemTraditionalChinese","ValidateErrorTraditionalChinese","FileItemLocalizer","DropzoneLocalizer","DropzoneLocalizerSelector","local","ValidateErrorLocalizer","ValidateErrorLocalizerSelector","includes","sevenzip","aac","abw","accdb","avi","azw","bmp","bz","bz2","cda","csh","css","csv","docx","drawio","eot","epub","freearc","gif","gzip","html","icalendar","java","jar","javascript","jpeg","json","jsonld","midi","mp3","mp4","mpeg","mpkg","octet","odp","ods","odt","oga","ogv","ogx","opus","otf","pdf","php","png","pptx","psd","python","tar","rar","react","rtf","sass","sh","swf","text","tiff","ttf","typescript","vsd","vue","wav","webm","weba","webp","wma","wmv","woff","xlsx","xml","xul","zip","getExt","fileName","result","exec","DEF_GEN_MIME","audioSelector","tailMime","textSelector","imageSelector","fontSelector","videoSelector","applicationSelector","mimeSelector","mimeType","headerMime","split","extensionSelector","extension","genericMime","checkIsCode","mimeUrlList","arc","mp2t","xhtml","fallBack","ExtFileInstance","extFile","id","file","imageUrl","errors","uploadMessage","uploadStatus","progress","xhr","extraData","extraUploadData","serverResponse","downloadUrl","videoUrl","this","toExtFile","extFileInstance","extFileClone","extFileInstanceKeys","Object","keys","extFileInstanceValues","values","i","length","currentValue","currKey","undefined","prototype","ExtFileManager","getNextId","nextId","setFileList","extFilesInstances","fileLists","__spreadArray","createFileListMap","removeFileListMap","process","env","NODE_ENV","console","getExtFileInstanceList","setFileListMapPreparing","dropzoneId","localFiles","validateFiles","cleanOnUpload","resultExtList","temLocalFiles","filter","map","__assign","F","setFileListMapPreparing2","SyntheticFile","createFile","File","defineProperty","get","create_aac","create_abw","create_freearc","create_avi","create_azw","create_octet","create_bmp","create_bz","create_bz2","create_cda","create_csh","create_css","create_csv","create_doc","create_docx","create_eot","create_epub","create_gzip","create_gif","create_htm","create_html","create_ico","create_icalendar","create_jar","create_jpeg","create_jpg","create_js","create_json","create_jsonld","create_mid","create_x_mid","create_midi","create_x_midi","create_mjs","create_mp3","create_mp4","create_mpeg","create_mpkg","create_odp","create_ods","create_odt","create_oga","create_ogv","create_ogx","create_opus","create_otf","create_png","create_pdf","create_php","create_ppt","create_pptx","create_rar","create_rtf","create_sh","create_svg","create_swf","create_tar","create_tif","create_tiff","create_ts","create_ttf","create_text","create_typescript","create_vsd","create_wav","create_weba","create_webm","create_webp","create_woff","create_woff2","create_xhtml","create_xlsx","create_xls","create_xml","create_xml_txt","create_xul","create_zip","create_3gp","create_3gp2","create_3gp_a","create_3gp_v","create_7z","create_python","create_java","create_react","create_vue","createFileListMiscelanious","listFile","push","createSyntheticFile","FileIdGenerator","getRandomInt","min","max","Math","floor","random","separateAccept","acceptItem","trim","validateAccept","charAt","headerMimeFile","tailMimeFile","validateExtFile","validator","validatorProps","localErrors","extFileResult","errorsResult","apply","maxFileSizeErrorMessenger","isValid","validateFile","idGenerated","listOfErrors","addExtraData","formData","extraDataKeys","append","addHeaders","headers","headerKeys","setRequestHeader","TIMEOUT_ERROR_RESPONSE","message","payload","ABORTED_ERROR_RESPONSE","JSON_PARSE_ERROR_RESPONSE","UNEXPECTED_ERROR_RESPONSE","NO_XHR_PROVIDED_ERROR","JsonParseResponse","jsonResponse","JSON","parse","response","makeSuccessUploadResponse","responseFui","makeErrorUploadResponse","uploadFormData","method","endpoint","data","Promise","resolve","reject","finalMethod","toUpperCase","upload","onload","ontimeout","onabort","onloadend","e","__awaiter","onreadystatechange","readyState","open","send","NAMED_COLORS","indianred","lightcoral","salmon","darksalmon","lightsalmon","crimson","red","firebrick","darkred","pink","lightpink","hotpink","deeppink","mediumvioletred","palevioletred","coral","tomato","orangered","darkorange","orange","gold","yellow","lightyellow","lemonchiffon","lightgoldenrodyellow","papayawhip","moccasin","peachpuff","palegoldenrod","khaki","darkkhaki","lavender","thistle","plum","violet","orchid","fuchsia","magenta","mediumorchid","mediumpurple","rebeccapurple","blueviolet","darkviolet","darkorchid","darkmagenta","purple","indigo","slateblue","darkslateblue","mediumslateblue","greenyellow","chartreuse","lawngreen","lime","limegreen","palegreen","lightgreen","mediumspringgreen","springgreen","mediumseagreen","seagreen","forestgreen","green","darkgreen","yellowgreen","olivedrab","olive","darkolivegreen","mediumaquamarine","darkseagreen","lightseagreen","darkcyan","teal","aqua","cyan","lightcyan","paleturquoise","aquamarine","turquoise","mediumturquoise","darkturquoise","cadetblue","steelblue","lightsteelblue","powderblue","lightblue","skyblue","lightskyblue","deepskyblue","dodgerblue","cornflowerblue","royalblue","blue","mediumblue","darkblue","navy","midnightblue","cornsilk","blanchedalmond","bisque","navajowhite","wheat","burlywood","tan","rosybrown","sandybrown","goldenrod","darkgoldenrod","peru","chocolate","saddlebrown","sienna","brown","maroon","white","snow","honeydew","mintcream","azure","aliceblue","ghostwhite","whitesmoke","seashell","beige","oldlace","floralwhite","ivory","antiquewhite","linen","lavenderblush","mistyrose","gainsboro","lightgray","silver","darkgray","gray","dimgray","lightslategray","slategray","darkslategray","black","hexColorToRGB","colorInput","perc","defaultColor","resultDefault","color","replace","isHexColor","colourNameToHex","component1","component2","component3","hexTodec","hexArray","colour","toLocaleLowerCase","decArray","letter","indexOf","asureColor","DEFAULT_FONT_COLOR","baseClassName","className","percentage","brightedColor","increase","components","parseInt","inputElement","value","uploadStatusresult","uploadedFile","url","uploadLabel","cleanonUpload","darkedColor","reduce","XMLHttpRequest","extraData1","extraData2","deleted","extFileIncomming","arrOfExtFiles","incommingTemp","findIndex","I","setTimeout","fileList","extFileArray","f","preValidatedFiles","remainingValids","localValidator","localization","output","countdown","ValidationErrorLocalizer","validatedFile","maxFileErrorMessenger","Infinity","imageSource","img_1","Image","src","onerror","ev","width","height","localFileName","localFileType","localFileSize","customIcons","mimeResume","extention","customUrl","validateFilesFlag","ceil","newUpoadStatus","getRandomUploadStatus","customUploadMessage","randInt","onProgress","onError","reader_4","FileReader","onprogress","readAsArrayBuffer","reader_3","readAsBinaryString","reader_1","readAsDataURL","encoding","reader_2","readAsText","base64Str","maxWidth","maxHeight","canvas","document","createElement","MAX_WIDTH","MAX_HEIGHT","ctx","getContext","drawImage","toDataURL","arrExtFile","_a","extFileobj","prevStatus","nextStstaus","word","card","newWord","slice","preparingTime","time","extFileList","uploader","localMethod","fileToUpload","FormData","finalExtraData","otherValue","param2","tecnica","friend","age","addExtraDataUpload","label","_this","sent","localValidatorProps","fileListResult","remaining","currentExtFile"],"mappings":"oEAIQ,IAAMA,EAAmB,SAACC,GAE9B,GAAKA,EAiBL,OAdIA,EAAW,KACFA,EAAW,SAGhBA,EAAW,SACDA,EAAW,MAAMC,QAAQ,GAAK,MACjCD,EAAW,YACPA,EAAW,KAAQ,MAAMC,QAAQ,GAAK,MAC1CD,EAAW,eACNA,EAAW,KAAQ,KAAQ,MAAMC,QAAQ,GAAK,OAE7CD,EAAW,KAAQ,KAAQ,KAAQ,MAAMC,QAAQ,GAAK,KAI/E,EClBaC,EAA+B,CACxCC,aAAc,2BAEdC,iBAAkB,SAACC,GAAoB,MAAO,yBAAkBA,EAAa,QAAU,EACvFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,kBAAAC,OAAkBF,EAAQ,sBAAAE,OAAqBD,EAAU,EACjGE,eAAgB,kDAChBC,OAAQ,CACJC,UAAW,sCACXC,aAAc,SAACC,GAAW,MAAA,4BAA4BL,OAAAK,EAAQ,GAElEC,OAAQ,CACJC,mBAAoB,cACpBC,eAAgB,SAACC,GAAgB,MAAA,sBAAsBT,OAAAS,EAAa,EACpEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,SAAAZ,OAASW,EAAkB,KAAAX,OAAIY,EAAU,GAElGC,kBAAmB,yCACnBC,gBAAiB,kCAMRC,EAA+B,CACxCC,cAAe,CACXC,KAAM,SACNC,KAAM,eACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,eACVC,UAAW,WACXC,QAAS,WACTC,MAAO,SACPC,OAAQ,aACRC,MAAO,SACPC,QAAQ,eAMFC,EAAoC,CAC9CC,aAAc,SAACC,GAAY,MAAA,gDAAA9B,OAAgDV,EAAiBwC,GAAoB,EAChHC,YAAa,wBACbC,aAAc,SAACpB,GAAa,MAAA,2BAA2BZ,OAAAY,EAAqB,cAAA,GC5CnEqB,EAA8B,CACvCvC,aAAc,2BAEdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,YAAc,EACrFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,0BAAAC,OAA0BF,EAAQ,wBAAAE,OAAuBD,EAAU,EAC3GE,eAAgB,iCAChBC,OAAQ,CACJC,UAAW,mCACXC,aAAc,SAACC,GAAW,MAAA,qBAAqBL,OAAAK,EAAQ,GAE3DC,OAAQ,CACJC,mBAAoB,UACpBC,eAAgB,SAACC,GAAgB,MAAA,mBAAmBT,OAAAS,EAAa,EACjEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,aAAAZ,OAAaW,EAAkB,KAAAX,OAAIY,EAAU,GAEtGC,kBAAmB,0CACnBC,gBAAiB,kCAMRoB,EAA8B,CACvClB,cAAe,CACXC,KAAM,WACNC,KAAM,cACNC,KAAM,aAEVC,OAAQ,CACJC,UAAU,WACVC,UAAW,WACXC,QAAS,SACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,QAAQ,eAMFQ,EAAmC,CAC7CN,aAAc,SAACC,GAAY,MAAA,6DAAA9B,OAA6DV,EAAiBwC,GAAoB,EAC7HC,YAAa,2BACbC,aAAc,SAACpB,GAAa,MAAA,gCAAgCZ,OAAAY,EAAW,IAAA,GC5C9DwB,EAA+B,CACxC1C,aAAc,uBACdC,iBAAkB,SAACC,GAAoB,MAAO,oBAAaA,EAAa,SAAW,EACnFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,mBAAAC,OAAmBF,EAAQ,sBAAAE,OAAqBD,EAAU,EAClGE,eAAgB,2CAChBC,OAAQ,CACJC,UAAW,0BACXC,aAAc,SAACC,GAAW,MAAA,kBAAkBL,OAAAK,EAAQ,GAExDC,OAAQ,CACJC,mBAAoB,eACpBC,eAAgB,SAACC,GAAgB,MAAA,kBAAkBT,OAAAS,EAAa,EAChEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,SAAAZ,OAASW,EAAkB,KAAAX,OAAIY,EAAU,GAElGC,kBAAmB,gCACnBC,gBAAiB,+CAMRuB,EAA+B,CACxCrB,cAAe,CACXC,KAAM,SACNC,KAAM,SACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,YACVC,UAAW,YACXC,QAAS,UACTC,MAAO,QACPC,OAAQ,YACRC,MAAO,QACPC,QAAQ,YAOHW,EAAoC,CAC7CT,aAAc,SAACC,GACX,MAAA,6CAA6C9B,OAAAV,EAAiBwC,GAAoB,EACtFC,YAAa,2BACbC,aAAc,SAACpB,GACX,MAAA,wBAAAZ,OAAwBY,EAA4B,qBAAA,GC9C/C2B,EAA+B,CACxC7C,aAAc,2BAEdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,YAAc,EACrFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,qBAAAC,OAAqBF,EAAQ,2BAAAE,OAA0BD,EAAU,EACzGE,eAAgB,+CAChBC,OAAQ,CACJC,UAAW,uCACXC,aAAc,SAACC,GAAW,MAAA,kCAAkCL,OAAAK,EAAQ,GAExEC,OAAQ,CACJC,mBAAoB,QACpBC,eAAgB,SAACC,GAAgB,MAAA,eAAeT,OAAAS,EAAa,EAC7DC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,YAAAZ,OAAYW,EAAkB,KAAAX,OAAIY,EAAU,GAErGC,kBAAmB,oCACnBC,gBAAiB,6BAMR0B,EAA+B,CACxCxB,cAAe,CACXC,KAAM,WACNC,KAAM,WACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,aACVC,UAAW,WACXC,QAAS,QACTC,MAAO,SACPC,OAAQ,YACRC,MAAO,QACPC,QAAS,YAMJc,EAAoC,CAC7CZ,aAAc,SAACC,GAAY,MAAA,+CAAA9B,OAA+CV,EAAiBwC,GAAoB,EAC/GC,YAAa,+BACbC,aAAc,SAACpB,GAAa,MAAA,gCAAgCZ,OAAAY,EAAqB,cAAA,GC5CxE8B,EAA+B,CACxChD,aAAc,8BACdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,UAAY,EACnFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,qBAAAC,OAAqBF,EAAQ,0BAAAE,OAAyBD,EAAU,EACxGE,eAAgB,kDAChBC,OAAQ,CACJC,UAAW,+BACXC,aAAc,SAACC,GAAW,MAAA,oBAAoBL,OAAAK,EAAQ,GAE1DC,OAAQ,CACJC,mBAAoB,YACpBC,eAAgB,SAACC,GAAgB,MAAA,gBAAgBT,OAAAS,EAAa,EAC9DC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,SAAAZ,OAASW,EAAkB,KAAAX,OAAIY,EAAU,GAElGC,kBAAmB,4BACnBC,gBAAiB,uBAOR6B,EAA+B,CACxC3B,cAAe,CACXC,KAAM,QACNC,KAAM,WACNC,KAAM,SAEVC,OAAQ,CACJC,UAAU,aACVC,UAAW,WACXC,QAAS,QACTC,MAAO,SACPC,OAAQ,YACRC,MAAO,SACPC,QAAQ,eAOHiB,EAAoC,CAC7Cf,aAAc,SAACC,GACX,MAAA,+DAA+D9B,OAAAV,EAAiBwC,GAAoB,EACxGC,YAAa,wBACbC,aAAc,SAACpB,GACX,MAAA,8CAAAZ,OAA8CY,EAAW,IAAA,GC/CpDiC,EAAkC,CAC3CnD,aAAc,4BAEdC,iBAAkB,SAACC,GAAoB,MAAO,mBAAYA,EAAa,YAAc,EACrFC,eAAgB,SAACC,EAAUC,GAAa,MAAA,sBAAAC,OAAsBF,EAAQ,2BAAAE,OAA0BD,EAAU,EAC1GE,eAAgB,kDAChBC,OAAQ,CACJC,UAAW,wCACXC,aAAc,SAACC,GAAW,MAAA,qBAAqBL,OAAAK,EAAQ,GAE3DC,OAAQ,CACJC,mBAAoB,SACpBC,eAAgB,SAACC,GAAgB,MAAA,mBAAmBT,OAAAS,EAAa,EACjEC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,YAAAZ,OAAYW,EAAkB,KAAAX,OAAIY,EAAU,GAErGC,kBAAmB,oCACnBC,gBAAiB,kBAORgC,EAAkC,CAC3C9B,cAAe,CACXC,KAAM,SACNC,KAAM,YACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,aACVC,UAAW,WACXC,QAAS,QACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,OACPC,QAAQ,aAMFoB,EAAuC,CACjDlB,aAAc,SAACC,GAAY,MAAA,qEAAA9B,OAAqEV,EAAiBwC,GAAoB,EACrIC,YAAa,qCACbC,aAAc,SAACpB,GAAa,MAAA,kCAAkCZ,OAAAY,EAAqB,cAAA,GC7C1EoC,EAAyC,CAClDtD,aAAc,YACdC,iBAAkB,SAACC,GAAoB,MAAO,aAAMA,EAAa,OAAS,EAC1EC,eAAgB,SAACC,EAAUC,GAAa,MAAA,QAAAC,OAAQF,EAAQ,UAAAE,OAASD,EAAU,EAC3EE,eAAgB,eAChBC,OAAQ,CACJC,UAAW,WACXC,aAAc,SAACC,GAAW,MAAA,UAAUL,OAAAK,EAAQ,GAEhDC,OAAQ,CACJC,mBAAoB,OACpBC,eAAgB,SAACC,GAAgB,MAAA,UAAUT,OAAAS,EAAa,EACxDC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,MAAAZ,OAAMW,EAAkB,KAAAX,OAAIY,EAAU,GAE/FC,kBAAmB,UACnBC,gBAAiB,SAMRmC,EAAyC,CAClDjC,cAAe,CACXC,KAAM,SACNC,KAAM,OACNC,KAAM,UAEVC,OAAQ,CACJC,UAAU,MACVC,UAAW,KACXC,QAAS,KACTC,MAAO,QACPC,OAAQ,SACRC,MAAO,KACPC,QAAQ,OAOHuB,EAA8C,CACvDrB,aAAc,SAACC,GACX,MAAA,oBAAoB9B,OAAAV,EAAiBwC,GAAoB,EAC7DC,YAAa,UACbC,aAAc,SAACpB,GACX,MAAA,aAAAZ,OAAaY,EAAW,IAAA,GC7CnBuC,EAA0C,CACnDzD,aAAc,aACdC,iBAAkB,SAACC,GAAoB,MAAO,YAAKA,EAAa,MAAQ,EACxEC,eAAgB,SAACC,EAAUC,GAAa,MAAA,SAAAC,OAASF,EAAQ,YAAAE,OAAWD,EAAU,EAC9EE,eAAgB,eAChBC,OAAQ,CACJC,UAAW,WACXC,aAAc,SAACC,GAAW,MAAA,SAASL,OAAAK,EAAQ,GAE/CC,OAAQ,CACJC,mBAAoB,OACpBC,eAAgB,SAACC,GAAgB,MAAA,UAAUT,OAAAS,EAAa,EACxDC,kBAAmB,SAACC,EAAoBC,GAAa,MAAA,OAAAZ,OAAOW,EAAkB,KAAAX,OAAIY,EAAU,GAEhGC,kBAAmB,UACnBC,gBAAiB,SAMRsC,EAA0C,CACnDpC,cAAe,CACXC,KAAM,SACNC,KAAM,SACNC,KAAM,UAEVC,OAAQ,CACJC,UAAW,MACXC,UAAW,KACXC,QAAS,KACTC,MAAO,OACPC,OAAQ,OACRC,MAAO,KACPC,QAAS,OAOJ0B,EAA+C,CACxDxB,aAAc,SAACC,GACX,MAAA,oBAAoB9B,OAAAV,EAAiBwC,GAAoB,EAC7DC,YAAa,UACbC,aAAc,SAACpB,GACX,MAAA,aAAAZ,OAAaY,EAAW,IAAA,GC3CnB0C,EAAwC,CACjD,QAASd,EACT,QAASH,EACT,QAASH,EACT,QAASnB,EACT,QAAS+B,EACT,QAASH,EACT,QAASM,EACT,QAASG,GCRAG,EAAwC,CACjD,QAAShB,EACT,QAASH,EACT,QAASH,EACT,QAASxC,EACT,QAASoD,EACT,QAASH,EACT,QAASM,EACT,QAASG,GAQAK,EAA4B,SAACC,GACtC,OAAQA,GACJ,IAAK,QAAS,OAAOF,EAAkB,SACvC,IAAK,QAOL,QAAS,OAAOA,EAAkB,SANlC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SAG/C,EC5BaG,EAA6C,CACtD,QAASjB,EACT,QAASH,EACT,QAASH,EACT,QAASP,EACT,QAASmB,EACT,QAASH,EACT,QAASM,EACT,QAASG,GAOAM,EAAiC,SAACF,GAC3C,OAAKA,GAAU,CAAC,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,SAASG,SAASH,GAG1FC,EAAuBD,GAFnBC,EAAuB,QAGtC,EC9BO,IAAMG,EAAW,wGACXC,EAAM,wGACNC,EAAM,wGACNC,EAAQ,wGACRC,EAAM,wGACNC,EAAM,wGACNC,EAAM,wGACNC,EAAK,wGACLC,EAAM,wGAENC,EAAM,wGACNC,EAAM,wGACNC,EAAM,wGACNC,EAAM,wGACNC,EAAO,wGAEPC,EAAS,wGAGTC,EAAM,wGAENC,EAAO,wGACPC,EAAU,wGACVC,EAAM,wGACNC,EAAO,wGACPC,EAAO,wGACPC,EAAY,wGAGZC,EAAO,wGACPC,EAAM,wGACNC,GAAa,wGACbC,GAAO,wGAEPC,GAAO,wGACPC,GAAS,wGACTC,GAAO,wGAEPC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAQ,wGACRC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGAGPC,GAAM,wGAGNC,GAAS,wGACTC,GAAM,wGACNC,GAAM,wGACNC,GAAQ,wGAERC,GAAM,wGACNC,GAAO,wGAEPC,GAAK,wGACLC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAM,wGACNC,GAAa,wGAEbC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGACPC,GAAO,wGACPC,GAAM,wGACNC,GAAM,wGACNC,GAAO,wGACPC,GAAO,wGAEPC,GAAM,wGACNC,GAAM,wGACNC,GAAM,wGCnFLC,GAAS,SAACC,GACpB,IACMC,EADK,kBACOC,KAAKF,GACvB,OAAIC,EACOA,EAAO,GAEP,EAGf,ECSME,GAA+B,QAMxBC,GAAgB,SAACC,GAC1B,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,OACL,IAAK,SAAU,MAAO,OACtB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OAIpB,IAAK,MAAO,MAAO,MACnB,QAAS,OAAOF,GAExB,EACaG,GAAe,SAACD,GACzB,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,WAAY,MAAO,YACxB,IAAK,aACL,IAAK,eAAgB,MAAO,aAC5B,IAAK,QAAS,MAAO,OACrB,IAAK,MAAO,MAAO,MACnB,QAAS,OAAOF,GAGxB,EACaI,GAAgB,SAACF,GAC1B,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MAGnB,IAAK,MACL,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MAGnB,IAAK,OAAQ,MAAO,OACpB,IAAK,OAAQ,MAAO,OACpB,QAAS,OAAOF,GAGxB,EACaK,GAAe,SAACH,GACzB,OAAQA,GACJ,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MACnB,IAAK,OACL,IAAK,QAAS,MAAO,OACrB,QAAS,OAAOF,GAGxB,EAEaM,GAAgB,SAACJ,GAC1B,OAAQA,GACJ,IAAK,YACL,IAAK,UACL,IAAK,MAAO,MAAO,MACnB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MACnB,IAAK,OAAQ,MAAO,OACpB,IAAK,MAAO,MAAO,MAEnB,IAAK,OAAQ,MAAO,OAIpB,QAAS,OAAOF,GAExB,EAMaO,GAAsB,SAACL,GAChC,OAAQA,GACJ,IAAK,YACL,IAAK,UAAW,MAAO,MACvB,IAAK,YACL,IAAK,UAAW,MAAO,MACvB,IAAK,mBAAoB,MAAO,MAChC,IAAK,eAAgB,MAAO,QAC5B,IAAK,SAEL,IAAK,OAAQ,MAAO,KADpB,IAAK,UAEL,IAAK,QAAS,MAAO,MACrB,IAAK,QAAS,MAAO,MACrB,IAAK,WAAY,MAAO,QACxB,IAAK,MACL,IAAK,QAAS,MAAO,MACrB,IAAK,oBAAqB,MAAO,MACjC,IAAK,WAAY,MAAO,OACxB,IAAK,OAAQ,MAAO,OACpB,IAAK,eAAgB,MAAO,MAC5B,IAAK,eAAgB,MAAO,aAC5B,IAAK,OAAQ,MAAO,OACpB,IAAK,UAAW,MAAO,SACvB,IAAK,0BAA2B,MAAO,OACvC,IAAK,MAAO,MAAO,MACnB,IAAK,UAAW,MAAO,MACvB,IAAK,MAAO,MAAO,MACnB,IAAK,OACL,IAAK,KAAM,MAAO,KAClB,IAAK,oBAAqB,MAAO,MACjC,IAAK,QAAS,MAAO,MACrB,IAAK,cAAe,MAAO,MAC3B,IAAK,YAAa,MAAO,MACzB,IAAK,YAAa,MAAO,QACzB,IAAK,MAAO,MAAO,MACnB,IAAK,sBAAuB,MAAO,MACnC,IAAK,8DACL,IAAK,SAAU,MAAO,OACtB,IAAK,wDAAyD,MAAO,OACrE,IAAK,gEACL,IAAK,oBAAqB,MAAO,OACjC,IAAK,sCAAuC,MAAO,MACnD,IAAK,8BAA+B,MAAO,MAC3C,IAAK,qCAAsC,MAAO,MAClD,IAAK,MACL,IAAK,mBAAoB,MAAO,MAChC,IAAK,MAAO,MAAO,MACnB,QAAS,OAAOF,GAExB,EAOaQ,GAAe,SAACC,GAEzB,IAAKA,IAAaA,EAAStF,SAAS,KAChC,OAAO6E,GAEX,IAAIU,EAAaD,EAASE,MAAM,KAAK,GACjCT,EAAWO,EAASE,MAAM,KAAK,GAMnC,OAAQD,GACJ,IAAK,cAAe,OAAOH,GAAoBL,GAC/C,IAAK,QAAS,OAAOD,GAAcC,GACnC,IAAK,QAAS,OAAOI,GAAcJ,GACnC,IAAK,OAAQ,OAAOC,GAAaD,GACjC,IAAK,QAAS,OAAOE,GAAcF,GACnC,IAAK,OAAQ,OAAOG,GAAaH,GAEjC,QAAS,OAAOF,GAExB,EAQaY,GAAoB,SAACC,GAC9B,IAAIC,EAA8B,QA6BlC,OA3BID,GAA2B,KAAdA,IACTA,EAAU1F,SAAS,QAAU0F,EAAU1F,SAAS,OAChD2F,EAAc,MACPD,EAAU1F,SAAS,OAC1B2F,EAAc,OACPD,EAAU1F,SAAS,OAC1B2F,EAAc,OACPD,EAAU1F,SAAS,UAC1B2F,EAAc,SACPD,EAAU1F,SAAS,OAC1B2F,EAAc,MACPD,EAAU1F,SAAS,OAC1B2F,EAAc,MACO,QAAdD,EACPC,EAAc,QACO,OAAdD,EACPC,EAAc,SACO,QAAdD,EACPC,EAAc,MACO,SAAdD,EACPC,EAAc,OACO,OAAdD,EACPC,EAAc,aACO,SAAdD,GAAsC,SAAdA,IAC/BC,EAAc,SAGfA,CAEX,EAMaC,GAAc,SAACF,GACxB,IAAIC,EAA8B,OAoBlC,OAnBID,GAA2B,KAAdA,IACK,QAAdA,EACAC,EAAc,QACO,OAAdD,EACPC,EAAc,SACO,QAAdD,EACPC,EAAc,MACO,SAAdD,EACPC,EAAc,OACO,OAAdD,GAAoC,QAAdA,EAC7BC,EAAc,aACO,OAAdD,EACPC,EAAc,aACO,QAAdD,EACPC,EAAc,MACO,QAAdD,IACPC,EAAc,QAGfA,CACX,EA8FME,GAA4B,CAC9B3F,IAAKA,EACLE,MAAOA,EACPD,IAAKA,EACL2F,IAAK5E,EACLb,IAAKA,EACLC,IAAKA,EACL4B,MAAOA,GACP3B,IAAKA,EACLC,GAAIA,EACJC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,KAAMA,EACNC,OAAQA,EACRC,IAAKA,EACLC,KAAMA,EACNG,KAAMA,EACND,IAAKA,EACLE,KAAMA,EAENC,UAAWA,EACXE,IAAKA,EACLE,KAAMA,GACND,WAAYA,GACZE,KAAMA,GACNC,OAAQA,GACRC,KAAMA,GAENC,IAAKA,GACLC,IAAKA,GACLC,KAAMA,GACNC,KAAMA,GACN8D,KAAM7D,GACNC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GACLC,KAAMA,GACNC,IAAKA,GACLG,IAAKA,GACLF,IAAKA,GACLC,IAAKA,GACLE,KAAMA,GACNC,IAAKA,GACLG,IAAKA,GACLE,IAAKA,GACLC,KAAMA,GACNC,GAAIA,GAEJC,IAAKA,GACLN,IAAKA,GACLQ,KAAMA,GACNC,IAAKA,GAELC,WAAYA,GACZH,KAAMA,GACNI,IAAKA,GACLE,IAAKA,GACLE,KAAMA,GACND,KAAMA,GACNE,KAAMA,GACNG,KAAMA,GACNF,IAAKA,GACLC,IAAKA,GACL6B,MAAO3E,EACPgD,KAAMA,GACNC,IAAKA,GACLC,IAAKA,GACLC,IAAKA,GAELvE,SAAUA,EACV+C,OAAQA,GACRzB,KAAMA,EACN4B,MAAOA,GACPU,IAAKA,GAGLoC,SAAU/D,ICvVdgE,GAAA,WAuEI,SAAAA,EAAYC,GAEJ,IAAAC,EAgBAD,KAfAE,EAeAF,EAAOE,KAdPhJ,EAcA8I,EAAO9I,KAbPC,EAaA6I,EAbI7I,KACJC,EAYA4I,EAZI5I,KACJ+I,EAWAH,WAVAvI,EAUAuI,QATAI,EASAJ,EAAOI,OARPC,EAQAL,EAAOK,cAPPC,EAOAN,EAPYM,aACZC,EAMAP,EANQO,SACRC,EAKAR,MAJAS,EAIAT,EAAOS,UAHPC,EAGAV,EAAOU,gBAFPC,EAEAX,EAFcW,eACdC,EACAZ,EADWY,YAAEC,EACbb,WAEJc,KAAKb,GAAKA,EACVa,KAAKZ,KAAOA,EACZY,KAAK5J,KAAOA,EACZ4J,KAAK3J,KAAOA,EACZ2J,KAAK1J,KAAOA,EACZ0J,KAAKX,SAAWA,EAEhBW,KAAKrJ,MAAQA,EACbqJ,KAAKV,OAASA,EACdU,KAAKR,aAAeA,EACpBQ,KAAKT,cAAgBA,EACrBS,KAAKP,SAAWA,EAChBO,KAAKN,IAAMA,EAEXM,KAAKL,UAAYA,EACjBK,KAAKJ,gBAAkBA,EACvBI,KAAKH,eAAiBA,EAEtBG,KAAKF,YAAcA,EACnBE,KAAKD,SAAWA,CACnB,CA+CL,OAlCWd,EAASgB,UAAhB,SAAiBC,GAOb,IAJA,IAAIC,EAAwB,CAAA,EACtBC,EAAsBC,OAAOC,KAAKJ,GAClCK,EAAwBF,OAAOG,OAAON,GAEnCO,EAAI,EAAGA,EAAIF,EAAsBG,OAAQD,IAAK,CACnD,IAAME,EAAuCJ,EAAsBE,GAG7DG,EAAUR,EAAoBK,QACfI,IAAjBF,IAEAR,EAAaS,GAAWD,EAE/B,CAGD,OAAOR,GAMXlB,EAAA6B,UAAAb,UAAA,WACI,OAAOhB,EAAgBgB,UAAUD,OAQxCf,CAAD,2vDCtPA,IAAA8B,GAAA,WAAA,SAAAA,IAkOC,CAAD,OA3NkBA,EAAAC,UAAd,WAEI,OADAD,EAAeE,SACRF,EAAeE,QAQZF,EAAAG,YAAd,SACI/B,EACAgC,GAEA,OAAKhC,GAGD4B,EAAeK,UAAUjC,GAAUkC,GAAA,GAAAF,MAE5BhC,GAJA,GAYD4B,EAAAO,kBAAd,WACI,IAAML,EAAiBF,EAAeC,YAGtC,OAFAD,EAAeK,UAAUH,GAAU,GAE5BA,GAOGF,EAAiBQ,kBAA/B,SAAgCpC,GAC5B,IAAKA,EACD,OAAO,EAEP,IAEI,OADA4B,EAAeK,UAAUjC,QAAM0B,EACxB1B,CACV,CAAC,MAAOtI,GAGL,MAF6B,gBAAzB2K,QAAQC,IAAIC,UACZC,QAAQ9K,MAAM,kBAAmBA,GAC9B,CACV,GAQKkK,EAAsBa,uBAApC,SACIzC,GAEA,IACI,IAAKA,EACD,OAEJ,OAAO4B,EAAeK,UAAUjC,EACnC,CAAC,MAAOtI,GAGL,YAF6B,gBAAzB2K,QAAQC,IAAIC,UACZC,QAAQ9K,MAAM,kCAAmCA,GAExD,GAeSkK,EAAuBc,wBAArC,SACIC,EACAC,EACAC,EACAC,GAIA,GAA4B,iBAAfH,GAAiD,iBAAfA,EAG/C,IAEI,IAAII,EAGAC,EAAad,GAAA,GAAkBU,GAAU,GAGzCE,GAAiBD,IAEjBG,EAAgBA,EAAcC,QAAO,SAAAlD,GAAW,OAAAA,EAAQvI,KAAR,KAqCpDuL,GA1BIC,EALAH,EAMIG,EACKE,KAAI,SAAAnD,GACD,MAA6B,YAAzBA,EAAQM,cAA8BN,EAAQvI,MAC9C2L,GAAAA,GAAA,GAAYpD,GAAO,CAAEM,aAAc,cAEnC8C,GAAA,GAAYpD,EAEpB,IAKJiD,EACKE,KAAI,SAAAnD,GACD,MAA6B,YAAzBA,EAAQM,aACR8C,GAAAA,GAAA,GAAYpD,GAAO,CAAEM,aAAc,cAEnC8C,GAAA,GAAYpD,EAEpB,KAMkBmD,KAAI,SAAAE,GAAK,OAAA,IAAItD,GAAgBsD,EAApB,IAGrBxB,EAAeG,YAAYY,EAAYI,GAGzD,OAAOA,CAEV,CAAC,MAAOrL,GAGL,YAF6B,gBAAzB2K,QAAQC,IAAIC,UACZC,QAAQ9K,MAAM,4CAA6CA,GAElE,GAmBSkK,EAAwByB,yBAAtC,SACIV,EACAC,EACAC,EACAC,GAKA,OAFAlB,EAAeG,YAAYY,EAAYC,EAAWM,KAAI,SAAAE,GAAK,OAAA,IAAItD,GAAeqD,GAAAA,GAAA,CAAA,EAAMC,GAAC,CAAE/C,aAAc,cAAc,KAE5GuB,EAAea,uBAAuBE,IA5LlCf,EAAME,OAAW,EACzBF,EAASK,UAA2D,GAgO9EL,CAAA,IC/ND0B,GAAA,WAAA,SAAAA,IAmyBC,CAAD,OA3xBWA,EAAAC,WAAa,SAACtM,EAAcC,EAAcC,GAC7C,IAAM8I,EAAO,IAAIuD,KAAK,GAAIvM,EAAM,CAAEE,KAAIA,IAMtC,OALA+J,OAAOuC,eAAexD,EAAM,OAAQ,CAChCyD,IAAG,WACC,OAAOxM,CACV,IAEE+I,CACX,EAMOqD,EAAUK,WAAG,SAACzM,GACjB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,YACjG,EAMOoM,EAAUM,WAAG,SAAC1M,GACjB,OAAOoM,EAAcC,WAAW,mCAAoCrM,GAAc,QAAS,wBAC/F,EAMOoM,EAAcO,eAAG,SAAC3M,GACrB,OAAOoM,EAAcC,WAAW,mCAAoCrM,GAAc,QAAS,wBAC/F,EAMOoM,EAAUQ,WAAG,SAAC5M,GACjB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,kBAC3F,EAMOoM,EAAUS,WAAG,SAAC7M,GACjB,OAAOoM,EAAcC,WAAW,+CAAgDrM,GAAc,QAAS,+BAC3G,EAMOoM,EAAYU,aAAG,SAAC9M,GACnB,OAAOoM,EAAcC,WAAW,+CAAgDrM,GAAc,QAAS,2BAC3G,EAMOoM,EAAUW,WAAG,SAAC/M,GACjB,OAAOoM,EAAcC,WAAW,mCAAoCrM,GAAc,QAAS,YAC/F,EAMOoM,EAASY,UAAG,SAAChN,GAChB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,qBAC7F,EAMOoM,EAAUa,WAAG,SAACjN,GACjB,OAAOoM,EAAcC,WAAW,oCAAqCrM,GAAc,QAAS,sBAChG,EAMOoM,EAAUc,WAAG,SAAClN,GACjB,OAAOoM,EAAcC,WAAW,oCAAqCrM,GAAc,QAAS,oBAChG,EAMOoM,EAAUe,WAAG,SAACnN,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,oBAC5F,EAMOoM,EAAUgB,WAAG,SAACpN,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,WAC5F,EAMOoM,EAAUiB,WAAG,SAACrN,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,WAC5F,EAMOoM,EAAUkB,WAAG,SAACtN,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,qBAC5F,EAMOoM,EAAWmB,YAAG,SAACvN,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,0EAC7F,EAMOoM,EAAUoB,WAAG,SAACxN,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,gCAC5F,EAMOoM,EAAWqB,YAAG,SAACzN,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,uBAC7F,EAMOoM,EAAWsB,YAAG,SAAC1N,GAClB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,mBAC3F,EAMOoM,EAAUuB,WAAG,SAAC3N,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,YAC5F,EAMOoM,EAAUwB,WAAG,SAAC5N,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,YAC5F,EAMOoM,EAAWyB,YAAG,SAAC7N,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,YAC7F,EAMOoM,EAAU0B,WAAG,SAAC9N,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,2BAC5F,EAMOoM,EAAgB2B,iBAAG,SAAC/N,GACvB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,gBAC5F,EAMOoM,EAAU4B,WAAG,SAAChO,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,2BAC5F,EAMOoM,EAAW6B,YAAG,SAACjO,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,aAC7F,EAMOoM,EAAU8B,WAAG,SAAClO,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,aAC5F,EAMOoM,EAAS+B,UAAG,SAACnO,GAChB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,kBAC3F,EAMOoM,EAAWgC,YAAG,SAACpO,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,mBAC7F,EAMOoM,EAAaiC,cAAG,SAACrO,GACpB,OAAOoM,EAAcC,WAAW,mCAAoCrM,GAAc,QAAS,sBAC/F,EAMOoM,EAAUkC,WAAG,SAACtO,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,aAC5F,EAMOoM,EAAYmC,aAAG,SAACvO,GACnB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,eAC5F,EAMOoM,EAAWoC,YAAG,SAACxO,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,eAC7F,EAMOoM,EAAaqC,cAAG,SAACzO,GACpB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,eAC7F,EAMOoM,EAAUsC,WAAG,SAAC1O,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,kBAC5F,EAMOoM,EAAUuC,WAAG,SAAC3O,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,aAC5F,EAMOoM,EAAUwC,WAAG,SAAC5O,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,YAC5F,EAMOoM,EAAWyC,YAAG,SAAC7O,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,aAC7F,EAMOoM,EAAW0C,YAAG,SAAC9O,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,sCAC7F,EAMOoM,EAAU2C,WAAG,SAAC/O,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,kDAC5F,EAMOoM,EAAU4C,WAAG,SAAChP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,iDAC5F,EAMOoM,EAAU6C,WAAG,SAACjP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,0CAC5F,EAMOoM,EAAU8C,WAAG,SAAClP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,YAC5F,EAMOoM,EAAU+C,WAAG,SAACnP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,YAC5F,EAMOoM,EAAUgD,WAAG,SAACpP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,kBAC5F,EAMOoM,EAAWiD,YAAG,SAACrP,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,aAC7F,EAMOoM,EAAUkD,WAAG,SAACtP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,WAC5F,EAMOoM,EAAUmD,WAAG,SAACvP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,YAC5F,EAMOoM,EAAUoD,WAAG,SAACxP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,kBAC5F,EAMOoM,EAAUqD,WAAG,SAACzP,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,0BAC5F,EAMOoM,EAAUsD,WAAG,SAAC1P,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,gCAC5F,EAMOoM,EAAWuD,YAAG,SAAC3P,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,4EAC7F,EAMOoM,EAAUwD,WAAG,SAAC5P,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,sBAC5F,EAMOoM,EAAUyD,WAAG,SAAC7P,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,kBAC5F,EAMOoM,EAAS0D,UAAG,SAAC9P,GAChB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,mBAC3F,EAMOoM,EAAU2D,WAAG,SAAC/P,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,gBAC5F,EAMOoM,EAAU4D,WAAG,SAAChQ,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,gCAC5F,EAMOoM,EAAU6D,WAAG,SAACjQ,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,oBAC5F,EAMOoM,EAAU8D,WAAG,SAAClQ,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,aAC5F,EAMOoM,EAAW+D,YAAG,SAACnQ,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,aAC7F,EAMOoM,EAASgE,UAAG,SAACpQ,GAChB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,aACjG,EAMOoM,EAAUiE,WAAG,SAACrQ,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,WAC5F,EAMOoM,EAAWkE,YAAG,SAACtQ,GAClB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,aAC5F,EAMOoM,EAAiBmE,kBAAG,SAACvQ,GACxB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,aACjG,EAMOoM,EAAUoE,WAAG,SAACxQ,GACjB,OAAOoM,EAAcC,WAAW,oCAAqCrM,GAAc,QAAS,wBAChG,EAMOoM,EAAUqE,WAAG,SAACzQ,GACjB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,YACjG,EAMOoM,EAAWsE,YAAG,SAAC1Q,GAClB,OAAOoM,EAAcC,WAAW,sCAAuCrM,GAAc,QAAS,aAClG,EAMOoM,EAAWuE,YAAG,SAAC3Q,GAClB,OAAOoM,EAAcC,WAAW,sCAAuCrM,GAAc,QAAS,aAClG,EAMOoM,EAAWwE,YAAG,SAAC5Q,GAClB,OAAOoM,EAAcC,WAAW,sCAAuCrM,GAAc,QAAS,aAClG,EAMOoM,EAAWyE,YAAG,SAAC7Q,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,YAC7F,EAMOoM,EAAY0E,aAAG,SAAC9Q,GACnB,OAAOoM,EAAcC,WAAW,kCAAmCrM,GAAc,QAAS,aAC9F,EAMOoM,EAAY2E,aAAG,SAAC/Q,GACnB,OAAOoM,EAAcC,WAAW,kCAAmCrM,GAAc,QAAS,wBAC9F,EAMOoM,EAAW4E,YAAG,SAAChR,GAClB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,2BAC5F,EAMOoM,EAAU6E,WAAG,SAACjR,GACjB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,oEAC7F,EAMOoM,EAAU8E,WAAG,SAAClR,GACjB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,kBAC3F,EAMOoM,EAAc+E,eAAG,SAACnR,GACrB,OAAOoM,EAAcC,WAAW,0CAA2CrM,GAAc,QAAS,kBACtG,EAMOoM,EAAUgF,WAAG,SAACpR,GACjB,OAAOoM,EAAcC,WAAW,gCAAiCrM,GAAc,QAAS,kCAC5F,EAMOoM,EAAUiF,WAAG,SAACrR,GACjB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,kBAC3F,EAMOoM,EAAUkF,WAAG,SAACtR,GACjB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,aACjG,EAMOoM,EAAWmF,YAAG,SAACvR,GAClB,OAAOoM,EAAcC,WAAW,sCAAuCrM,GAAc,QAAS,cAClG,EAMOoM,EAAYoF,aAAG,SAACxR,GACnB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,aACjG,EAMOoM,EAAYqF,aAAG,SAACzR,GACnB,OAAOoM,EAAcC,WAAW,sCAAuCrM,GAAc,QAAS,cAClG,EAMOoM,EAASsF,UAAG,SAAC1R,GAChB,OAAOoM,EAAcC,WAAW,oCAAqCrM,GAAc,QAAS,8BAChG,EAMOoM,EAAauF,cAAG,SAAC3R,GACpB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,aAC7F,EAMOoM,EAAWwF,YAAG,SAAC5R,GAClB,OAAOoM,EAAcC,WAAW,iCAAkCrM,GAAc,QAAS,aAC7F,EAMOoM,EAAYyF,aAAG,SAAC7R,GACnB,OAAOoM,EAAcC,WAAW,qCAAsCrM,GAAc,QAAS,aACjG,EAMOoM,EAAU0F,WAAG,SAAC9R,GACjB,OAAOoM,EAAcC,WAAW,+BAAgCrM,GAAc,QAAS,aAC3F,EAMOoM,EAA0B2F,2BAAG,SAAC/R,GAEjC,IAAIgS,EAAmB,GAyFvB,OAvFAA,EAASC,KAAK7F,EAAcK,WAAWzM,IACvCgS,EAASC,KAAK7F,EAAcM,WAAW1M,IACvCgS,EAASC,KAAK7F,EAAcO,eAAe3M,IAC3CgS,EAASC,KAAK7F,EAAcQ,WAAW5M,IACvCgS,EAASC,KAAK7F,EAAcS,WAAW7M,IACvCgS,EAASC,KAAK7F,EAAcU,aAAa9M,IACzCgS,EAASC,KAAK7F,EAAcW,WAAW/M,IACvCgS,EAASC,KAAK7F,EAAcY,UAAUhN,IACtCgS,EAASC,KAAK7F,EAAca,WAAWjN,IACvCgS,EAASC,KAAK7F,EAAcc,WAAWlN,IACvCgS,EAASC,KAAK7F,EAAce,WAAWnN,IACvCgS,EAASC,KAAK7F,EAAcgB,WAAWpN,IACvCgS,EAASC,KAAK7F,EAAciB,WAAWrN,IACvCgS,EAASC,KAAK7F,EAAckB,WAAWtN,IACvCgS,EAASC,KAAK7F,EAAcmB,YAAYvN,IACxCgS,EAASC,KAAK7F,EAAcoB,WAAWxN,IACvCgS,EAASC,KAAK7F,EAAcqB,YAAYzN,IACxCgS,EAASC,KAAK7F,EAAcsB,YAAY1N,IACxCgS,EAASC,KAAK7F,EAAcuB,WAAW3N,IACvCgS,EAASC,KAAK7F,EAAcwB,WAAW5N,IACvCgS,EAASC,KAAK7F,EAAcyB,YAAY7N,IACxCgS,EAASC,KAAK7F,EAAc0B,WAAW9N,IACvCgS,EAASC,KAAK7F,EAAc2B,iBAAiB/N,IAC7CgS,EAASC,KAAK7F,EAAc4B,WAAWhO,IACvCgS,EAASC,KAAK7F,EAAc6B,YAAYjO,IACxCgS,EAASC,KAAK7F,EAAc8B,WAAWlO,IACvCgS,EAASC,KAAK7F,EAAc+B,UAAUnO,IACtCgS,EAASC,KAAK7F,EAAcgC,YAAYpO,IACxCgS,EAASC,KAAK7F,EAAciC,cAAcrO,IAC1CgS,EAASC,KAAK7F,EAAckC,WAAWtO,IACvCgS,EAASC,KAAK7F,EAAcoC,YAAYxO,IACxCgS,EAASC,KAAK7F,EAAcmC,aAAavO,IACzCgS,EAASC,KAAK7F,EAAcqC,cAAczO,IAC1CgS,EAASC,KAAK7F,EAAcsC,WAAW1O,IACvCgS,EAASC,KAAK7F,EAAcuC,WAAW3O,IACvCgS,EAASC,KAAK7F,EAAcwC,WAAW5O,IACvCgS,EAASC,KAAK7F,EAAcyC,YAAY7O,IACxCgS,EAASC,KAAK7F,EAAc0C,YAAY9O,IACxCgS,EAASC,KAAK7F,EAAc2C,WAAW/O,IACvCgS,EAASC,KAAK7F,EAAc4C,WAAWhP,IACvCgS,EAASC,KAAK7F,EAAc6C,WAAWjP,IACvCgS,EAASC,KAAK7F,EAAc8C,WAAWlP,IACvCgS,EAASC,KAAK7F,EAAc+C,WAAWnP,IACvCgS,EAASC,KAAK7F,EAAcgD,WAAWpP,IACvCgS,EAASC,KAAK7F,EAAciD,YAAYrP,IACxCgS,EAASC,KAAK7F,EAAckD,WAAWtP,IACvCgS,EAASC,KAAK7F,EAAcmD,WAAWvP,IACvCgS,EAASC,KAAK7F,EAAcoD,WAAWxP,IACvCgS,EAASC,KAAK7F,EAAcqD,WAAWzP,IACvCgS,EAASC,KAAK7F,EAAcsD,WAAW1P,IACvCgS,EAASC,KAAK7F,EAAcuD,YAAY3P,IACxCgS,EAASC,KAAK7F,EAAcwD,WAAW5P,IACvCgS,EAASC,KAAK7F,EAAcyD,WAAW7P,IACvCgS,EAASC,KAAK7F,EAAc0D,UAAU9P,IACtCgS,EAASC,KAAK7F,EAAc2D,WAAW/P,IACvCgS,EAASC,KAAK7F,EAAc4D,WAAWhQ,IACvCgS,EAASC,KAAK7F,EAAc6D,WAAWjQ,IACvCgS,EAASC,KAAK7F,EAAc8D,WAAWlQ,IACvCgS,EAASC,KAAK7F,EAAc+D,YAAYnQ,IACxCgS,EAASC,KAAK7F,EAAcgE,UAAUpQ,IACtCgS,EAASC,KAAK7F,EAAciE,WAAWrQ,IACvCgS,EAASC,KAAK7F,EAAckE,YAAYtQ,IACxCgS,EAASC,KAAK7F,EAAcmE,kBAAkBvQ,IAC9CgS,EAASC,KAAK7F,EAAcoE,WAAWxQ,IACvCgS,EAASC,KAAK7F,EAAcqE,WAAWzQ,IACvCgS,EAASC,KAAK7F,EAAcsE,YAAY1Q,IACxCgS,EAASC,KAAK7F,EAAcuE,YAAY3Q,IACxCgS,EAASC,KAAK7F,EAAcwE,YAAY5Q,IACxCgS,EAASC,KAAK7F,EAAcyE,YAAY7Q,IACxCgS,EAASC,KAAK7F,EAAc0E,aAAa9Q,IACzCgS,EAASC,KAAK7F,EAAc2E,aAAa/Q,IACzCgS,EAASC,KAAK7F,EAAc4E,YAAYhR,IACxCgS,EAASC,KAAK7F,EAAc6E,WAAWjR,IACvCgS,EAASC,KAAK7F,EAAc8E,WAAWlR,IACvCgS,EAASC,KAAK7F,EAAc+E,eAAenR,IAC3CgS,EAASC,KAAK7F,EAAcgF,WAAWpR,IACvCgS,EAASC,KAAK7F,EAAciF,WAAWrR,IAMvCgS,EAASC,KAAK7F,EAAcuF,cAAc3R,IAC1CgS,EAASC,KAAK7F,EAAcwF,YAAY5R,IACxCgS,EAASC,KAAK7F,EAAcyF,aAAa7R,IACzCgS,EAASC,KAAK7F,EAAc0F,WAAW9R,IAEhCgS,CACX,EACH5F,CAAA,IAmBY8F,GAAsB,SAC/BnS,EACAC,EACAC,GAEA,YAJA,IAAAF,IAAAA,EAA2C,2CAC3C,IAAAC,IAAAA,EAAa,aACb,IAAAC,IAAAA,EAAkB,aAEXmM,GAAcC,WAAWtM,EAAMC,EAAMC,EAChD,EC9zBCkS,GAAA,WAAA,SAAAA,IAUA,CAAD,OAJWA,EAAAxH,UAAP,WAEI,OADAwH,EAAgBvH,SACTuH,EAAgBvH,QAPpBuH,EAAMvH,OAAG,EASnBuH,CAAA,ICPe,SAAAC,GAAaC,EAAiBC,GAC1C,YADyB,IAAAD,IAAAA,EAAe,QAAE,IAAAC,IAAAA,EAAe,GAClDC,KAAKC,MAAMD,KAAKE,UAAYH,EAAMD,IAAQA,CACrD,CCJO,ICCMK,GAAiB,SAACvT,GAC3B,OAAKA,GAA4B,IAAlBA,EAAOkL,OAGiBlL,EAAO+I,MAAM,KAAK8D,KAAI,SAAC2G,GAAe,OAAAA,EAAWC,MAAM,IAFnF,EAIf,ECFcC,GAAiB,SAAC1T,EAAkB4J,GAI9C,IAHA,IACQhJ,EAAegJ,EAAIhJ,KAAbE,EAAS8I,EAAI9I,KAElBmK,EAAI,EAAGA,EAAIjL,EAAOkL,OAAQD,IAAK,CACpC,IAAMuI,EAAqBxT,EAAOiL,GAElC,GAA0B,IAAtBuI,EAAWtI,OAAc,CAEzB,GAA6B,MAAzBsI,EAAWG,OAAO,IACdH,EAAWjQ,SAASyE,GAAOpH,IAC3B,OAAO,EAKf,GAAIE,GAAQA,EAAKoK,OAAS,GAAKsI,EAAWjQ,SAAS,MAAQzC,EAAKyC,SAAS,KAAM,CAC3E,IAAIuF,EAAa0K,EAAWzK,MAAM,KAAK,GACnCT,EAAWkL,EAAWzK,MAAM,KAAK,GAEjC6K,EAAiB9S,EAAKiI,MAAM,KAAK,GACjC8K,EAAe/S,EAAKiI,MAAM,KAAK,GAEnC,GAAID,IAAe8K,EAAgB,CAE/B,GAAiB,MAAbtL,EACA,OAAO,EACJ,GAAIA,IAAauL,EACpB,OAAO,CAEd,CACJ,CACJ,CACJ,CACD,OAjCqB,CAkCzB,ECqEaC,GAAkB,SAC3BpK,EACAqK,EACAC,EACAC,GAEA,IAAIC,EAAapH,GAAA,CAAA,EAAiBpD,GAC9BI,EAAmB,GAEvB,IAAKJ,EAAQE,KACT,OAAAkD,GAAA,GAAYoH,GAIhB,GAAIH,EAAW,CACX,IACgBI,EADqCJ,EAAUG,EAActK,MACtBE,OACnDqK,GACArK,EAAOgJ,KAAIsB,MAAXtK,EAAeqK,EAEtB,CAEO,IAAA/T,EAAwB4T,EAAc5T,YAAzBJ,EAAWgU,EAAchU,OAGxC4J,EAAaF,EAAQE,KAG3B,GAAIxJ,GAAewJ,EAAK/I,KAAOT,EAAa,CACxC,IAAMiU,EAA2CJ,EAAYzS,aAI7DsI,EAAOgJ,KAAKuB,EAA0BjU,GACzC,CAEGJ,IAAW0T,GAAeH,GAAevT,GAAS4J,IAClDE,EAAOgJ,KAAKmB,EAAYvS,aAE5B,IAAM4S,EAAqC,IAAlBxK,EAAOoB,OAGhC,OAFAgJ,EAAapH,GAAAA,GAAA,CAAA,EAAQoH,GAAe,CAAA/S,MAAOmT,EAASxK,OAASwK,OAAmBjJ,EAATvB,GAI3E,EAWayK,GAAe,SACxB3K,EACAmK,EACAC,EACAC,GAGA,IAAMO,EAAcxB,GAAgBxH,YAChC1B,EAAmB,GACvB,GAAIiK,EACA,OAASjH,GAAA,CAAAnD,GAAI6K,EAAa5K,KAAIA,GAAKmK,EAAUnK,IAGzC,IAAAxJ,EAAwB4T,EAAc5T,YAAzBJ,EAAWgU,EAAchU,OAG9C,GAAII,GAAewJ,EAAK/I,KAAOT,EAAa,CACxC,IAAMiU,EAA2CJ,EAAYzS,aAC7DsI,EAAOgJ,KAAKuB,EAA0BjU,GACzC,CAgBD,OAZIJ,IAAW0T,GAAeH,GAAevT,GAAS4J,IAClDE,EAAOgJ,KAAKmB,EAAYvS,aAIA,CACxBiI,GAAI6K,EACJ5K,KAAMA,EACNzI,MAAyB,IAAlB2I,EAAOoB,OACdpB,OAAQA,EAIhB,ECzMa2K,GACT,CACI,kDACA,8BACA,8CCPM,SAAUC,GACpBC,EACAxK,GAKA,IAFA,IAAMyK,EAA0B/J,OAAOC,KAAKX,GAAa,CAAE,GAElDc,EAAI,EAAGA,EAAI2J,EAAc1J,QAAUf,EAAWc,IAEnD0J,EAASE,OAAOD,EAAc3J,GAAId,EAAUyK,EAAc3J,KAG9D0J,EAASE,OAAO,aAAc,mBAElC,CCdc,SAAUC,GACpB5K,EACA6K,GAKA,IAFA,IAAMC,EAAuBnK,OAAOC,KAAKiK,GAAW,CAAE,GAE7C9J,EAAI,EAAGA,EAAI+J,EAAW9J,QAAU6J,EAAS9J,IAE9Cf,EAAI+K,iBACAD,EAAW/J,GACX8J,EAAQC,EAAW/J,IAK/B,CCda,IAAAiK,GAAyB,CAClChU,SAAS,EACTiU,QAAS,gBACTC,QAAS,CAAE,GAEFC,GAAyB,CAClCnU,SAAS,EACTiU,QAAS,iBACTC,QAAS,CAAE,GAEFE,GAA4B,CACrCpU,SAAS,EACTiU,QAAS,mCACTC,QAAS,CAAE,GAGFG,GAA4B,CACrCrU,SAAS,EACTiU,QAAS,mBACTC,QAAS,CAAE,GAGFI,GAAwB,SAAC9L,GAClC,OAAAoD,GAAAA,GAAA,CAAA,EAEOpD,GACH,CAAAK,cAAe,gDACfC,aAAc,QAEdK,eAAgB,CAAEnJ,SAAS,IAEnC,EC1BauU,GAAoB,SAACvL,GAC9B,IACI,IAAMwL,EAAeC,KAAKC,MAAM1L,EAAI2L,UAC9B3U,EAAewU,EAAaxU,QAC5BiU,EAAkBO,EAAaP,QAQrC,MALoC,CAChCjU,QAA4B,kBAAZA,GAAwBA,EACxCiU,QAA4B,iBAAZA,EAAuBA,EAAU,4BACjDC,QALiBM,EAAaN,SAKV,CAAE,EAG7B,CAAC,MAAO/T,GAEL,OAAOiU,EACV,CACL,EAIaQ,GAA4B,SACrCpM,EACAqM,GAEA,OAAAjJ,GAAAA,GAAA,CAAA,EACOpD,GAAO,CACVW,eAAgB0L,EAChBhM,cAAegM,EAAYZ,QAC3BnL,aAAc,WAGtB,EAGagM,GAA0B,SACnCtM,EACAqM,GAGA,OAAAjJ,GAAAA,GAAA,CAAA,EACOpD,GAAO,CACVK,cAAegM,EAAYZ,QAC3BnL,aAAc,QACdK,eAAgB0L,GAExB,ECnCaE,GAAiB,SAC1B/L,EACAgM,EACAC,EACAC,EACArB,GAEA,YALA,IAAAmB,IAAAA,EAAmC,QAK5B,IAAIG,SAAwB,SAACC,EAASC,GAGzC,IAAMC,EAAsB,CAAC,OAAQ,MAAO,SAASjT,SAAS2S,EAAOO,eAAiBP,EAAS,OAM/FhM,EAAIwM,OAAOC,OAAS,WAEpB,EACAzM,EAAIwM,OAAOE,UAAY,WAAM,OAAAN,EAAQpB,KACrChL,EAAIwM,OAAOG,QAAU,WAEjBP,EAAQjB,GACZ,EACAnL,EAAI4M,UAAY,SAAOC,GAAC,OAAAC,QAAA,OAAA,OAAA,GAAA,wDAQxB9M,EAAI+M,mBAAqB,SAAOF,GAAC,OAAAC,QAAA,OAAA,OAAA,GAAA,8CAOjB9M,EAAIgN,WAEO,IAAnBhN,EAAIgN,aACiB,KAAjBhN,EAAI2L,SAEJS,EAAQb,GAAkBvL,IAQ1BoM,EAAQjB,gBAQpBnL,EAAIiN,KAAKX,EAAaL,GAAU,GAGhCrB,GAAW5K,EAAK6K,GAEhB7K,EAAIkN,KAAKhB,EACb,GAEJ,EA8GO,IC9LMiB,GACb,CAEIC,UAAW,UACXC,WAAY,UACZC,OAAQ,UACRC,WAAY,UACZC,YAAa,UACbC,QAAS,UACTC,IAAK,UACLC,UAAW,UACXC,QAAS,UAETC,KAAM,UACNC,UAAW,UACXC,QAAS,UACTC,SAAU,UACVC,gBAAiB,UACjBC,cAAe,UAGfC,MAAO,UACPC,OAAQ,UACRC,UAAW,UACXC,WAAY,UACZC,OAAQ,UAERC,KAAM,UACNC,OAAQ,UACRC,YAAa,UACbC,aAAc,UACdC,qBAAsB,UACtBC,WAAY,UACZC,SAAU,UACVC,UAAW,UACXC,cAAe,UACfC,MAAO,UACPC,UAAW,UAEXC,SAAU,UACVC,QAAS,UACTC,KAAM,UACNC,OAAQ,UACRC,OAAQ,UACRC,QAAS,UACTC,QAAS,UACTC,aAAc,UACdC,aAAc,UACdC,cAAe,UACfC,WAAY,UACZC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbC,OAAQ,UACRC,OAAQ,UACRC,UAAW,UACXC,cAAe,UACfC,gBAAiB,UAEjBC,YAAa,UACbC,WAAY,UACZC,UAAW,UACXC,KAAM,UACNC,UAAW,UACXC,UAAW,UACXC,WAAY,UACZC,kBAAmB,UACnBC,YAAa,UACbC,eAAgB,UAChBC,SAAU,UACVC,YAAa,UACbC,MAAO,UACPC,UAAW,UACXC,YAAa,UACbC,UAAW,UACXC,MAAO,UACPC,eAAgB,UAChBC,iBAAkB,UAClBC,aAAc,UACdC,cAAe,UACfC,SAAU,UACVC,KAAM,UAENC,KAAM,UACNC,KAAM,UACNC,UAAW,UACXC,cAAe,UACfC,WAAY,UACZC,UAAW,UACXC,gBAAiB,UACjBC,cAAe,UACfC,UAAW,UACXC,UAAW,UACXC,eAAgB,UAChBC,WAAY,UACZC,UAAW,UACXC,QAAS,UACTC,aAAc,UACdC,YAAa,UACbC,WAAY,UACZC,eAAgB,UAEhBC,UAAW,UACXC,KAAM,UACNC,WAAY,UACZC,SAAU,UACVC,KAAM,UACNC,aAAc,UAEdC,SAAU,UACVC,eAAgB,UAChBC,OAAQ,UACRC,YAAa,UACbC,MAAO,UACPC,UAAW,UACXC,IAAK,UACLC,UAAW,UACXC,WAAY,UACZC,UAAW,UACXC,cAAe,UACfC,KAAM,UACNC,UAAW,UACXC,YAAa,UACbC,OAAQ,UACRC,MAAO,UACPC,OAAQ,UAERC,MAAO,UACPC,KAAM,UACNC,SAAU,UACVC,UAAW,UACXC,MAAO,UACPC,UAAW,UACXC,WAAY,UACZC,WAAY,UACZC,SAAU,UACVC,MAAO,UACPC,QAAS,UACTC,YAAa,UACbC,MAAO,UACPC,aAAc,UACdC,MAAO,UACPC,cAAe,UACfC,UAAW,UAEXC,UAAW,UACXC,UAAW,UACXC,OAAQ,UACRC,SAAU,UACVC,KAAM,UACNC,QAAS,UACTC,eAAgB,UAChBC,UAAW,UACXC,cAAe,UACfC,MAAO,WC9EEC,GAAgB,SAACC,EAAgCC,EAAUC,QAAV,IAAAD,IAAAA,EAAQ,GAClE,IAAIE,EAAwBD,GAA8B,2BAC1D,IAAKF,EACD,OAAOG,EAGX,IAAMC,EAAgBJ,EAAW3J,cAEjC,GAAI+J,EAAMjd,SAAS,QACf,OAAOid,EAIX,GAAIA,EAAMjd,SAAS,OACf,OAAOid,EAAMC,QAAQ,MAAO,QAAQA,QAAQ,IAAK,YAAKJ,EAAI,MAI9D,IAAKK,GAAWC,GAAgBH,IAC5B,OAAOD,EAEX,IAEIK,EACAC,EACAC,EAMJ,OAJAF,EAAyC,GAA5BG,GAASP,EAAM7M,OAAO,IAAWoN,GAASP,EAAM7M,OAAO,IACpEkN,EAAyC,GAA5BE,GAASP,EAAM7M,OAAO,IAAWoN,GAASP,EAAM7M,OAAO,IACpEmN,EAAyC,GAA5BC,GAASP,EAAM7M,OAAO,IAAWoN,GAASP,EAAM7M,OAAO,IACzD,QAAQhU,OAAAihB,EAAe,MAAAjhB,OAAAkhB,cAAcC,EAAU,OAAAnhB,OAAM0gB,EAAI,IAExE,EAUaK,GAAa,SAACN,GAGvB,GAA6B,MAAzBA,EAAWzM,OAAO,GAElB,OAAO,EAGX,GAA0B,IAAtByM,EAAWlV,OAGX,OAAO,EAGX,IAAK,IAAID,EAAI,EAAGA,EAAImV,EAAWlV,OAAQD,IACnC,IAAK+V,GAASzd,SAAS6c,EAAWzM,OAAO1I,IAGrC,OAAO,EAIf,OAAO,CACX,EAUM,SAAU0V,GAAgBM,GAI5B,OAAKA,OAM4C5V,IAA7CgM,GAAa4J,EAAOC,qBACb7J,GAAa4J,EAAOC,qBAMxBD,EAZI,EAaf,CAOA,IAAMD,GAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvFG,GAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IASvDJ,GAAW,SAACK,GACrB,OAAIJ,GAASzd,SAAS6d,GACXD,GAASH,GAASK,QAAQD,IAE1B,CAEf,EAUaE,GAAa,SAACd,GACvB,YAAcnV,IAAVmV,GAAiC,KAAVA,EAChBA,EAEAe,EAEf,EAgBaA,GAAqB,8iBtB5MO,SAACne,GACtC,OAAQA,GACJ,IAAK,QAAS,OAAOH,EAAkB,SACvC,IAAK,QAOL,QAAS,OAAOA,EAAkB,SANlC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SACvC,IAAK,QAAS,OAAOA,EAAkB,SAG/C,8KoB8JyB,SACrBiH,EACAgM,EACAC,EACAC,EACArB,GAEA,OAAO,IAAIsB,SAAwB,SAACC,EAASC,GAGzCrM,EAAIwM,OAAOC,OAAS,WAEpB,EAEAzM,EAAIwM,OAAOE,UAAY,WAAM,OAAAN,EAAQpB,KACrChL,EAAIwM,OAAOG,QAAU,WAAM,OAAAP,EAAQjB,KAKnCnL,EAAI+M,mBAAqB,SAAOF,GAAC,OAAAC,QAAA,OAAA,OAAA,GAAA,8CAIN,IAAnB9M,EAAIgN,aACiB,KAAjBhN,EAAI2L,SAEJS,EAAQb,GAAkBvL,IAG1BoM,EAAQf,gBAOpBrL,EAAIiN,KAAKjB,EAAQC,GAAU,GAG3B,IAFA,IAAMnB,EAAuBnK,OAAOC,KAAKiK,GAEhC9J,EAAI,EAAGA,EAAI+J,EAAW9J,OAAQD,IAEnCf,EAAI+K,iBACAD,EAAW/J,GACX8J,EAAQC,EAAW/J,KAI3Bf,EAAIkN,KAAKhB,EACb,GAEJ,unBGjP4B,SACxBoL,EACAC,GAEA,OAAIA,EACO,GAAG9hB,OAAA6hB,EAAiB,KAAA7hB,OAAA8hB,GACxBD,CACX,8LD6B6B,SAACpB,EAAoBsB,QAAA,IAAAA,IAAAA,EAAe,IAC7D,IAAIC,EAAgB,GACdC,GAAY,IAAMF,GAAc,IAClCd,EAAqB,EACrBC,EAAqB,EACrBC,EAAqB,EACzB,GAAIJ,GAAWC,GAAgBP,IAE3BQ,EAA8C,GAAjCG,GAASX,EAAWzM,OAAO,IAAWoN,GAASX,EAAWzM,OAAO,IAC9EkN,EAA8C,GAAjCE,GAASX,EAAWzM,OAAO,IAAWoN,GAASX,EAAWzM,OAAO,IAC9EmN,EAA8C,GAAjCC,GAASX,EAAWzM,OAAO,IAAWoN,GAASX,EAAWzM,OAAO,IAE9EgO,EAAgB,OAAAhiB,OAAOihB,EAAagB,EAAa,MAAAjiB,OAAAkhB,EAAae,EAAY,KAAAjiB,OAAAmhB,EAAac,YAEvF,GAAIxB,EAAW7c,SAAS,QAAS,CAC7B,IACIse,EADSzB,EAAWK,QAAQ,QAAS,IACP1X,MAAM,KACxC4Y,EAAgB,OAAOhiB,OAAAmiB,SAASD,EAAW,GAAI,IAAMD,eAAaE,SAASD,EAAW,GAAI,IAAMD,EAAQ,KAAAjiB,OAAImiB,SAASD,EAAW,GAAI,IAAMD,MAE7I,MAAM,GAAIxB,EAAW7c,SAAS,OAAQ,CAG/Bse,EADSzB,EAAWK,QAAQ,OAAQ,IACN1X,MAAM,KACxC4Y,EAAgB,OAAOhiB,OAAAmiB,SAASD,EAAW,GAAI,IAAMD,eAAaE,SAASD,EAAW,GAAI,IAAMD,EAAQ,KAAAjiB,OAAImiB,SAASD,EAAW,GAAI,IAAMD,MAE7I,CAGL,OAAOD,CACX,qFXnE0B,SAACI,GAClBA,IACLA,EAAaC,MAAQ,GACzB,wDWuNkC,SAACxB,EAAgBH,GAE/C,YAF+C,IAAAA,IAAAA,EAAQ,GAEhDF,GAAcmB,GAAWX,GAAgBH,IAASH,EAE7D,+BElMoC,SAChC3W,EACAW,EACA4X,GAEA,MAAO,CACHtY,GAAID,EAAQC,GACZuY,aACOpV,GAAAA,GAAA,CAAA,EAAApD,GACH,CAAAK,cAAeM,EAAe8K,QAC9BnL,aAAciY,IAElB5X,eAAgBA,EAExB,oChBiwByC,SAACxJ,GACtC,OAAOoM,GAAc2F,2BAA2B/R,EACpD,4DiB5vBkC,SAC9BshB,EACAjM,EACAnB,EACAqN,EACAC,GAEA,MAAO,CACHF,IAAGA,EACHjM,OAAMA,EACNnB,QAAOA,EACPqN,YAAWA,EACXC,cAAaA,EAErB,gEH5D2B,SAACjC,EAAoBsB,QAAA,IAAAA,IAAAA,EAAe,IAC3D,IAAIY,EAAc,GACZC,GAAU,IAAMb,GAAc,IAChCd,EAAqB,EACrBC,EAAqB,EACrBC,EAAqB,EACzB,GAAIJ,GAAWC,GAAgBP,IAE3BQ,EAA8C,GAAjCG,GAASX,EAAWzM,OAAO,IAAWoN,GAASX,EAAWzM,OAAO,IAC9EkN,EAA8C,GAAjCE,GAASX,EAAWzM,OAAO,IAAWoN,GAASX,EAAWzM,OAAO,IAC9EmN,EAA8C,GAAjCC,GAASX,EAAWzM,OAAO,IAAWoN,GAASX,EAAWzM,OAAO,IAE9E2O,EAAc,OAAA3iB,OAAOihB,EAAa2B,EAAW,MAAA5iB,OAAAkhB,EAAa0B,EAAU,KAAA5iB,OAAAmhB,EAAayB,YAEjF,GAAInC,EAAW7c,SAAS,QAAS,CAC7B,IACIse,EADSzB,EAAWK,QAAQ,QAAS,IACP1X,MAAM,KACxCuZ,EAAc,OAAO3iB,OAAAmiB,SAASD,EAAW,GAAI,IAAMU,eAAWT,SAASD,EAAW,GAAI,IAAMU,EAAM,KAAA5iB,OAAImiB,SAASD,EAAW,GAAI,IAAMU,MAEvI,MAAM,GAAInC,EAAW7c,SAAS,OAAQ,CAG/Bse,EADSzB,EAAWK,QAAQ,OAAQ,IACN1X,MAAM,KACxCuZ,EAAc,OAAO3iB,OAAAmiB,SAASD,EAAW,GAAI,IAAMU,eAAWT,SAASD,EAAW,GAAI,IAAMU,EAAM,KAAA5iB,OAAImiB,SAASD,EAAW,GAAI,IAAMU,MAEvI,CAGL,OAAOD,CACX,mFI/B2B,SAAC3Y,GACxB,MAAO,CACHA,GAAIA,GAAMqJ,GAAgBxH,YAC1B5K,KAAM,eACNC,KAAM,SACNC,KAAM,gBACN8I,KAAMmJ,GAAoB,eAAgB,SAAkB,iBAC5DjJ,OAAQ2K,GACR1K,cAAe,WACfC,aAAc,YACd7I,OAAO,EACP8I,SAAU,GACVC,IAAK,IAAIsY,eACTrY,UAAW,CACPsY,WAAY,uBACZC,WAAY,CACR/Y,GAAI,EACJ/I,KAAM,iBAEV+hB,SAAS,GAEbrY,YAAa,8CAErB,+BC1BoC,SAChCgC,EACAsW,GAEA,IAEIC,EACAtX,GAAea,uBAAuBE,GAG1C,GAAIuW,EAAe,CAWf,IAAIC,EAAajX,GAAA,GAAkB+W,GAAgB,GASnD,GARAE,EAAgBA,EAAclW,QAC1B,SAACG,GAAM,OAAkD,KAAlD8V,eAAAA,EAAeE,WAAU,SAAAC,GAAK,OAAAA,EAAErZ,KAAOoD,EAAEpD,EAAX,IAAqB,IAO1DkZ,EAAc3X,SAAW0X,EAAiB1X,QAAsC,IAA5B0X,EAAiB1X,OACrE,OAEJ,IAAK,IAAID,EAAI,EAAGA,EAAI4X,EAAc3X,OAAQD,SAEII,IAArCuX,EAAiB3X,GAAGjB,cAEc,cAAlC6Y,EAAc5X,GAAGjB,eAGlB6Y,EAAc5X,GAAGjB,kBAAeqB,EAG3C,CAED,MAzCwB,EA0C5B,qDC2D6B,SACzBX,EACAxH,QAAA,IAAAA,IAAAA,EAAoBC,EAA0B,UAG9C,IAAMuG,EAAkBgB,EAAgBD,YAExC,OAAO,IAAI4L,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WAEP,GAD6B7P,KAAKC,MAAsB,GAAhBD,KAAKE,UAC1B,GAAM,EAAG,CACxB,IAAMpS,GAAU,EACViU,EAAUjS,EAAkB1C,kBAC5B4U,EAAU,CAAE+M,IAAK,IACvB7L,EAAOxJ,GAAAA,GAAA,CAAA,EACApD,GAAO,CACVW,eAAgB,CAAEnJ,QAAOA,EAAEiU,QAAOA,EAAEC,QAAOA,GAC3CpL,aAAc,UACdD,cAAeoL,IAGtB,KAAM,CACGjU,GAAU,EACViU,EAAUjS,EAAkBzC,gBAC5B2U,EAAU,CAAA,EAChBkB,EAAOxJ,GAAAA,GAAA,CAAA,EACApD,GAAO,CACVW,eAAgB,CAAEnJ,QAAOA,EAAEiU,QAAOA,EAAEC,QAAOA,GAC3CpL,aAAc,QACdD,cAAeoL,IAEtB,CACJ,GAAE,KACP,GACJ,iCCpIsC,SAAC+N,GAEnC,IADA,IAAIC,EAA0B,GACrBlY,EAAI,EAAGmY,SAAUA,EAAIF,EAASjY,GAAKA,IACxCkY,EAAarQ,KAAK,CAAEnJ,GAAIqJ,GAAgBxH,YAAa5B,KAAMwZ,EAAGxiB,KAAMwiB,EAAExiB,KAAMC,KAAMuiB,EAAEviB,KAAMC,KAAMsiB,EAAEtiB,OAEtG,OAAOqiB,CACX,yCAO8C,SAACD,GAE3C,IADA,IAAIC,EAAkC,GAC7BlY,EAAI,EAAGmY,SAAUA,EAAIF,EAASjY,GAAKA,IACxCkY,EAAarQ,KAAK,IAAIrJ,GAAgB,CAAEE,GAAIqJ,GAAgBxH,YAAa5B,KAAMwZ,EAAGxiB,KAAMwiB,EAAExiB,KAAMC,KAAMuiB,EAAEviB,KAAMC,KAAMsiB,EAAEtiB,QAE1H,OAAOqiB,CACX,4BfXiC,SAC7BE,EACAC,EACAC,EACAxP,EACAxT,EACAijB,GASA,IAPA,IAAMC,EAAoB,GAEtBC,EAAoBJ,EAElBK,EACFrgB,EAA+BkgB,GAE1BvY,EAAI,EAAGmY,SAAUA,EAAIC,EAAkBpY,GAAKA,IAAK,CAEtD,IAAI2Y,EAAyBrP,GAAa6O,EAAGrP,EAAWwP,EAAgBI,GACxE,GAAIC,EAAcziB,MAAO,CAErB,IAAMA,EAAQuiB,EAAY,EAG1B,GAFAE,EAAcziB,MAAQA,GAEjBA,EAAO,CACR,IAAM0iB,EAAuCF,EAAyBhiB,aACtEiiB,EAAc9Z,OAAS8Z,EAAc9Z,OAChC+B,GAAAA,GAAA,GAAK+X,EAAc9Z,YAAQ+Z,EAAsBtjB,GAAYujB,UAC5D,CAACD,EAAsBtjB,GAAYujB,KAC5C,CACDJ,GACH,CACDD,EAAO3Q,KAAK8Q,EACf,CACD,OAAOH,CACX,qHgB1CM,SACFM,GAEA,OAAO,IAAI1N,SAAQ,SAACC,EAASC,GAEzB,GAAKwN,GAAsC,IAAvBA,EAAY7Y,OAMhC,IAGI,IAAI8Y,EAAwB,IAAIC,MAChCD,EAAIE,IAAMH,EACVC,EAAIG,QAAU,SAACC,GAEX7N,EAAO,YACX,EACAyN,EAAIrN,OAAS,WACT,IAAI0N,EAAgBL,EAAIK,MACpBC,EAAiBN,EAAIM,OAErBhO,EADA+N,EAAQC,EACA,YAEA,WAEhB,CACH,CAAC,MAAOjjB,GAGwB,gBAAzB2K,QAAQC,IAAIC,UACZC,QAAQ9K,MAAM,6DAElBkV,EAAO,YACV,MA5BGA,EAAO,YA6Bf,GACJ,+BCvCoC,SAChC3M,EACAhJ,EACAE,EACAD,GAGA,IAAI0jB,EAAwB,GACxBC,OAAoCnZ,EACpCoZ,OAAoCpZ,EAaxC,OATIzB,GAA6B,iBAAdA,EAAKhJ,MACpB2jB,EAAgB3a,EAAKhJ,KACrB4jB,EAAgB5a,EAAK9I,KACrB2jB,EAAgB7a,EAAK/I,MACdD,GAAwB,iBAATA,IACtB2jB,EAAgB3jB,EAChB4jB,EAAgB1jB,EAChB2jB,EAAgB5jB,GAEb,CAAC0jB,EAAeC,EAAeC,EAC1C,gD1B0O6B,SACzB7a,EACA8a,GAGA,IAAIxc,EAAyB,WAE7B,IAAK0B,EAED,OADA1B,EAASE,IACLsc,aAAA,EAAAA,EAAalb,UACN,CAAE2Y,IAAKuC,aAAW,EAAXA,EAAalb,SAAUmb,WAAYzc,GAE9C,CAAEia,IAAK/Y,GAAYlB,GAASyc,WAAYzc,GAE/CA,EAASU,GAAagB,EAAK9I,MAG/B,IAAM8jB,EAAoB5c,GAAO4B,EAAKhJ,MAEvB,SAAXsH,IACAA,EAASiB,GAAYyb,IAIrB1c,IAAWE,KACXF,EAASc,GAAkB4b,IAG/B,IAAMC,EAAYH,eAAAA,EAAcxc,GAChC,YAAkBmD,IAAdwZ,EACO,CAAE1C,IAAK0C,EAAWF,WAAYzc,GAGlC,CAAEia,IAAK/Y,GAAYlB,GAASyc,WAAYzc,EACnD,uCAM4C,SACxCtH,EACAE,EACA4jB,GAGA,IAAIxc,EAAyB,QAE7B,IAAKtH,EAED,OADAsH,EAASE,IACLsc,aAAA,EAAAA,EAAalb,UACN,CAAE2Y,IAAKuC,aAAW,EAAXA,EAAalb,SAAUmb,WAAYzc,GAC9C,CAAEia,IAAK/Y,GAAYlB,GAASyc,WAAYzc,GAE/CA,EAASU,GAAa9H,GAG1B,IAAM8jB,EAAoB5c,GAAOpH,GAElB,SAAXsH,IACAA,EAASiB,GAAYyb,IAIrB1c,IAAWE,KACXF,EAASc,GAAkB4b,IAE/B,IAAMC,EAAYH,eAAAA,EAAcxc,GAChC,YAAkBmD,IAAdwZ,EACO,CAAE1C,IAAK0C,EAAWF,WAAYzc,GAElC,CAAEia,IAAK/Y,GAAYlB,GAASyc,WAAYzc,EACnD,4KmB7Q2C,SACvCwB,GAEA,MAA6B,cAAzBA,EAAQM,cAERN,EAAQM,aAAe,YAEvB8C,GAAAA,GAAA,GACOpD,GAAO,CACVM,aAAc,eAGfN,CACX,oDQ/EmC,SAACA,EAAkBob,GAClD,QAASA,GAAsBA,GAAqBpb,EAAQvI,QAAoC,YAAzBuI,EAAQM,YACnF,2BCJgC,SAC5BhK,EACAI,EACAG,EACAwT,GAEA,OACE,MAAC/T,GACD,MAACI,GACD,MAACG,GACA,MAAAwT,CAEL,qKdTgC,SAAC7S,EAAciU,EAAiBC,GAE9D,MAD+B,CAAElU,QAASA,EAASiU,QAASA,EAASC,QAASA,EAElF,oEeUqC,SACjCxL,EACAzI,EACA6I,EACAD,QAFA,IAAA5I,IAAAA,EAASiS,KAAK2R,KAAqB,GAAhB3R,KAAKE,UAAiB,GAAM,GAK/C,IAAIxJ,EAA+B,GAC/Bkb,EAAiBhb,GCZa,WAElC,OADuBiJ,GAAa,EAAG,IAEnC,KAAK,EAAG,MAAO,QACf,KAAK,EAAG,MAAO,YACf,KAAK,EAAG,MAAO,UACf,QACI,OAEZ,CDGyCgS,GAEjCC,EAA0Cnb,GAAiB,GAC/D,GAAI5I,EAAO,CAEP,IAAK4I,EACD,OAAQib,GACJ,IAAK,QAASE,EAAsB,oCAAqC,MACzE,IAAK,UAAWA,EAAsB,+BAAgC,MACtE,QAASnb,OAAgBsB,EAGjCvB,OAASuB,CACZ,KAAM,CAEH,IAAM8Z,EAAkBlS,GAAa,EAAG,GACxCnJ,EAAOgJ,KAAK2B,GAAa0Q,IACzBH,OAAiB3Z,EACjB6Z,OAAsB7Z,CACzB,CAUD,MARkC,CAC9B1B,GAAIqJ,GAAgBxH,YACpBrK,MAAOA,EACPyI,KAAMA,EACNI,aAAcgb,EACdjb,cAAemb,EACfpb,OAAQA,EAGhB,uUNU+B,SAC3BY,GAGA,OAAO,IAAI2L,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WACPvY,EAAgBV,aAAe,YAC/BsM,WACO5L,GAAe,CAClBV,aAAc,cAErB,GAAE,KAEP,GACJ,+BJUoC,SAChCN,GAEA,OAAO,IAAI2M,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WACsB,cAAzBvZ,EAAQM,cAERN,EAAQM,aAAe,YAEvBsM,WACO5M,GAAO,CACVM,aAAc,gBAGlBsM,EAAQ5M,EACf,GAAE,KACP,GACJ,6FYdiC,SAACE,EAAmBwb,EAAuBC,GACxE,OAAO,IAAIhP,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAM+O,EAAS,IAAIC,WACnBD,EAAO3O,OAAS,WACZL,EAAQgP,EAAOpd,OACnB,EACAod,EAAOE,WAAa,WAChBJ,SAAAA,GACJ,EACAE,EAAOnB,QAAU,WACbkB,SAAAA,GACJ,EACAC,EAAOG,kBAAkB7b,EAC5B,CAAC,MAAOvI,GACLkV,OAAOlL,EACV,CACL,GACJ,6BA5CkC,SAACzB,EAAmBwb,EAAuBC,GACzE,OAAO,IAAIhP,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMmP,EAAS,IAAIH,WACnBG,EAAO/O,OAAS,WACZL,EAAQoP,EAAOxd,OACnB,EACAwd,EAAOF,WAAa,WAChBJ,SAAAA,GACJ,EACAM,EAAOvB,QAAU,WACbkB,SAAAA,GACJ,EACAK,EAAOC,mBAAmB/b,EAC7B,CAAC,MAAOvI,GACLkV,OAAOlL,EACV,CACL,GACJ,wBA5E6B,SAACzB,EAAmBwb,EAAuBC,GACpE,OAAO,IAAIhP,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMqP,EAAS,IAAIL,WACnBK,EAAOJ,WAAa,WAChBJ,SAAAA,GACJ,EACAQ,EAAOzB,QAAU,WACbkB,SAAAA,GACJ,EACAO,EAAOjP,OAAS,WACZL,EAAQsP,EAAO1d,OACnB,EACA0d,EAAOC,cAAcjc,EACxB,CAAC,MAAOvI,GACLkV,OAAOlL,EACV,CACL,GACJ,qBAY0B,SAACzB,EAAmBkc,EAAmBV,EAAuBC,GACpF,OAAO,IAAIhP,SAA4B,SAACC,EAASC,GAC7C,IACI,IAAMwP,EAAS,IAAIR,WACnBQ,EAAOpP,OAAS,WACZL,EAAQyP,EAAO7d,OACnB,EACA6d,EAAOP,WAAa,WAChBJ,SAAAA,GACJ,EACAW,EAAO5B,QAAU,WACbkB,SAAAA,GACJ,EACAU,EAAOC,WAAWpc,EAAMkc,GAAsB,SACjD,CAAC,MAAOzkB,GACLkV,OAAOlL,EACV,CACL,GACJ,+BC7CI4a,EACAC,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAc,UACd,IAAAC,IAAAA,EAAe,KAER,IAAI9P,SAAQ,SAACC,EAASC,GACzB,IACI,IAAIyN,EAAwB,IAAIC,MAChCD,EAAIE,IAAM+B,EACVjC,EAAIrN,OAAS,WACT,IAAIyP,EAA4BC,SAASC,cAAc,UACjDC,EAAoBL,EACpBM,EAAqBL,EACvB9B,EAAgBL,EAAIK,MACpBC,EAAiBN,EAAIM,OAErB4B,EAAW7B,GAAS8B,EAAY7B,EAChChO,EAAQ2P,GAEJ5B,EAAQC,EACJD,EAAQkC,IACRjC,GAAUiC,EAAYlC,EACtBA,EAAQkC,GAGRjC,EAASkC,IACTnC,GAASmC,EAAalC,EACtBA,EAASkC,GAGrBJ,EAAO/B,MAAQA,EACf+B,EAAO9B,OAASA,EAChB,IAAImC,EAAuCL,EAAOM,WAAW,MACzDD,GACAA,EAAIE,UAAU3C,EAAK,EAAG,EAAGK,EAAOC,GAChChO,EAAQ8P,EAAOQ,eAGc,gBAAzB5a,QAAQC,IAAIC,UACZC,QAAQ9K,MAAM,mDAElBkV,OAAOlL,GAEf,CACH,CAAC,MAAOhK,GACwB,gBAAzB2K,QAAQC,IAAIC,UACZC,QAAQ9K,MAAM,mDAElBkV,OAAOlL,EACV,CACL,GACJ,4CbiEkC,SAACwb,GAE/B,OAAOA,EAAWja,QAAO,SAAClC,SACtB,QAA0B,QAAzBoc,EAAApc,EAAgBP,iBAAS,IAAA2c,OAAA,EAAAA,EAAEnE,YAE3B9V,KAAI,SAACnC,GAOF,MANqC,YAAjCA,EAAgBV,cACZU,EAAgBX,gBAEpBW,EAAgBX,cAAgB,0BAG7BN,GAAgBgB,UAAUC,EACrC,GACR,wEAMmC,SAC/BA,EACAqc,GAEA,IAAMC,EAAuCtc,EAAgBV,aACvDid,EAAwCF,EAAW/c,aAKtC,cAAfgd,GACA,CAAC,eAAW3b,GAAW9H,SAAS0jB,IAEhCvc,EAAgBV,kBAAeqB,EAC/BX,EAAgBX,cAAgBgd,EAAWhd,eAG5B,cAAfid,GACA,CAAC,eAAW3b,GAAW9H,SAAS0jB,KAEhCvc,EAAgBV,aAAe,UAC/BU,EAAgBX,cAAgBgd,EAAWhd,cAInD,6BIjKkC,SAC9BL,GAGA,OAAO,IAAI2M,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WACP3M,WACO5M,GAAO,CACVM,aAAc,cAErB,GAAE,KAEP,GACJ,sDUb0B,SAACkd,EAAWC,QAAX,IAAAD,IAAAA,EAAS,SAAE,IAAAC,IAAAA,GAAY,GAC9C,IAAIC,EAAUF,EAQd,OAPIC,EACID,EAAKhc,QAAU,KACfkc,EAAUF,EAAKG,MAAM,EAAG,IAAM,MAAQH,EAAKG,OAAO,IAE/CH,EAAKhc,QAZiB,KAa7Bkc,EAAUF,EAAKG,MAAM,EAAG,IAAM,MAAQH,EAAKG,OAAO,IAE/CD,CACX,yBV2B8B,SAC1BE,GAGA,YAHA,IAAAA,IAAAA,EAA4B,KAGrB,IAAIjR,SAAQ,SAACC,EAASC,GAEzB0M,YAAW,WACP3M,GACH,GAAEgR,EAEP,GACJ,0BJuD+B,SAACC,GAE5B,YAF4B,IAAAA,IAAAA,EAAW,MAEhC,IAAIlR,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WACP3M,GAAQ,EACX,GAAEiR,EACP,GACJ,wHAlEuC,SACnCC,GAEA,OAAKA,EACEA,EAAY3a,KAAI,SAAAnD,GACnB,OAAAoD,GAAAA,GAAA,CAAA,EAAYpD,GAAS,CAAAQ,IAAK,IAAIsY,gBAClC,IAHyB,EAI7B,oEA7CoC,SAChC9Y,GAEA,MAAO,CACHC,GAAID,EAAQC,GACZuY,aAAYpV,GAAAA,GAAA,CAAA,EACLpD,GAAO,CACVK,cAAe,yCACfC,aAAc,UAElBK,eAAgB,CACZnJ,SAAS,EACTiU,QAAS,2DACTC,QAAS,CAAE,GAGvB,sCA5B2C,SAAC1L,GACxC,OACOoD,GAAAA,GAAA,CAAA,EAAApD,GACH,CAAAK,cAAe,mBACfC,aAAc,QACdK,eAAgB,CACZnJ,SAAS,EACTiU,QAAS,qCACTC,QAAS,CAAE,IAGvB,wBJkF6B,SACzB1L,EACAyY,EACAjM,EACAnB,EACAqN,GAAoB,OAAApL,QAAA,OAAA,OAAA,GAAA,uCAEpB,MAAA,CAAA,EAAO,IAAIX,SAAQ,SAAOC,EAASC,GAAM,OAAAS,QAAA,OAAA,OAAA,GAAA,8EAIjC,8BAFMyQ,EAAuC/d,EAAQQ,MAO/Cwd,EAAsBxR,GAAU,OAChCyR,EAAqBje,EAAQE,MAE7B+K,EAAW,IAAIiT,UAEZ/S,OAAOuN,GAAe,OAAQuF,GAGjCE,EAAc/a,GAAA,CACdgb,WAAY,sBAAuBC,OAAQ,CAAEC,QAAS,YAAaC,OAAQ,QAASC,IAAK,KAASxe,EAAQU,iBAEhH+d,GAAmBxT,EAAUkT,GAGzB9R,SACU,CAAA,EAAME,GAChBwR,EACAC,EACAvF,EACAxN,EACAI,GAAW,CAAE,MAxBbuB,EAAQd,GAAsB9L,IACvB,CAAA,kBAkBXqM,EAAc+Q,UAOE5lB,QAEZoV,EAAQR,GAA0BpM,EAASqM,IAG3CO,EAAQN,GAAwBtM,EAASqM,iCAK7CO,EACIN,GAAwBtM,EAAS6L,+BAG5C,GAAA,UACH,qBAKI,SACF3L,EACAuY,EACAjM,EACAkS,EACArT,GALJ,IAwBCsT,EAAA7d,KAjBG,OAAO,IAAI6L,SAAQ,SAAOC,EAASC,GAAM,OAAAS,GAAAqR,OAAA,OAAA,GAAA,uEAI/B1T,EAAW,IAAIiT,UAEZ/S,OAAOuT,GAAS,OAAQxe,oBAGU,6BAAA,CAAA,EAAMqM,GAAe,IAAIuM,eAAkBtM,EAAQiM,EAAKxN,EAAUI,kBAAnG1K,EAAiCyc,EAA0EwB,OACjHhS,EAAQjM,gCAIRiM,EAAQf,8BAEf,GAAA,GACL,8CQtJyB,SACrB7L,GAGA,OAAO,IAAI2M,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WACP3M,WACO5M,GAAO,CACVM,aAAc,YAErB,GAAE,IACP,GACJ,2BA6CgC,SAC5BU,GAGA,OAAO,IAAI2L,SAAQ,SAACC,EAASC,GACzB0M,YAAW,WACPvY,EAAgBV,aAAe,UAC/BsM,WACO5L,GAAe,CAClBV,aAAc,YAErB,GAAE,IACP,GACJ,mFdhCmC,SAC/Bwd,EACAlE,EACAiF,EACAxU,EACAxT,EACAijB,GAGA,IAAIgF,EAA4B,GAChC,IAAKlF,EAAiB,OAAOkF,EAK7B,IAJA,IAAIC,EAAoBnF,EAClBK,EACFrgB,EAA+BkgB,GAC7BK,EAAuCF,EAAyBhiB,aAC7DsJ,EAAI,EAAGA,EAAIuc,EAAYtc,OAAQD,IAAK,CACzC,IAAIyd,EAA0BlB,EAAYvc,GAK1C,IAHAyd,EAAiB5U,GAAgB4U,EAAgB3U,EAAWwU,EAAqB5E,IAG9DxiB,MAAO,CAEtB,IAAMA,EAAQsnB,EAAY,EAC1BC,EAAevnB,MAAQA,EAElBA,IACDunB,EAAe5e,OAAS4e,EAAe5e,OAClC+B,GAAAA,GAAA,GAAK6c,EAAe5e,YAAQ+Z,EAAsBtjB,GAAYujB,UAC7D,CAACD,EAAsBtjB,GAAYujB,OAE7C2E,GACH,CACDD,EAAe1V,KAAK4V,EAEvB,CACD,OAAOF,CACX"} \ No newline at end of file diff --git a/src/files-ui/core/localization/Chinese-simplified/localization.simplifiedChinese.d.ts b/src/files-ui/core/localization/Chinese-simplified/localization.simplifiedChinese.d.ts deleted file mode 100644 index 86e19f420e6f56579a8f6657bcbc89ecfd45f742..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/Chinese-simplified/localization.simplifiedChinese.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * English translation for Dropzone component - */ -export declare const DropzoneSimplifiedChinese: LocalLabels; -/** - * Chinnese translation for FileItem component - */ -export declare const FileItemSimplifiedChinese: LocalLabels; -/** - * English translation for Validation Errors - */ -export declare const ValidateErrorSimplifiedChinese: LocalLabels; diff --git a/src/files-ui/core/localization/Chinese-traditional/localization.traditionalChinese.d.ts b/src/files-ui/core/localization/Chinese-traditional/localization.traditionalChinese.d.ts deleted file mode 100644 index 49e8ee4193c869a9d2a618cc9d17b1bfa30359b2..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/Chinese-traditional/localization.traditionalChinese.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * English translation for Dropzone component - */ -export declare const DropzoneTraditionalChinese: LocalLabels; -/** - * Chinese translation for FileItem component - */ -export declare const FileItemTraditionalChinese: LocalLabels; -/** - * English translation for Validation Errors - */ -export declare const ValidateErrorTraditionalChinese: LocalLabels; diff --git a/src/files-ui/core/localization/English/localization.english.d.ts b/src/files-ui/core/localization/English/localization.english.d.ts deleted file mode 100644 index 85e31dbb3d3e59e248c6d76e11839a5e0e722ac6..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/English/localization.english.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * English translation for Dropzone component - */ -export declare const DropzoneEnglish: LocalLabels; -/** - * English translation for FileItem component - */ -export declare const FileItemEnglish: LocalLabels; -/** - * English translation for Validation Errors - */ -export declare const ValidateErrorEnglish: LocalLabels; diff --git a/src/files-ui/core/localization/FileItem.localization.d.ts b/src/files-ui/core/localization/FileItem.localization.d.ts deleted file mode 100644 index b1a9b14e0cab54d86df4b2b2e53de3337a434462..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/FileItem.localization.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ComponentLocalizer, LocalLabels, Localization } from "../types"; -export declare const FileItemLocalizer: ComponentLocalizer; -/** - * Secure translation through a selector - * @param local the Localization - * @returns a ComponentLocalizer object that contains the translation - */ -export declare const FileItemLocalizerSelector: (local?: Localization) => LocalLabels; diff --git a/src/files-ui/core/localization/French/localization.french.d.ts b/src/files-ui/core/localization/French/localization.french.d.ts deleted file mode 100644 index ebdaf57c4754f3671c78af189094b42943c40d5a..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/French/localization.french.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * French translation for Dropzone component - */ -export declare const DropzoneFrench: LocalLabels; -/** - * French translation for FileItem component - */ -export declare const FileItemFrench: LocalLabels; -/** - * French translation for Validation Errors - */ -export declare const ValidateErrorFrench: LocalLabels; diff --git a/src/files-ui/core/localization/Italian/localization.italian.d.ts b/src/files-ui/core/localization/Italian/localization.italian.d.ts deleted file mode 100644 index 5ee58b5fffa3dd25046f9217b431bdd74ab45573..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/Italian/localization.italian.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * Italian translation for Dropzone component - */ -export declare const DropzoneItalian: LocalLabels; -/** - * Italian translation for FileItem component - */ -export declare const FileItemItalian: LocalLabels; -/** - * Italian translation for Validation Errors - */ -export declare const ValidateErrorItalian: LocalLabels; diff --git a/src/files-ui/core/localization/Portuguese/localization.portuguese.d.ts b/src/files-ui/core/localization/Portuguese/localization.portuguese.d.ts deleted file mode 100644 index bafe87d9b82c69b656898b215fef2cabd9ae07b2..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/Portuguese/localization.portuguese.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * Portuguese translation for Dropzone - */ -export declare const DropzonePortuguese: LocalLabels; -/** - * Portuguese translation for FileItem component - */ -export declare const FileItemPortuguese: LocalLabels; -/** - * Portuguese translation for Validation Errors - */ -export declare const ValidateErrorPortuguese: LocalLabels; diff --git a/src/files-ui/core/localization/Russian/localization.russian.d.ts b/src/files-ui/core/localization/Russian/localization.russian.d.ts deleted file mode 100644 index 3e68a80398807e5e87d84121a845e3a7bae3fcfa..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/Russian/localization.russian.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * Russian translation for Dropzone component - */ -export declare const DropzoneRussian: LocalLabels; -/** - * Russian translation for FileItem component - * - */ -export declare const FileItemRussian: LocalLabels; -/** - * Russian translation for Validation Errors - */ -export declare const ValidateErrorRussian: LocalLabels; diff --git a/src/files-ui/core/localization/Spanish/localization.spanish.d.ts b/src/files-ui/core/localization/Spanish/localization.spanish.d.ts deleted file mode 100644 index 75c9376b42a72da3543d6007895c413c4452c893..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/Spanish/localization.spanish.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LocalLabels } from "../../types"; -/** - * Spanish translation for Dropzone component - */ -export declare const DropzoneSpanish: LocalLabels; -/** - * Spanish translation for FileItem component - */ -export declare const FileItemSpanish: LocalLabels; -/** - * Spanish translation for Validation Errors - */ -export declare const ValidateErrorSpanish: LocalLabels; diff --git a/src/files-ui/core/localization/avatar.localization.d.ts b/src/files-ui/core/localization/avatar.localization.d.ts deleted file mode 100644 index 3130a0af65f1493c4b5eb56212fb0e240aef7c55..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/avatar.localization.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ComponentLocalizer, LocalLabels, Localization } from "../types"; -/** - * TO-DO: Add Avatar localization in next release, inthe meanwhile it accepts custom labels - */ -export declare const AvatarLocalizer: ComponentLocalizer; -/** - * Secure translation through a selector - * @param local the Localization - * @returns a ComponentLocalizer object that contains the translation - */ -export declare const AvatarLocalizerSelector: (local?: Localization) => LocalLabels; diff --git a/src/files-ui/core/localization/dropzone.localization.d.ts b/src/files-ui/core/localization/dropzone.localization.d.ts deleted file mode 100644 index cdd108202b7b189d719474862e39ef338617de3f..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/dropzone.localization.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ComponentLocalizer, Localization, LocalLabels } from "../types"; -export declare const DropzoneLocalizer: ComponentLocalizer; -/** - * Secure translation through a selector - * @param local the Localization - * @returns a ComponentLocalizer object that contains the translation - */ -export declare const DropzoneLocalizerSelector: (local: Localization | undefined) => LocalLabels; diff --git a/src/files-ui/core/localization/index.d.ts b/src/files-ui/core/localization/index.d.ts deleted file mode 100644 index 440cac806b6c6a2f3df22e82dbc136b5733e6210..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { FileItemItalian, DropzoneItalian, ValidateErrorItalian } from "./Italian/localization.italian"; -import { FileItemFrench, DropzoneFrench, ValidateErrorFrench } from "./French/localization.french"; -import { FileItemEnglish, DropzoneEnglish, ValidateErrorEnglish } from "./English/localization.english"; -import { FileItemSpanish, DropzoneSpanish, ValidateErrorSpanish } from "./Spanish/localization.spanish"; -import { FileItemRussian, DropzoneRussian, ValidateErrorRussian } from "./Russian/localization.russian"; -import { FileItemPortuguese, DropzonePortuguese, ValidateErrorPortuguese } from "./Portuguese/localization.portuguese"; -import { FileItemSimplifiedChinese, DropzoneSimplifiedChinese, ValidateErrorSimplifiedChinese } from "./Chinese-simplified/localization.simplifiedChinese"; -import { FileItemTraditionalChinese, DropzoneTraditionalChinese, ValidateErrorTraditionalChinese } from "./Chinese-traditional/localization.traditionalChinese"; -import { FileItemLocalizerSelector, FileItemLocalizer } from "./FileItem.localization"; -import { DropzoneLocalizerSelector, DropzoneLocalizer } from "./dropzone.localization"; -import { ValidateErrorLocalizer, ValidateErrorLocalizerSelector } from "./validationError.localization"; -export { ValidateErrorLocalizerSelector, ValidateErrorLocalizer, ValidateErrorItalian, ValidateErrorFrench, ValidateErrorEnglish, ValidateErrorSpanish, ValidateErrorPortuguese, ValidateErrorRussian, ValidateErrorSimplifiedChinese, ValidateErrorTraditionalChinese }; -export { DropzoneLocalizerSelector, DropzoneLocalizer, DropzoneItalian, DropzoneFrench, DropzoneEnglish, DropzoneSpanish, DropzonePortuguese, DropzoneRussian, DropzoneSimplifiedChinese, DropzoneTraditionalChinese }; -export { FileItemLocalizerSelector, FileItemLocalizer, FileItemItalian, FileItemFrench, FileItemEnglish, FileItemSpanish, FileItemPortuguese, FileItemRussian, FileItemSimplifiedChinese, FileItemTraditionalChinese }; diff --git a/src/files-ui/core/localization/validationError.localization.d.ts b/src/files-ui/core/localization/validationError.localization.d.ts deleted file mode 100644 index 8284ffa71442cabf312e1d0318fdadb4d8654f67..0000000000000000000000000000000000000000 --- a/src/files-ui/core/localization/validationError.localization.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ComponentLocalizer, LocalLabels, Localization } from "./../types"; -export declare const ValidateErrorLocalizer: ComponentLocalizer; -/** - * Secure translation through a selector - * @param local the Localization - * @returns a ComponentLocalizer object that contains the translation - */ -export declare const ValidateErrorLocalizerSelector: (local: Localization | undefined) => LocalLabels; diff --git a/src/files-ui/core/mime/icons.d.ts b/src/files-ui/core/mime/icons.d.ts deleted file mode 100644 index a36bfb9d99fda56ee23082e5b010e44c8f6d133b..0000000000000000000000000000000000000000 --- a/src/files-ui/core/mime/icons.d.ts +++ /dev/null @@ -1,89 +0,0 @@ -export declare const sevenzip = "https://user-images.githubusercontent.com/43678736/132086517-72a51a12-e403-4675-bfd7-22c23affa730.png"; -export declare const aac = "https://user-images.githubusercontent.com/43678736/132086518-7026d4f1-ea16-4ed0-89fd-37c1aa8ac3ed.png"; -export declare const abw = "https://user-images.githubusercontent.com/43678736/132086519-863c63b4-917e-4471-94ff-7e15651cc14b.png"; -export declare const accdb = "https://user-images.githubusercontent.com/43678736/132086520-9bc6aa3b-51c9-4da2-9ef7-349162b86d0b.png"; -export declare const avi = "https://user-images.githubusercontent.com/43678736/132086521-dbd6cf0d-d4d7-4b92-bb26-17e8a51a9383.png"; -export declare const azw = "https://user-images.githubusercontent.com/43678736/132086522-070f48e8-78a8-4294-8dbb-aab81525e164.png"; -export declare const bmp = "https://user-images.githubusercontent.com/43678736/132086595-90ab7f90-f87e-4900-94d9-d0b26745df48.png"; -export declare const bz = "https://user-images.githubusercontent.com/43678736/132086597-e285ad5c-613a-4679-a270-493e5be4ffd9.png"; -export declare const bz2 = "https://user-images.githubusercontent.com/43678736/132086598-623c410a-084a-4395-a448-211b2ff61cfe.png"; -export declare const c = "https://user-images.githubusercontent.com/43678736/132086599-7a5cd692-b4df-45f5-80d9-384cb3e0c314.png"; -export declare const cda = "https://user-images.githubusercontent.com/43678736/132086600-8b70a007-512d-4252-9c66-eabd3ddd6573.png"; -export declare const csh = "https://user-images.githubusercontent.com/43678736/132086601-e62e5d1a-d8a2-4475-a14f-85922cec9272.png"; -export declare const css = "https://user-images.githubusercontent.com/43678736/132086602-4c772934-f608-4f01-8459-c4622cee8ad5.png"; -export declare const csv = "https://user-images.githubusercontent.com/43678736/132086604-b5b019fe-572e-477e-92c2-3769a48a1304.png"; -export declare const docx = "https://user-images.githubusercontent.com/43678736/132086606-715ccb66-4702-4f7d-9b09-ac93ba17b643.png"; -export declare const docx2 = "https://user-images.githubusercontent.com/43678736/132086607-a246b386-52c9-4fe1-a7e4-204894e6722d.png"; -export declare const drawio = "https://user-images.githubusercontent.com/43678736/132086608-bcae9d57-8e54-488c-90c4-4952ae530b5e.png"; -export declare const dw = "https://user-images.githubusercontent.com/43678736/132086616-0c7842d6-d20e-4ede-988b-3dd063a4de8d.png"; -export declare const eml = "https://user-images.githubusercontent.com/43678736/132086617-1e351075-ffaf-4b81-a1fe-0b7b338772a2.png"; -export declare const eot = "https://user-images.githubusercontent.com/43678736/132086618-397d6bd2-9fda-43ed-a135-cb40388c35af.png"; -export declare const eps = "https://user-images.githubusercontent.com/43678736/132086619-9daf0b61-dbb0-4d47-8a12-9fba13b88856.png"; -export declare const epub = "https://user-images.githubusercontent.com/43678736/132086620-2586ba40-c583-4589-b1a4-8bb5b258b44d.png"; -export declare const freearc = "https://user-images.githubusercontent.com/43678736/132086621-3b95fb64-2533-4ccc-abcd-bd2beba572e9.png"; -export declare const gif = "https://user-images.githubusercontent.com/43678736/132086622-af705a0c-2b25-4ba7-8ab6-bd69ec97f7e2.png"; -export declare const gzip = "https://user-images.githubusercontent.com/43678736/132086624-89141a46-64e4-4fa0-bf69-54a0eb4d48c9.png"; -export declare const html = "https://user-images.githubusercontent.com/43678736/132086625-1b8f2652-1de0-4475-8c12-7da4a9973ffb.png"; -export declare const icalendar = "https://user-images.githubusercontent.com/43678736/132086626-38699705-1e6f-4bca-984b-03167b236faa.png"; -export declare const ind = "https://user-images.githubusercontent.com/43678736/132086627-2f24067a-00bc-424a-af36-349a9ba14b6c.png"; -export declare const ini = "https://user-images.githubusercontent.com/43678736/132086649-20c9c9e6-8e63-4d87-9b8e-8fe8eba12ada.png"; -export declare const java = "https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png"; -export declare const jar = "https://user-images.githubusercontent.com/43678736/132086650-f1166246-b361-4c30-a04e-9781c555d14a.png"; -export declare const javascript = "https://user-images.githubusercontent.com/43678736/132086652-4562942e-aaea-466c-968f-380fffabf3f9.png"; -export declare const jpeg = "https://user-images.githubusercontent.com/43678736/132086653-0487e7e2-1ee3-49e2-8cfe-3e20f1f7490a.png"; -export declare const jsf = "https://user-images.githubusercontent.com/43678736/132086654-c510bd8f-8de7-4afe-8c20-cc810b004b07.png"; -export declare const json = "https://user-images.githubusercontent.com/43678736/132086656-6e96c815-e4e2-4ffd-9d71-57e9cc2450bc.png"; -export declare const jsonld = "https://user-images.githubusercontent.com/43678736/132086658-5d27d3c2-394f-43fb-b512-9b414a257875.png"; -export declare const midi = "https://user-images.githubusercontent.com/43678736/132086659-98f3ef6e-b9f3-4b6d-b18f-469b5334ba27.png"; -export declare const mov = "https://user-images.githubusercontent.com/43678736/132086660-adcecedd-56b4-4286-8b0f-69417f77e961.png"; -export declare const mp3 = "https://user-images.githubusercontent.com/43678736/132086661-a5484553-06c7-4ffa-a8f9-96b57b1b0344.png"; -export declare const mp4 = "https://user-images.githubusercontent.com/43678736/132086662-05ad1597-d5e5-4efa-833e-2876e966a745.png"; -export declare const mpeg = "https://user-images.githubusercontent.com/43678736/132086663-90c58955-f7fb-4bdb-ac53-92667d16d4a3.png"; -export declare const mpkg = "https://user-images.githubusercontent.com/43678736/132086664-9a7530e7-6d78-4ef3-a176-20cf7f57b555.png"; -export declare const octet = "https://user-images.githubusercontent.com/43678736/132086666-ab3c505d-b2c0-4177-9a06-aed5d9c39ee4.png"; -export declare const odp = "https://user-images.githubusercontent.com/43678736/132086667-6c7dcbcc-8d83-41a2-8e0a-85b09e2791ae.png"; -export declare const ods = "https://user-images.githubusercontent.com/43678736/132086668-9f246e91-cf2e-49cf-9617-e1fbb71abbbb.png"; -export declare const odt = "https://user-images.githubusercontent.com/43678736/132086669-46113762-84d1-4b32-9441-b0138ce17a5d.png"; -export declare const oga = "https://user-images.githubusercontent.com/43678736/145835364-2054509d-3448-4d34-921f-73dd6e297fc7.png"; -export declare const ogv = "https://user-images.githubusercontent.com/43678736/145835367-19172bf8-cd5a-4cbe-b512-d0de1d91f269.png"; -export declare const ogx = "https://user-images.githubusercontent.com/43678736/145835373-a57ef0f5-3968-483b-9f55-6d67e7f1dcea.png"; -export declare const opus = "https://user-images.githubusercontent.com/43678736/132086670-0f96e770-cedc-4635-a5f9-cf97894c1d7a.png"; -export declare const otf = "https://user-images.githubusercontent.com/43678736/132086671-02ad35ef-ec3a-4a65-abd5-5bf794dfcf7b.png"; -export declare const pdf = "https://user-images.githubusercontent.com/43678736/132086672-3a856fda-823d-4997-b802-c7c640e6ef44.png"; -export declare const php = "https://user-images.githubusercontent.com/43678736/132086673-0c4409ab-754e-4619-8cfa-179d0ccf1bd9.png"; -export declare const png = "https://user-images.githubusercontent.com/43678736/132086674-fdb56d02-5845-49b7-8462-6357bc963464.png"; -export declare const pptx = "https://user-images.githubusercontent.com/43678736/132086675-c879645d-acb4-41a6-ab3c-4e6c2048badb.png"; -export declare const pptx2 = "https://user-images.githubusercontent.com/43678736/132086676-6de1bbd7-764f-4197-9aa4-405a60ce6734.png"; -export declare const proj = "https://user-images.githubusercontent.com/43678736/132086683-3dc0a8b8-72f8-4fa1-a08a-fcfd75b465e1.png"; -export declare const psd = "https://user-images.githubusercontent.com/43678736/132086685-4e327c4c-a409-4b83-b36a-8d88936b314b.png"; -export declare const pst = "https://user-images.githubusercontent.com/43678736/132086686-3888e43a-5abf-41f7-9940-4b86e436521f.png"; -export declare const publisher = "https://user-images.githubusercontent.com/43678736/132086687-d92b56ff-f7f7-4be7-bbf4-47b8a33f4c6f.png"; -export declare const python = "https://user-images.githubusercontent.com/43678736/132086688-8e82fae4-3a9b-49c0-bf99-77189525514c.png"; -export declare const tar = "https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png"; -export declare const rar = "https://user-images.githubusercontent.com/43678736/132086689-fe1fef9f-d2db-455b-8f4b-09acd095f571.png"; -export declare const react = "https://user-images.githubusercontent.com/43678736/132086691-d472576b-ec6a-4332-acd2-dd6a00b72952.png"; -export declare const richtextformat = "https://user-images.githubusercontent.com/43678736/132086692-df6e3518-2e6a-4553-883d-e21694980449.png"; -export declare const rtf = "https://user-images.githubusercontent.com/43678736/132086693-9d43571e-0c86-438f-b247-e2cb42e19e06.png"; -export declare const sass = "https://user-images.githubusercontent.com/43678736/132086694-4e661d6a-1118-441e-8bc3-c52fcb2133b6.png"; -export declare const settings = "https://user-images.githubusercontent.com/43678736/132086696-0dd21f83-b9fc-490c-9ed5-bd88151dc9bb.png"; -export declare const sh = "https://user-images.githubusercontent.com/43678736/132086697-1d82d724-35b6-4f06-847a-3c59a5deda6e.png"; -export declare const swf = "https://user-images.githubusercontent.com/43678736/132086698-19384230-dbd7-4e05-bc69-ef4537b6aae3.png"; -export declare const text = "https://user-images.githubusercontent.com/43678736/132086699-5993a482-04f4-4915-b105-9037f527cf61.png"; -export declare const tiff = "https://user-images.githubusercontent.com/43678736/132086700-c23461c8-6819-46e1-aecd-0a1f8d3507bb.png"; -export declare const ttf = "https://user-images.githubusercontent.com/43678736/132086701-c8044c09-8d95-4af1-9410-66761001d7da.png"; -export declare const typescript = "https://user-images.githubusercontent.com/43678736/132086702-59294337-ed99-4302-badd-316b2c1ff62f.png"; -export declare const url = "https://user-images.githubusercontent.com/43678736/132086703-86d97476-b76e-4949-b89a-31ecb03f3b6e.png"; -export declare const vsd = "https://user-images.githubusercontent.com/43678736/132086704-8fd51e7c-afa2-47a3-ab2f-d0bcd0ecae9f.png"; -export declare const vue = "https://user-images.githubusercontent.com/43678736/132086705-33294da1-5c0f-49f7-b890-e4857cec0a6d.png"; -export declare const wav = "https://user-images.githubusercontent.com/43678736/132086706-22f805d0-39d4-494b-824e-47dc75d05eb7.png"; -export declare const webm = "https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png"; -export declare const weba = "https://user-images.githubusercontent.com/43678736/132086707-e61a84de-d396-4dbf-8d1b-1d6ee19e1ac8.png"; -export declare const webp = "https://user-images.githubusercontent.com/43678736/132086708-21d096dd-7148-40aa-97f1-cbb099339740.png"; -export declare const wma = "https://user-images.githubusercontent.com/43678736/132086709-811d4e90-3cfa-4044-a956-aeda9c67fc92.png"; -export declare const wmv = "https://user-images.githubusercontent.com/43678736/132086710-c5479c6c-0249-4542-adad-48b0ef40b775.png"; -export declare const woff = "https://user-images.githubusercontent.com/43678736/132086711-1524a3e7-3e33-4822-a34f-ff3235404045.png"; -export declare const xlsx = "https://user-images.githubusercontent.com/43678736/132086712-17e2c491-f6e4-4586-aef6-06bcc5f4b0e5.png"; -export declare const xlsx2 = "https://user-images.githubusercontent.com/43678736/132086714-7ddf285d-2b83-4115-80a5-f02f510300a1.png"; -export declare const xml = "https://user-images.githubusercontent.com/43678736/132086715-204b5a8b-9c5a-4bac-8294-9237ebc16089.png"; -export declare const xul = "https://user-images.githubusercontent.com/43678736/132086716-64511d20-58cb-45a8-85df-f4d9408b469d.png"; -export declare const zip = "https://user-images.githubusercontent.com/43678736/132086718-a8499333-6282-4820-aa1f-4d133eb54648.png"; diff --git a/src/files-ui/core/mime/index.d.ts b/src/files-ui/core/mime/index.d.ts deleted file mode 100644 index 3549a7ae81ae96af525757254b4ea309acaceb5c..0000000000000000000000000000000000000000 --- a/src/files-ui/core/mime/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { aac, abw, accdb, avi, azw, bmp, bz, bz2, cda, csh, css, csv, docx, drawio, eot, epub, freearc, gif, gzip, html, icalendar, jar, java, javascript, jpeg, json, jsonld, midi, mp3, mp4, mpeg, mpkg, octet, odp, ods, odt, oga, ogv, ogx, opus, otf, pdf, php, png, pptx, psd, python, rar, react, rtf, sass, sevenzip, sh, swf, tar, text, tiff, ttf, typescript, vsd, vue, wav, weba, webm, webp, wma, wmv, woff, xlsx, xml, xul, zip } from "./icons"; -export { aac, abw, accdb, avi, azw, bmp, bz, bz2, cda, csh, css, csv, docx, drawio, eot, epub, freearc, gif, gzip, html, icalendar, jar, java, javascript, jpeg, json, jsonld, midi, mp3, mp4, mpeg, mpkg, octet, odp, ods, odt, oga, ogv, ogx, opus, otf, pdf, php, png, pptx, psd, python, rar, react, rtf, sass, sevenzip, sh, swf, tar, text, tiff, ttf, typescript, vsd, vue, wav, weba, webm, webp, wma, wmv, woff, xlsx, xml, xul, zip }; -export { applicationSelector, audioSelector, checkIsCode, extensionSelector, fontSelector, getURLFileIco, imageSelector, mimeSelector, textSelector, videoSelector, getURLFileIcoFromNameAndType, } from "./mime"; diff --git a/src/files-ui/core/mime/mime.d.ts b/src/files-ui/core/mime/mime.d.ts deleted file mode 100644 index 3b88f13dfee1d8a1d0f4bfe4d511f49ed005bf30..0000000000000000000000000000000000000000 --- a/src/files-ui/core/mime/mime.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { IconsMap } from "../types"; -/** - * - * @param tailMime - * @returns - */ -export declare const audioSelector: (tailMime: string) => keyof IconsMap; -export declare const textSelector: (tailMime: string) => keyof IconsMap; -export declare const imageSelector: (tailMime: string) => keyof IconsMap; -export declare const fontSelector: (tailMime: string) => keyof IconsMap; -export declare const videoSelector: (tailMime: string) => keyof IconsMap; -/** - * - * @param tailMime - * @returns - */ -export declare const applicationSelector: (tailMime: string) => keyof IconsMap; -/** - * Selects to wich mime type the mime type given belongs to - * @param mimeType mime type to be searched - * @returns the generic type, -if not found it return "octet" that means generic binary file - */ -export declare const mimeSelector: (mimeType?: string) => keyof IconsMap; -/** - * Selects to wich mapped extension - * the given exension belongs to - * - * @param extension - * @returns - */ -export declare const extensionSelector: (extension?: string) => keyof IconsMap; -/** - * Chack for extention whether the file is code os not - * @param extension - * @returns - */ -export declare const checkIsCode: (extension?: string) => keyof IconsMap; -/** - * Looks for a suitable file icon - * If not found, returns octet-stream url - * @param props mime and extension from file to search - * @returns the result file ico - */ -export declare const getURLFileIco: (file: File | undefined, customIcons: IconsMap | undefined) => ResultFileIco; -/** - * Looks for a suitable file icon - * @param props mime and extension from file to search - * @returns the result file ico, if not found, turns octet-stream url - */ -export declare const getURLFileIcoFromNameAndType: (name: string | undefined, type: string | undefined, customIcons: IconsMap | undefined) => ResultFileIco; -interface ResultFileIco { - url: string; - mimeResume: keyof IconsMap; -} -export {}; diff --git a/src/files-ui/core/mocks/extFileMock.d.ts b/src/files-ui/core/mocks/extFileMock.d.ts deleted file mode 100644 index 14469566d5c176ad00ca63b82097d0b7536e5d0a..0000000000000000000000000000000000000000 --- a/src/files-ui/core/mocks/extFileMock.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { ExtFile } from "../types"; -export declare const extFileMock: (id?: number) => ExtFile; diff --git a/src/files-ui/core/mocks/index.d.ts b/src/files-ui/core/mocks/index.d.ts deleted file mode 100644 index eb8f2d891af962dcc1a06e5a0aca76b108a5fd09..0000000000000000000000000000000000000000 --- a/src/files-ui/core/mocks/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { extFileMock } from "./extFileMock"; diff --git a/src/files-ui/core/reader/imageOrientation.d.ts b/src/files-ui/core/reader/imageOrientation.d.ts deleted file mode 100644 index 55b3c8cfcca0af50364fe1702bba3ca8347c58ee..0000000000000000000000000000000000000000 --- a/src/files-ui/core/reader/imageOrientation.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Resize an image resolution given maxWidth and maxHeight - * - * Should be called with await - * @param base64Str a string representation of an imae file - * @param maxWidth the max width of he image - * @param maxHeight the max height of he image - * @returns the resized image - */ -export declare function getImageOrientation(imageSource: string | undefined): Promise<"landscape" | "portrait">; diff --git a/src/files-ui/core/reader/index.d.ts b/src/files-ui/core/reader/index.d.ts deleted file mode 100644 index f51527a5d750760a62135ce2e9e956602a8dd017..0000000000000000000000000000000000000000 --- a/src/files-ui/core/reader/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { readAsArrayBuffer, readAsBinaryString, readAsDataURL, readAsText } from "./readers"; -export { resizeImage } from "./resizeImage"; -export { getImageOrientation } from "./imageOrientation"; diff --git a/src/files-ui/core/reader/readers.d.ts b/src/files-ui/core/reader/readers.d.ts deleted file mode 100644 index 4e65f594b27457fbd7ae48b6bbf8cb86f0340521..0000000000000000000000000000000000000000 --- a/src/files-ui/core/reader/readers.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Reads an image (or other type) file as data URL in a promise way, - * so you can use await. - * It will return a string that contains the URL representation - * @param file File or Blob object - * @returns data URL of the file - */ -export declare const readAsDataURL: (file: File | Blob, onProgress?: Function, onError?: Function) => Promise<string | undefined>; -/** - * Reads a file as Text in a promise way, so you can use await. - * If other kind of file is sent, this function will read it anyway - * and will return a string that contains the URL representation - * @param file File or Blob object - * @param encoding The type of encoding such as "base64" - * @returns data text of the file - */ -export declare const readAsText: (file: File | Blob, encoding?: string, onProgress?: Function, onError?: Function) => Promise<string | undefined>; -/** - * Reads a file and return the raw binary data from the file. - * @param file File or Blob object - * @param encoding The type of encoding such as "base64" - * @returns raw binary data of the file - */ -export declare const readAsBinaryString: (file: File | Blob, onProgress?: Function, onError?: Function) => Promise<string | undefined>; -/** - * Reads a file and returns an ArrayBuffer representing the file's data - * @param file File or blob object - * @param encoding The type of encoding such as "base64" - * @returns ArrayBuffer representation of the file - */ -export declare const readAsArrayBuffer: (file: File | Blob, onProgress?: Function, onError?: Function) => Promise<string | undefined>; diff --git a/src/files-ui/core/reader/resizeImage.d.ts b/src/files-ui/core/reader/resizeImage.d.ts deleted file mode 100644 index 3ac433add532bda7aa715dfad084ccee4be74149..0000000000000000000000000000000000000000 --- a/src/files-ui/core/reader/resizeImage.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Resize an image resolution given maxWidth and maxHeight - * - * Should be called with await - * @param base64Str a string representation of an imae file - * @param maxWidth the max width of he image - * @param maxHeight the max height of he image - * @returns the resized image - */ -export declare function resizeImage(base64Str: string, maxWidth?: number, maxHeight?: number): Promise<string | undefined>; diff --git a/src/files-ui/core/synthetic-file/SyntheticFile.d.ts b/src/files-ui/core/synthetic-file/SyntheticFile.d.ts deleted file mode 100644 index 43cb064eb52ed857742cd3ced23f22af1f300e34..0000000000000000000000000000000000000000 --- a/src/files-ui/core/synthetic-file/SyntheticFile.d.ts +++ /dev/null @@ -1,551 +0,0 @@ -/** - * A syntetic file creator. - * Very useful for tests - */ -export declare abstract class SyntheticFile { - /** - * - * @param name the file name - * @param size the file size - * @param type the file type - * @returns - */ - static createFile: (name: string, size: number, type: string) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_aac: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_abw: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_freearc: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_avi: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_azw: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_octet: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_bmp: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_bz: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_bz2: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_cda: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_csh: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_css: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_csv: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_doc: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_docx: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_eot: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_epub: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_gzip: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_gif: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_htm: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_html: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ico: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_icalendar: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_jar: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_jpeg: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_jpg: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_js: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_json: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_jsonld: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_mid: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_x_mid: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_midi: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_x_midi: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_mjs: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_mp3: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_mp4: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_mpeg: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_mpkg: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_odp: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ods: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_odt: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_oga: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ogv: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ogx: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_opus: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_otf: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_png: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_pdf: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_php: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ppt: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_pptx: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_rar: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_rtf: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_sh: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_svg: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_swf: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_tar: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_tif: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_tiff: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ts: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_ttf: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_text: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_typescript: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_vsd: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_wav: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_weba: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_webm: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_webp: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_woff: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_woff2: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_xhtml: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_xlsx: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_xls: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_xml: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_xml_txt: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_xul: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_zip: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_3gp: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_3gp2: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_3gp_a: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_3gp_v: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_7z: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_python: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_java: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_react: (size?: number) => File; - /** - * - * @param size the file size - * @returns a syntetic File object instance - */ - static create_vue: (size?: number) => File; - /** - * Creates an array of fake (synthetic) files - * @param size the file size for all synthetic files - * @returns an array of all file icon preview supported files - */ - static createFileListMiscelanious: (size?: number) => File[]; -} -/** - * Create a list of synthetic files with different mime types - * @param size the file size for each synthetic file - * @returns a list of synthetic file - */ -export declare const createListOfMultiTypeFile: (size?: number) => File[]; -/** - * Creates a synthetic file. - * By default, creates a png image file - * @param name the file name to show. By default is set to "png-image-file-with-large-name.png" - * @param size the size in bytes of the file. By default this value is set to 455555 - * @param type the mime type of the file. By default is set to "image/png" - * @returns - */ -export declare const createSyntheticFile: (name?: string, size?: number, type?: string) => File; diff --git a/src/files-ui/core/synthetic-file/index.d.ts b/src/files-ui/core/synthetic-file/index.d.ts deleted file mode 100644 index 185ff18df6d032b3123c3f5cd361840e2f1bf7c6..0000000000000000000000000000000000000000 --- a/src/files-ui/core/synthetic-file/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { SyntheticFile, createListOfMultiTypeFile, createSyntheticFile } from "./SyntheticFile"; -export { makeSyntheticExtFile } from "./syntheticfileGenerator"; diff --git a/src/files-ui/core/synthetic-file/syntheticfileGenerator.d.ts b/src/files-ui/core/synthetic-file/syntheticfileGenerator.d.ts deleted file mode 100644 index 5479f50f7f4058bac469cc8a5022c49ed3734eea..0000000000000000000000000000000000000000 --- a/src/files-ui/core/synthetic-file/syntheticfileGenerator.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ExtFile, UPLOADSTATUS } from "../types"; -/** - * Make a validated file that is ready to be used on FileItem component, - * if valid is not set, a random operation will decide whether the file is valid or not - * If valid is false, then the natural order is not to be uploadable and wont have upload message nor upload status - * If valid is true, then file can be uploaded and can have upload message if the status is succes or error - * @param file The file - * @param valid true if it is a valid file, otherwise is false - * @param uploadStatus the current upload status. If not given a random upload status will be set - * @param uploadMessage the upload message after uploading - * @returns a Vaidated File object - */ -export declare const makeSyntheticExtFile: (file?: File, valid?: boolean, uploadStatus?: UPLOADSTATUS, uploadMessage?: string) => ExtFile; diff --git a/src/files-ui/core/types/ExtFile.d.ts b/src/files-ui/core/types/ExtFile.d.ts deleted file mode 100644 index 6d2dcc5a15dc27a61313d9779e20c426feb1598f..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/ExtFile.d.ts +++ /dev/null @@ -1,172 +0,0 @@ -import { UPLOADSTATUS, ServerResponse } from "../types"; -/** - * ExtFile === "Extended File". - * This object "extends" the File Object - */ -export declare type ExtFile = { - /** - * An identifier for the extFile - */ - id?: number | string | undefined; - /** - * The file object. Used mostly when user selects or drops files in the client sid. - */ - file?: File; - /** - * The name of the file. Used mostly for displaying file data from server. - */ - name?: string; - /** - * The type of the file. Used mostly for displaying file data from server. - */ - type?: string; - /** - * The size of the file. Used mostly for displaying file data from server. - */ - size?: number; - /** - * a flag that determines whether the file is valid, not valid or it is not validated. - */ - valid?: boolean; - /** - * The list of errors when the file was validated - */ - errors?: string[]; - /** - * The current upload status. (e.g. "uploading") - */ - uploadStatus?: UPLOADSTATUS | undefined; - /** - * A message that shows the result of the upload process - */ - uploadMessage?: string; - /** - * Link, URI or string representation of an image - */ - imageUrl?: string; - /** - * The XMLHttpRequest object for performing uploads to a server - */ - xhr?: XMLHttpRequest; - /** - * The current percentage of upload progress. - * This value will have a higher priority over the upload progress value calculated inside the component. - * @default undefined - */ - progress?: number; - /** - * The additional data that will be sent to the server - * when files are uploaded individually - */ - extraUploadData?: Record<string, any>; - /** - * Any kind of extra data that could be needed. - */ - extraData?: Object; - /** - * The upload response from server - */ - serverResponse?: ServerResponse; - /** - * The url to be used to perform a GET request in order to download the - file. If defined, the download icon will be shown. - */ - downloadUrl?: string; - /** - * Link, URI, FIle object or string representation of a video - */ - videoUrl?: string; -}; -/** - * A class definition for ExtFile. - * This class has the purpose to allow the creation of instances - * of an ExtFile for performing complex operations that cannot be - * accomplished just by using the ExtFile type. - * For instance, it can help in changing the value of some attributes - * across different scopes thanks to memory reference. - */ -export declare class ExtFileInstance { - /** - * An identifier for the extFile - */ - id?: number | string; - /** - * The file object. Used mostly when user selects or drops files in the client sid. - */ - file?: File; - /** - * The name of the file. Used mostly for displaying file data from server. - */ - name?: string; - /** - * The type of the file. Used mostly for displaying file data from server. - */ - type?: string; - /** - * The size of the file. Used mostly for displaying file data from server. - */ - size?: number; - imageUrl?: string; - /** - * A flag that determines whether the file is valid, not valid or it is not validated. - */ - valid?: boolean; - /** - * The list of errors when the file was validated - */ - errors?: string[]; - /** - * A message that shows the result of the upload process - */ - uploadMessage?: string; - /** - * The current upload status. (e.g. "uploading") - */ - uploadStatus?: UPLOADSTATUS | undefined; - /** - * The current upload progress - */ - progress?: number; - /** - * The XMLHttpRequest object for performing uploads to a server - */ - xhr?: XMLHttpRequest; - /** - * The additional data that will be sent to the server - */ - extraData?: Record<string, any>; - /** - * The additional data that will be sent to the server - * when filesare uploaded individually - */ - extraUploadData?: Record<string, any>; - /** - * The upload response from server - */ - serverResponse?: ServerResponse; - /** - * Url to perform a GET request in order to download the file. - * This action is triggered when download button is clicked or pressed. - * In case onDownload prop is given - */ - downloadUrl?: string; - /** - * Link, URI, FIle object or string representation of a video - */ - videoUrl?: string; - constructor(extFile: ExtFile); - /** - * method under construction - */ - /** - * Copies all non undefined attributes from ExtFileInstance to a new ExtFile object - * @param extFileInstance the instance of ExtFile - * @returns an ExtFile object - */ - static toExtFile(extFileInstance: ExtFileInstance): ExtFile; - /** - * Copies all non undefined attributes from ExtFileInstance to a new ExtFile object. - * @returns an ExtFile object - */ - toExtFile(): ExtFile; -} diff --git a/src/files-ui/core/types/ExtFileManager.d.ts b/src/files-ui/core/types/ExtFileManager.d.ts deleted file mode 100644 index 8922bca3769b40ef6433984cc804a66fd61d6fbd..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/ExtFileManager.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { ExtFileInstance, ExtFile } from "./ExtFile"; -export declare class ExtFileManager { - private static nextId; - static fileLists: Record<number | string, ExtFileInstance[] | undefined>; - /** - * Increases the id counter and returns the next id available. - * @returns the next integer id available - */ - static getNextId(): number; - /** - * Updates a dui file list given an id - * @param id id of the fileList - * @param extFiles list of DuiFiles forinitializing the array - * @returns the id of the fileList - */ - static setFileList(id: number | string | undefined, extFilesInstances: ExtFileInstance[]): number | string; - /** - * Generates a new ID - * @returns the next Id asociated with a DuiFIle list - */ - static createFileListMap(): number; - /** - * Deletes a list map - * @returns the next Id asociated with a DuiFIle list - */ - static removeFileListMap(id?: number | string): number | string; - /** - * - * @param id the id of the dropzone - * @returns - */ - static getExtFileInstanceList(id?: number | string): ExtFileInstance[] | undefined; - /** - * Updates(replaces) the extFile list on preparing stage and returns the new array. - * Removes the non valid files if cleanOnUpload is true and validateFiles is also true - * Then sets on preparing stage all files according to the following creiteria: - * If theuploadStatus is diferent than "sucess" AND - * then, update the files on preparing stage. Otherwise keep the extFile props. - * Finally, updates the ExtFileInstance list on ExtFileManager. - * @param dropzoneId the id to access the right list - * @param localFiles the list of extFiles - * @param validateFiles flag that indicates that validation is active or o¿not - * @param cleanOnUpload flag to determine whther to clena the list oof non valid files or not - * @returns a list of ExtFileInstance - */ - static setFileListMapPreparing(dropzoneId: number | string, localFiles: ExtFile[], validateFiles: boolean, cleanOnUpload: boolean): ExtFileInstance[] | undefined; - /** - * Updates(replaces) the extFile list on preparing stage and returns the new array. - * Removes the non valid files if cleanOnUpload is true and validateFiles is also true - * Then sets on preparing stage all files according to the following creiteria: - * If theuploadStatus is diferent than "sucess" AND - * then, update the files on preparing stage. Otherwise keep the extFile props. - * Finally, updates the ExtFileInstance list on ExtFileManager. - * @param dropzoneId the id to access the right list - * @param localFiles the list of extFiles - * @param validateFiles flag that indicates that validation is active or o¿not - * @param cleanOnUpload flag to determine whther to clena the list oof non valid files or not - * @returns a list of ExtFileInstance - */ - static setFileListMapPreparing2(dropzoneId: number | string, localFiles: ExtFile[], validateFiles: boolean, cleanOnUpload: boolean): ExtFileInstance[] | undefined; -} diff --git a/src/files-ui/core/types/FileListMap.d.ts b/src/files-ui/core/types/FileListMap.d.ts deleted file mode 100644 index b5d6917f5cdcbafcebc389a993d8ac811461c278..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/FileListMap.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { ExtFileInstance } from "./ExtFile"; -export declare type ExtFileListMap = { - [id: number | string]: ExtFileInstance[] | undefined; -}; diff --git a/src/files-ui/core/types/IconsMap.d.ts b/src/files-ui/core/types/IconsMap.d.ts deleted file mode 100644 index dbd9ea586ad6cc9228c304885d8628f277737b5f..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/IconsMap.d.ts +++ /dev/null @@ -1,77 +0,0 @@ -export type IconsMap = { - aac?: string; - accdb?: string; - abw?: string; - arc?: string; - avi?: string; - azw?: string; - octet?: string; - bmp?: string; - bz?: string; - bz2?: string; - cda?: string; - csh?: string; - css?: string; - csv?: string; - docx?: string; - drawio?: string; - eot?: string; - epub?: string; - gzip?: string; - gif?: string; - html?: string; - icalendar?: string; - jar?: string; - jpeg?: string; - javascript?: string; - json?: string; - jsonld?: string; - midi?: string; - mp3?: string; - mp4?: string; - mpeg?: string; - mpkg?: string; - mp2t?: string; - odp?: string; - ods?: string; - odt?: string; - oga?: string; - ogv?: string; - ogx?: string; - opus?: string; - otf?: string; - png?: string; - pdf?: string; - php?: string; - pptx?: string; - psd?: string; - rar?: string; - rtf?: string; - sass?: string; - sh?: string; - swf?: string; - tar?: string; - tiff?: string; - ttf?: string; - typescript?: string; - text?: string; - vsd?: string; - wav?: string; - weba?: string; - webm?: string; - webp?: string; - woff?: string; - wma?: string; - wmv?: string; - xhtml?: string; - xlsx?: string; - xml?: string; - xul?: string; - zip?: string; - sevenzip?: string; - python?: string; - java?: string; - react?: string; - vue?: string; - fallBack?: string; -}; diff --git a/src/files-ui/core/types/NamedColor.d.ts b/src/files-ui/core/types/NamedColor.d.ts deleted file mode 100644 index e4cf51bfbb77b6ee31fde583a242d36581d8303e..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/NamedColor.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Interface to describe a named color - */ -export interface NamedColor { - [colorName: string]: string; -} diff --git a/src/files-ui/core/types/UploadConfig.d.ts b/src/files-ui/core/types/UploadConfig.d.ts deleted file mode 100644 index 59cfa60b04116eaca8dac9f739529216c4be8f31..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/UploadConfig.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Method } from "./method"; -export type UploadConfig = { - /** - * The url endpoint to upload the file. - * e.g. https://www.myasomwbackend/uploads/file - */ - url?: string; - /** - * upload method, can be POST | PUT | PATCH - * @default "POST" - */ - method?: Method; - /** - * Request headers for http request. - * e.g. - * ```jsx - * headers = { - * "content-type": "multipart/form-data", - * Authorization: "Bearer YOUR_BEARER_TOKEN_GOES_HERE", - * } - * ``` - */ - headers?: Record<string, string>; - /** - * the label to use in request - * On server this must be the label to get the file. - * @default "file" - */ - uploadLabel?: string; - /** - * Flag for indicating whther to remove the non-valid files - * before starting the upload process. - * This flag is valid only if validation is enable - */ - cleanOnUpload?: boolean; - /** - * If true, onDrop event or file selection not only will make Dropzone to return the list of files, but also - * it will start the upload stage for the files if at least url was set - * By default is false - */ - autoUpload?: boolean; - /** - * The time that will last the "preparing" stage - * By default is 1500 miliseconds = 1.5 seconds - */ - preparingTime?: number; - /** - * A message to show in the footer when the uploading process takes place. - */ - uploadingMessage?: string; -}; -export declare const createUploadConfig: (url?: string, method?: Method, headers?: Record<string, string>, uploadLabel?: string, cleanonUpload?: boolean) => { - url: string; - method: Method; - headers: Record<string, string>; - uploadLabel: string; - cleanonUpload: boolean; -}; diff --git a/src/files-ui/core/types/UploadStatus.d.ts b/src/files-ui/core/types/UploadStatus.d.ts deleted file mode 100644 index 6fce661a4c717aa683b7e06ff2ede10e4abb0fcb..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/UploadStatus.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type UPLOADSTATUS = "preparing" | "aborted" | "uploading" | "success" | "error"; diff --git a/src/files-ui/core/types/behaviur.d.ts b/src/files-ui/core/types/behaviur.d.ts deleted file mode 100644 index b39ce8a0b0cf0f999af9730225f430f637933798..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/behaviur.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * View mode for File Items inside dropzone - */ -export declare type Behaviour = "add" | "replace"; diff --git a/src/files-ui/core/types/index.d.ts b/src/files-ui/core/types/index.d.ts deleted file mode 100644 index b2d02fb872b8f5cac72f1a48b2146958ff5a4bfc..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -export type { Behaviour } from "./behaviur"; -export type { ExtFile } from "./ExtFile"; -export { ExtFileInstance } from "./ExtFile"; -export { ExtFileManager } from "./ExtFileManager"; -export type { ExtFileListMap } from "./FileListMap"; -export type { Localization, FunctionLabel, ComponentLocalizer, LocalLabels } from "./localization"; -export type { Method } from "./method"; -export type { NamedColor } from "./NamedColor"; -export type { UPLOADSTATUS } from "./UploadStatus"; -export type { ServerResponse, UploadPromiseResponse, UploadResponse } from "./uploadTypes"; -export type { ValidateFileResponse, FileValidatorProps } from "./validation"; -export type { UploadConfig } from "./UploadConfig"; -export { createUploadConfig } from "./UploadConfig"; -export type { IconsMap } from "./IconsMap"; diff --git a/src/files-ui/core/types/localization.d.ts b/src/files-ui/core/types/localization.d.ts deleted file mode 100644 index a0ff069c9321807414841707b2b7be85cb3e431f..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/localization.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export type Localization = "EN-en" | "ES-es" | "FR-fr" | "IT-it" | "PT-pt" | "RU-ru" | "ZH-cn" | "ZH-hk"; -export type FunctionLabel = ((s1: string | number, s2?: string | number, s3?: string) => string); -export type LocalLabels = { - [label: string]: string | FunctionLabel | LocalLabels; -}; -export type ComponentLocalizer = { - [language in Localization]: LocalLabels; -}; diff --git a/src/files-ui/core/types/method.d.ts b/src/files-ui/core/types/method.d.ts deleted file mode 100644 index b752da5486873f017f62fe0798d55d75e61a1259..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/method.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Method to be used for request - */ -export declare type Method = "POST" | "PUT" | "PATCH"; -/** - * - * @param method the method in string format - * @returns true if method is included in ["POST", "PUT", "PATCH"] - */ -export declare const idValidMethod: (method: string) => boolean; diff --git a/src/files-ui/core/types/uploadTypes.d.ts b/src/files-ui/core/types/uploadTypes.d.ts deleted file mode 100644 index 0266517b81bf2c0841c8843c8adc835f151d2b49..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/uploadTypes.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ExtFile } from "./ExtFile"; -export declare type UploadResponse_ = { - id: number | string | undefined; - uploadedFile: ExtFile; -}; -export declare type UploadPromiseResponse = { - uploadResponse: UploadResponse; - uploadedFile: ExtFile; -}; -export declare type UploadResponse = { - id: number | string | undefined; - serverResponse: ServerResponse | {}; - uploadedFile: ExtFile; -}; -export type ServerResponse = { - /** - * If true, it means that the request was successful. - */ - success: boolean; - /** - * A message that describes the result of the request. - */ - message?: string; - /** - * The response of the server. - */ - payload?: any; -}; diff --git a/src/files-ui/core/types/validation.d.ts b/src/files-ui/core/types/validation.d.ts deleted file mode 100644 index f35040a1115ed941515359305b3c0545aefac492..0000000000000000000000000000000000000000 --- a/src/files-ui/core/types/validation.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -export declare type FileValidatorProps = { - /** - * max file size in bytes - */ - maxFileSize?: number; - /** - * a comma separated list of mime types or file extensions. - */ - accept?: string; -}; -export declare type ValidateFileResponse = { - /** - * if true, that means the file is valid - */ - valid: boolean; - /** - * the list of erros associated with an specific file - */ - errors?: string[]; -}; diff --git a/src/files-ui/core/upload/addExtraData.upload.d.ts b/src/files-ui/core/upload/addExtraData.upload.d.ts deleted file mode 100644 index a57b6d5d6c4d497516d6da288a2960a23f760afc..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/addExtraData.upload.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function addExtraData(formData: FormData, extraData: Record<string, string> | undefined): void; diff --git a/src/files-ui/core/upload/addheaders.upload.d.ts b/src/files-ui/core/upload/addheaders.upload.d.ts deleted file mode 100644 index 6889520dcc00f5ded82f4d7e6271cfde45d39fe3..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/addheaders.upload.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function addHeaders(xhr: XMLHttpRequest, headers: Record<string, string> | undefined): void; diff --git a/src/files-ui/core/upload/errors.upload.d.ts b/src/files-ui/core/upload/errors.upload.d.ts deleted file mode 100644 index 0975c2461051d59eec20504c8242fa9c9c1f7eec..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/errors.upload.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ExtFile } from "../types"; -export declare const TIMEOUT_ERROR_RESPONSE: { - success: boolean; - message: string; - payload: {}; -}; -export declare const ABORTED_ERROR_RESPONSE: { - success: boolean; - message: string; - payload: {}; -}; -export declare const JSON_PARSE_ERROR_RESPONSE: { - success: boolean; - message: string; - payload: {}; -}; -export declare const UNEXPECTED_ERROR_RESPONSE: { - success: boolean; - message: string; - payload: {}; -}; -export declare const NO_XHR_PROVIDED_ERROR: (extFile: ExtFile) => ExtFile; diff --git a/src/files-ui/core/upload/index.d.ts b/src/files-ui/core/upload/index.d.ts deleted file mode 100644 index ef809cc94675df1896ebf712e99f01489deb0837..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { uploadExtFile, FuiUpload, uploadFile, uploadFormData, } from "./upload"; -export { ABORTED_ERROR_RESPONSE, JSON_PARSE_ERROR_RESPONSE, NO_XHR_PROVIDED_ERROR, TIMEOUT_ERROR_RESPONSE, UNEXPECTED_ERROR_RESPONSE, } from "./errors.upload"; -export { JsonParseResponse, makeErrorUploadResponse, makeServerResponse, makeSuccessUploadResponse, } from "./response.upload"; -export { default as addExtraData } from "./addExtraData.upload"; -export { default as addHeaders } from "./addheaders.upload"; -export { instantPreparingToUploadOne, preparingToUploadOne, sleepTransition, toUploadableExtFileList, completeUploadResult, sanitizeArrExtFile, unableToUploadResult, unexpectedErrorUploadResult, setNextUploadStatus } from "./utils.upload"; diff --git a/src/files-ui/core/upload/response.upload.d.ts b/src/files-ui/core/upload/response.upload.d.ts deleted file mode 100644 index 2a24ac4efd652391dc1f2566e14308b808cdd864..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/response.upload.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { ExtFile, ServerResponse } from "../types"; -export declare const makeServerResponse: (success: any, message: string, payload: any) => ServerResponse; -export declare const JsonParseResponse: (xhr: XMLHttpRequest) => ServerResponse; -export declare const makeSuccessUploadResponse: (extFile: ExtFile, responseFui: ServerResponse) => ExtFile; -export declare const makeErrorUploadResponse: (extFile: ExtFile, responseFui: ServerResponse) => ExtFile; diff --git a/src/files-ui/core/upload/upload.d.ts b/src/files-ui/core/upload/upload.d.ts deleted file mode 100644 index 783be826478a479f76c48452dee693fa350a81fd..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/upload.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { ExtFile, Method } from "../types"; -import { ServerResponse } from "../types/uploadTypes"; -/** - * Uploads one formData object to a given endpoint in a promisified way - * @param xhr XMLHTTPrequest object - * @param method method for uploading - * @param endpoint endpoint to upload the file - * @param data FromData object to perform multipart form data upload - * @param headers the set of headers - * @returns a server response that consists on {status, payload, message} - */ -export declare const uploadFormData: (xhr: XMLHttpRequest, method: Method | undefined, endpoint: string, data: FormData, headers: Record<string, string> | undefined) => Promise<ServerResponse>; -/** - * - * @param file the extended file to be uploaded - * @param url the endpoint - * @param method the method for uploading - * @param headers headers for request - * @returns - */ -export declare const uploadExtFile: (extFile: ExtFile, url: string, method?: Method, headers?: Record<string, string>, uploadLabel?: string) => Promise<ExtFile>; -export declare function uploadFile(file: File, url: string, method?: Method, label?: string, headers?: Record<string, string>): Promise<ServerResponse>; -/** - * @deprecated - * Uploads one formData object to a given endpoint in a promisified way - * @param xhr XMLHTTPrequest object - * @param method method for uploading - * @param endpoint endpoint to upload the file - * @param data FromData object to perform multipart form data - * @param headers the set of headers - * @returns a dui server response that consists on {success, payload, message} - */ -export declare const FuiUpload: (xhr: XMLHttpRequest, method: Method, endpoint: string, data: FormData, headers: Record<string, string>) => Promise<ServerResponse>; diff --git a/src/files-ui/core/upload/utils.upload.d.ts b/src/files-ui/core/upload/utils.upload.d.ts deleted file mode 100644 index 54e00c251c5d54c302d1ae542e06fedcf6a238f9..0000000000000000000000000000000000000000 --- a/src/files-ui/core/upload/utils.upload.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { ExtFile, ExtFileInstance, ServerResponse, UploadResponse, UPLOADSTATUS } from "../types"; -export declare const unexpectedErrorUploadResult: (extFile: ExtFile) => ExtFile; -export declare const unableToUploadResult: (extFile: ExtFile) => UploadResponse; -export declare const completeUploadResult: (extFile: ExtFile, serverResponse: ServerResponse, uploadStatusresult: UPLOADSTATUS) => UploadResponse; -/** - * Initializes the xhr attribute for performing uploads - * @param extFileList the list of extended files - * @returns the array of extFiles with the xhr attribute initialized - */ -export declare const toUploadableExtFileList: (extFileList: ExtFile[] | ExtFileInstance[]) => ExtFile[]; -/** - * Updates the uploadStatus of the given extFile - * from "preparing" to "uploading" - * @param extFile the extended file - * @returns the extended file with uploadStatus updated to "uploading" - */ -export declare const instantPreparingToUploadOne: (extFile: ExtFileInstance | ExtFile) => ExtFileInstance | ExtFile; -/** - * - * @param extFile the extended file - * @returns - */ -export declare const preparingToUploadOne: (extFile: ExtFileInstance | ExtFile) => Promise<ExtFileInstance | ExtFile>; -/** - * Sleeps for 1200 miliseconds for showing a better transition - * on uploading - * @param time the time to sleep in miliseconds - * @returns true is everything is ok - */ -export declare const sleepTransition: (time?: number) => Promise<boolean>; -/** - * Removes the deleted files and updates the aborted ones with a message - * @param arrExtFile incomming arr of extFle instances - * @returns an array of ExtFle objects - */ -export declare const sanitizeArrExtFile: (arrExtFile: ExtFileInstance[]) => ExtFile[]; -/** - * - * @param extFileInstance - * @param extFileobj - */ -export declare const setNextUploadStatus: (extFileInstance: ExtFileInstance, extFileobj: ExtFile) => void; diff --git a/src/files-ui/core/utils/IdGenerator.d.ts b/src/files-ui/core/utils/IdGenerator.d.ts deleted file mode 100644 index d1bcc090aac7865f8fe3fee452f1a2f6bf076156..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/IdGenerator.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * An id generator for FileItems - */ -export declare abstract class FileIdGenerator { - static nextId: number; - /** - * Increases the id counter and returns the next id available. - * @returns the next integer id available - */ - static getNextId(): number; -} diff --git a/src/files-ui/core/utils/addClassName.d.ts b/src/files-ui/core/utils/addClassName.d.ts deleted file mode 100644 index c1b5925d6f2684d5786e991e7fa9b0db81d29218..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/addClassName.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * If className is given, adds class name in string format to a base class name - * @param baseClassName the base class name - * @param className the class name to be added - * @returns a new class name obtained by adding the second paramater - */ -export declare const addClassName: (baseClassName: string, className: string | undefined) => string; diff --git a/src/files-ui/core/utils/dropzone.utils.d.ts b/src/files-ui/core/utils/dropzone.utils.d.ts deleted file mode 100644 index c872040334f679011fb0d3700671ba64d3f863c5..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/dropzone.utils.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const isValidateActive: (accept: string | undefined, maxFileSize: number | undefined, maxFiles: number | undefined, validator: Function | undefined) => boolean; diff --git a/src/files-ui/core/utils/fakeupload.utils.d.ts b/src/files-ui/core/utils/fakeupload.utils.d.ts deleted file mode 100644 index ea34da16bf6392f6a43ba9736754209cda194866..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/fakeupload.utils.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { ExtFile, ExtFileInstance, UploadResponse } from "../types"; -/** - * Updates a extFile and sets its uploadStatus to "uploading" - * @param extFile the extended file object - * @returns the extended file with the uploadStatus attribute modified - */ -export declare const setPrepToUploading: (extFile: ExtFile) => Promise<ExtFile>; -/** - * Updates a extFile and sets its uploadStatus to "success" - * @param extFile the extended file object - * @returns the extended file with the uploadStatus attribute modified - */ -export declare const uploadOne: (extFile: ExtFile) => Promise<ExtFile>; -/** - * Awaits the given time before start uploading - * @param preparingTime the time in miliseconds, by default it will wait 1.5 secs - * @returns an empty object - */ -export declare const sleepPreparing: (preparingTime?: number) => Promise<void>; -/** - * - * @param extFileInstance - * @returns - */ -export declare const prepToUploadOne: (extFileInstance: ExtFileInstance | ExtFile) => Promise<ExtFileInstance | ExtFile>; -/** - * - * @param extFileInstance - * @returns - */ -export declare const uploadOneExtFile: (extFileInstance: ExtFileInstance) => Promise<Object>; -/** - * - * @param extFile the extFile to upload - * @param DropzoneLocalizer the localization - * @returns a duiUploadResponse object that describes the result - */ -export declare const fakeFuiUpload: (extFileInstance: ExtFileInstance, DropzoneLocalizer?: import("../types").LocalLabels) => Promise<ExtFile>; -/** - * - * @param extFile the extFile to upload - * @param DropzoneLocalizer the localization - * @returns a duiUploadResponse object that describes the result - */ -export declare const fakeFuiUploadExtFile: (extFileInstance: ExtFileInstance, DropzoneLocalizer?: import("../types").LocalLabels) => Promise<UploadResponse>; diff --git a/src/files-ui/core/utils/fileListParser.d.ts b/src/files-ui/core/utils/fileListParser.d.ts deleted file mode 100644 index 940a12384633537b85755c62af6c351a9758e39c..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/fileListParser.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ExtFile, ExtFileInstance } from "../types"; -/** - * Converts the fileList into an array of separated ExtFile objects - * @param fileList the FileList object given by input(event.target.files) or drop operation (event.dataTransfer) - * @returns an array of ExtFile objects - */ -export declare const fileListToExtFileArray: (fileList: FileList) => ExtFile[]; -/** - * Converts the fileList into an array of separated ExtFile instances - * @param fileList the FileList object given by input (event.target.files) or drop operation (event.dataTransfer) - * @returns an array of ExtFile instances - */ -export declare const fileListToExtFileInstanceArray: (fileList: FileList) => ExtFileInstance[]; diff --git a/src/files-ui/core/utils/fileSizeFormatter.d.ts b/src/files-ui/core/utils/fileSizeFormatter.d.ts deleted file mode 100644 index a3a53b64bf2f892c030b9ef67021dbcad47e58aa..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/fileSizeFormatter.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Gives a XX.XX format in Bytes KB, MB, GB or TB - * @param fileSize file size to give format in Bytes - */ -export declare const fileSizeFormater: (fileSize?: number | false) => string | undefined; diff --git a/src/files-ui/core/utils/getExt.d.ts b/src/files-ui/core/utils/getExt.d.ts deleted file mode 100644 index 110c9f08a48e990d5af7b9088f204810fd1be558..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/getExt.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Looks for the first file extension - * @param fileName file name - * @returns the file name extension - */ -export declare const getExt: (fileName: string) => string; diff --git a/src/files-ui/core/utils/getLocalFileItemData.d.ts b/src/files-ui/core/utils/getLocalFileItemData.d.ts deleted file mode 100644 index 6a94345e7e026a6951d350d8e7ef283b751adbf9..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/getLocalFileItemData.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * - * @param file - * @param name - * @param type - * @param size - * @returns the file name, type and size - */ -export declare const getLocalFileItemData: (file: File | undefined, name: string | undefined, type: string | undefined, size: number | undefined) => [string, string | undefined, number | undefined]; diff --git a/src/files-ui/core/utils/index.d.ts b/src/files-ui/core/utils/index.d.ts deleted file mode 100644 index c48ce5d2254177ae6deea000ea52e78cd508a578..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { fileListToExtFileArray, fileListToExtFileInstanceArray } from "./fileListParser"; -import { fileSizeFormater } from "./fileSizeFormatter"; -import { getExt } from "./getExt"; -import { FileIdGenerator } from "./IdGenerator"; -export { FileIdGenerator, fileListToExtFileArray, fileListToExtFileInstanceArray, fileSizeFormater, getExt, }; -export { isValidateActive } from "./dropzone.utils"; -export { shrinkWord } from "./shrinkWord"; -export { fakeFuiUpload, prepToUploadOne, setPrepToUploading, sleepPreparing, uploadOne, uploadOneExtFile } from "./fakeupload.utils"; -export { getRandomInt } from "./randomInt"; -export { cleanInput } from "./input.utils"; -export { addClassName } from "./addClassName"; -export { isUploadAbleExtFile } from "./isUploadAbleExtFile"; -export { getLocalFileItemData } from "./getLocalFileItemData"; diff --git a/src/files-ui/core/utils/input.utils.d.ts b/src/files-ui/core/utils/input.utils.d.ts deleted file mode 100644 index 658f95c6e32d6068afa014f96206d8d0f42a4db2..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/input.utils.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Cleans the input.value attribute - * @param inputElement - */ -export declare const cleanInput: (inputElement?: HTMLInputElement | null) => void; diff --git a/src/files-ui/core/utils/isUploadAbleExtFile.d.ts b/src/files-ui/core/utils/isUploadAbleExtFile.d.ts deleted file mode 100644 index 248c16c3987ca7eeeb2cdb1c7f9e3fd1a790265a..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/isUploadAbleExtFile.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { ExtFile } from "../types"; -export declare const isUploadAbleExtFile: (extFile: ExtFile, validateFilesFlag: boolean) => boolean; diff --git a/src/files-ui/core/utils/randomInt.d.ts b/src/files-ui/core/utils/randomInt.d.ts deleted file mode 100644 index 1d459e19b393ba6b027eaf12c79c27a41ed114dd..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/randomInt.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Random integer between min (included) and max (excluded) - * @param min the min number - * @param max the max number - * @returns a random number between min (included) and max (excluded) - */ -export declare function getRandomInt(min?: number, max?: number): number; diff --git a/src/files-ui/core/utils/shrinkWord.d.ts b/src/files-ui/core/utils/shrinkWord.d.ts deleted file mode 100644 index fd5c13e6a043c17edf6bbb7f02e493db2cbb7028..0000000000000000000000000000000000000000 --- a/src/files-ui/core/utils/shrinkWord.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * The max size of the word in characters - */ -export declare const DEFAULT_MAX_SIZE_WORD = 30; -/** - * - * @param word the word to be shrinked - * @returns the shrinked word - */ -export declare const shrinkWord: (word?: string, card?: boolean) => string; diff --git a/src/files-ui/core/validation/fakeerros.d.ts b/src/files-ui/core/validation/fakeerros.d.ts deleted file mode 100644 index 4c6e643c8499fd81c9d911fdb3866ea7267d6047..0000000000000000000000000000000000000000 --- a/src/files-ui/core/validation/fakeerros.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * list of dumy errors in english - */ -export declare const listOfErrors: string[]; diff --git a/src/files-ui/core/validation/fileValidator.d.ts b/src/files-ui/core/validation/fileValidator.d.ts deleted file mode 100644 index ca0b54e13dadd8304b585ddb000b5fbe8955b17d..0000000000000000000000000000000000000000 --- a/src/files-ui/core/validation/fileValidator.d.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { ExtFile, Localization, LocalLabels } from "../types"; -import { ValidateFileResponse, FileValidatorProps } from "../types/validation"; -/** - * - * @param preValidatedFiles FileList - * @param remainingValids The number of remaining valid files - * @param localValidator - * @param validator - * @param maxFiles - * @param localization - * @returns - */ -export declare const fileListvalidator: (preValidatedFiles: FileList, remainingValids: number, localValidator: FileValidatorProps, validator?: (f: File) => ValidateFileResponse, maxFiles?: number, localization?: Localization) => ExtFile[]; -/** - * For each ExtFile sets the valid prop of ExtFile to "true" or "false" - * depending on the result of the individual validation. - * It also add the list of errors. - * @param extFileList - * @param remainingValids - * @param localValidatorProps - * @param validator - * @param maxFiles - * @param localization - * @returns a new ExtFile list with each item validated - */ -export declare const validateExtFileList: (extFileList: ExtFile[], remainingValids: number, localValidatorProps: FileValidatorProps, validator?: (f: File) => ValidateFileResponse, maxFiles?: number, localization?: Localization) => ExtFile[]; -/** - * - * @param extFile - * @param validator - * @param validatorProps - * @param localErrors - * @returns - */ -export declare const validateExtFile: (extFile: ExtFile, validator: (f: File) => ValidateFileResponse, validatorProps: FileValidatorProps, localErrors: LocalLabels) => ExtFile; -/** - * Function that validate whether a file is valid, or not - * according to the Filevalidator properties - * @param file a File object to be evaluated - * @param validatorProps the validator object - * @returns a FileValidated object - */ -export declare const validateFile: (file: File, validator: (f: File) => ValidateFileResponse, validatorProps: FileValidatorProps, localErrors: LocalLabels) => ExtFile; diff --git a/src/files-ui/core/validation/index.d.ts b/src/files-ui/core/validation/index.d.ts deleted file mode 100644 index 60029ff84608d611618d0b6c3bf17c737457e596..0000000000000000000000000000000000000000 --- a/src/files-ui/core/validation/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { validateExtFileList, fileListvalidator, validateExtFile, validateFile } from "./fileValidator"; -export { separateAccept } from "./separateAccept"; -export { validateAccept } from "./validateAccept"; -export { getRandomUploadStatus } from "./randomStatus"; -export { listOfErrors } from "./fakeerros"; diff --git a/src/files-ui/core/validation/randomStatus.d.ts b/src/files-ui/core/validation/randomStatus.d.ts deleted file mode 100644 index 9e7e4a0fce6d8eed946cf370910bff0dff63d1d7..0000000000000000000000000000000000000000 --- a/src/files-ui/core/validation/randomStatus.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { UPLOADSTATUS } from "../types"; -/** - * Generates a random number betwen 0 and 3 - * where - * 0 => error - * 1 => uploading - * 2 => success - * 3 => undefined - * @returns a random upload status or undefined - */ -export declare const getRandomUploadStatus: () => UPLOADSTATUS | undefined; diff --git a/src/files-ui/core/validation/separateAccept.d.ts b/src/files-ui/core/validation/separateAccept.d.ts deleted file mode 100644 index fc7c610b36186b2ebaf88bbd46780984ef02f862..0000000000000000000000000000000000000000 --- a/src/files-ui/core/validation/separateAccept.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Separate the accept string array into an array of strings separated by commas - * @param accept the string accept array - * @returns an array of strings in wich every item - */ -export declare const separateAccept: (accept: string | undefined) => string[]; diff --git a/src/files-ui/core/validation/validateAccept.d.ts b/src/files-ui/core/validation/validateAccept.d.ts deleted file mode 100644 index 90f11d61ac022c2fa4af79c212fb343dc59020b8..0000000000000000000000000000000000000000 --- a/src/files-ui/core/validation/validateAccept.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Checks whether a file is valid or not given an array of file extentions and mime types - * e.g. accept = [".doc", ".docx", ".xml", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"] - * @param accept the array of strings accept items - * @param file a File object to be evaluated - * @returns true if the mime type file is included in the accept param - */ -export declare const validateAccept: (accept: string[], file: File) => boolean; diff --git a/src/globals/contexts/UserContext.ts b/src/globals/contexts/UserContext.ts deleted file mode 100644 index 5a10fd7aa613248e538f571ce0fba1ac1e1643df..0000000000000000000000000000000000000000 --- a/src/globals/contexts/UserContext.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from "react"; -import { FuiAction } from "../types/FuiAction"; -import { UserFilesUi } from "../types/UserFilesUi"; - -export const UserContext: React.Context<[UserFilesUi, React.Dispatch<FuiAction> | undefined]> = - React.createContext([{} as UserFilesUi, undefined as React.Dispatch<FuiAction> | undefined]); - diff --git a/src/globals/initialValues/userInitialValue.ts b/src/globals/initialValues/userInitialValue.ts deleted file mode 100644 index 9e15e380da56fe636f94ead879c7807661a5c844..0000000000000000000000000000000000000000 --- a/src/globals/initialValues/userInitialValue.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UserFilesUi } from "../types/UserFilesUi"; - -export const initialUserValue:UserFilesUi={ - id:undefined, - darkMode:false, -} diff --git a/src/globals/providers/UserProvider.tsx b/src/globals/providers/UserProvider.tsx deleted file mode 100644 index 7b9c8f61e868f3972b61140f797040b66fc2e75c..0000000000000000000000000000000000000000 --- a/src/globals/providers/UserProvider.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { UserContext } from "../contexts/UserContext"; -import * as React from "react"; -import { UserFilesUi } from "../types/UserFilesUi"; -import { userInitializer, userReducer } from "../reducers/userReducer"; -import { ThemeProvider } from "@emotion/react"; -import { MUItheme } from "../../theme/mainTheme"; -import { FuiAction } from "../types/FuiAction"; -import { FilesUiProvider } from "../../files-ui"; -import gradle from "../../static/new-icons/gradle.jpg"; -export const UserProvider = (props: { - children: React.ReactNode; - valorInicial: UserFilesUi; -}) => { - const { children, valorInicial } = props; - - const [usuario, dispatch]: [UserFilesUi, React.Dispatch<FuiAction>] = - React.useReducer(userReducer, valorInicial, userInitializer); - - React.useEffect(() => { - localStorage.setItem("filesuiuser", JSON.stringify(usuario)); - console.log("filesuiuser", usuario); - }, [usuario]); - - return ( - <UserContext.Provider value={[usuario, dispatch]}> - <ThemeProvider theme={MUItheme(usuario.darkMode ? "dark" : "light")}> - <FilesUiProvider - config={{ - darkMode: usuario.darkMode, - /* icons: { - png: gradle, - mp4: "/serverside/springbootjavalogo.png", - pdf: "https://www.iconpacks.net/icons/2/free-pdf-download-icon-2617-thumb.png", - }, */ - }} - > - {children} - </FilesUiProvider> - </ThemeProvider> - </UserContext.Provider> - ); -}; diff --git a/src/globals/reducers/userReducer.ts b/src/globals/reducers/userReducer.ts deleted file mode 100644 index edf3f35833a326d8180a774f1505293e3d59c437..0000000000000000000000000000000000000000 --- a/src/globals/reducers/userReducer.ts +++ /dev/null @@ -1,29 +0,0 @@ - -import { FuiAction } from "../types/FuiAction"; -import { UserFilesUi } from "../types/UserFilesUi"; - - -export const userReducer = (state: UserFilesUi, action: FuiAction): UserFilesUi => { - const { type = "", payload = {} } = action; - console.log("userReducer", state, action); - switch (type) { - case "INICIARSESION": - return { ...state, ...payload }; - case "TURNONLIGHT": - return { ...state, darkMode: false }; - case "TURNOFFLIGHT": - return { ...state, darkMode: true }; - default: - return state; - } -}; - -export const userInitializer = () => { - const usuarioEncontrado = localStorage.getItem("filesuiuser"); - - if (usuarioEncontrado !== "udefined" && usuarioEncontrado !== null) { - return JSON.parse(usuarioEncontrado); - } else { - return {}; - } -}; diff --git a/src/globals/types/FilesUIAction.ts b/src/globals/types/FilesUIAction.ts deleted file mode 100644 index 6ac078bbd147eeb6a25a7560e3b6a0991288c9d9..0000000000000000000000000000000000000000 --- a/src/globals/types/FilesUIAction.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UserFilesUi } from "./UserFilesUi"; - -export type FilesUIAction = { - type?: string; - payload?: UserFilesUi; -} \ No newline at end of file diff --git a/src/globals/types/FuiAction.ts b/src/globals/types/FuiAction.ts deleted file mode 100644 index f8973ad6492eb7115e8c9e2b01f8da5f4759f02b..0000000000000000000000000000000000000000 --- a/src/globals/types/FuiAction.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UserFilesUi } from "./UserFilesUi"; - -export type FuiAction = { - type?: string; - payload?: UserFilesUi; -} \ No newline at end of file diff --git a/src/globals/types/UserFilesUi.ts b/src/globals/types/UserFilesUi.ts deleted file mode 100644 index 98523707d081e934fb54a08ad09ca6b235e47be4..0000000000000000000000000000000000000000 --- a/src/globals/types/UserFilesUi.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type UserFilesUi={ - id?:string; - darkMode?:boolean, -} \ No newline at end of file diff --git a/src/files-ui/hooks/getProgress.ts b/src/hooks/getProgress.ts similarity index 100% rename from src/files-ui/hooks/getProgress.ts rename to src/hooks/getProgress.ts diff --git a/src/files-ui/hooks/index.ts b/src/hooks/index.ts similarity index 100% rename from src/files-ui/hooks/index.ts rename to src/hooks/index.ts diff --git a/src/files-ui/hooks/useDropLayerClassName.ts b/src/hooks/useDropLayerClassName.ts similarity index 100% rename from src/files-ui/hooks/useDropLayerClassName.ts rename to src/hooks/useDropLayerClassName.ts diff --git a/src/files-ui/hooks/useDropzoneClassName.ts b/src/hooks/useDropzoneClassName.ts similarity index 100% rename from src/files-ui/hooks/useDropzoneClassName.ts rename to src/hooks/useDropzoneClassName.ts diff --git a/src/files-ui/hooks/useDropzoneFileUpdater.ts b/src/hooks/useDropzoneFileUpdater.ts similarity index 100% rename from src/files-ui/hooks/useDropzoneFileUpdater.ts rename to src/hooks/useDropzoneFileUpdater.ts diff --git a/src/files-ui/hooks/useDropzoneValidation.ts b/src/hooks/useDropzoneValidation.ts similarity index 100% rename from src/files-ui/hooks/useDropzoneValidation.ts rename to src/hooks/useDropzoneValidation.ts diff --git a/src/files-ui/hooks/useFakeProgress.ts b/src/hooks/useFakeProgress.ts similarity index 100% rename from src/files-ui/hooks/useFakeProgress.ts rename to src/hooks/useFakeProgress.ts diff --git a/src/files-ui/hooks/useFileMosaicInitializer.ts b/src/hooks/useFileMosaicInitializer.ts similarity index 100% rename from src/files-ui/hooks/useFileMosaicInitializer.ts rename to src/hooks/useFileMosaicInitializer.ts diff --git a/src/files-ui/hooks/useIsUploading.ts b/src/hooks/useIsUploading.ts similarity index 100% rename from src/files-ui/hooks/useIsUploading.ts rename to src/hooks/useIsUploading.ts diff --git a/src/hooks/useNavigateGoBack.tsx b/src/hooks/useNavigateGoBack.tsx deleted file mode 100644 index a0fdee690cd0a385e4131e698bde16d1c962461e..0000000000000000000000000000000000000000 --- a/src/hooks/useNavigateGoBack.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { useNavigate } from "react-router-dom"; - -/** Navigate to the top of a page so that the scroll position - * isn't persisted between pages. Use this instead of React Dom's - * build-in @see {@link useNavigate}. */ -export const useNavigateGoBack = () => { - const navigate = useNavigate(); - - const navigateAndReset = () => { - navigate(-1); - window.scrollTo(0, 0); - }; - - return navigateAndReset; -}; \ No newline at end of file diff --git a/src/hooks/useNavigateToTop.ts b/src/hooks/useNavigateToTop.ts deleted file mode 100644 index d2f4e3af76f357090f648a8db8e266416c2079ae..0000000000000000000000000000000000000000 --- a/src/hooks/useNavigateToTop.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { useNavigate } from "react-router-dom"; - -/** Navigate to the top of a page so that the scroll position - * isn't persisted between pages. Use this instead of React Dom's - * build-in @see {@link useNavigate}. */ -export const useNavigateToTop = () => { - const navigate = useNavigate(); - - const navigateAndReset = (to: string) => { - navigate(to - //, { replace: true } - ); - window.scrollTo(0, 0); - }; - - return navigateAndReset; -}; \ No newline at end of file diff --git a/src/files-ui/hooks/useNumberOfValidFiles.ts b/src/hooks/useNumberOfValidFiles.ts similarity index 100% rename from src/files-ui/hooks/useNumberOfValidFiles.ts rename to src/hooks/useNumberOfValidFiles.ts diff --git a/src/files-ui/hooks/useProgress.ts b/src/hooks/useProgress.ts similarity index 100% rename from src/files-ui/hooks/useProgress.ts rename to src/hooks/useProgress.ts diff --git a/src/files-ui/icons/Cancel/Cancel.tsx b/src/icons/Cancel/Cancel.tsx similarity index 100% rename from src/files-ui/icons/Cancel/Cancel.tsx rename to src/icons/Cancel/Cancel.tsx diff --git a/src/files-ui/icons/Cancel/CancelProps.ts b/src/icons/Cancel/CancelProps.ts similarity index 100% rename from src/files-ui/icons/Cancel/CancelProps.ts rename to src/icons/Cancel/CancelProps.ts diff --git a/src/files-ui/icons/CheckCircle/CheckCircle.tsx b/src/icons/CheckCircle/CheckCircle.tsx similarity index 100% rename from src/files-ui/icons/CheckCircle/CheckCircle.tsx rename to src/icons/CheckCircle/CheckCircle.tsx diff --git a/src/files-ui/icons/CheckCircle/CheckCircleProps.ts b/src/icons/CheckCircle/CheckCircleProps.ts similarity index 100% rename from src/files-ui/icons/CheckCircle/CheckCircleProps.ts rename to src/icons/CheckCircle/CheckCircleProps.ts diff --git a/src/files-ui/icons/Clean/Clean.tsx b/src/icons/Clean/Clean.tsx similarity index 100% rename from src/files-ui/icons/Clean/Clean.tsx rename to src/icons/Clean/Clean.tsx diff --git a/src/files-ui/icons/Clean/CleanProps.ts b/src/icons/Clean/CleanProps.ts similarity index 100% rename from src/files-ui/icons/Clean/CleanProps.ts rename to src/icons/Clean/CleanProps.ts diff --git a/src/files-ui/icons/Clear/Clear.tsx b/src/icons/Clear/Clear.tsx similarity index 100% rename from src/files-ui/icons/Clear/Clear.tsx rename to src/icons/Clear/Clear.tsx diff --git a/src/files-ui/icons/Clear/ClearProps.tsx b/src/icons/Clear/ClearProps.tsx similarity index 100% rename from src/files-ui/icons/Clear/ClearProps.tsx rename to src/icons/Clear/ClearProps.tsx diff --git a/src/files-ui/icons/Close/Close.tsx b/src/icons/Close/Close.tsx similarity index 100% rename from src/files-ui/icons/Close/Close.tsx rename to src/icons/Close/Close.tsx diff --git a/src/files-ui/icons/Close/CloseProps.ts b/src/icons/Close/CloseProps.ts similarity index 100% rename from src/files-ui/icons/Close/CloseProps.ts rename to src/icons/Close/CloseProps.ts diff --git a/src/files-ui/icons/CloudDone/CloudDone.tsx b/src/icons/CloudDone/CloudDone.tsx similarity index 100% rename from src/files-ui/icons/CloudDone/CloudDone.tsx rename to src/icons/CloudDone/CloudDone.tsx diff --git a/src/files-ui/icons/CloudDone/CloudDoneProps.ts b/src/icons/CloudDone/CloudDoneProps.ts similarity index 100% rename from src/files-ui/icons/CloudDone/CloudDoneProps.ts rename to src/icons/CloudDone/CloudDoneProps.ts diff --git a/src/files-ui/icons/DoDisturb/DoDisturb.tsx b/src/icons/DoDisturb/DoDisturb.tsx similarity index 100% rename from src/files-ui/icons/DoDisturb/DoDisturb.tsx rename to src/icons/DoDisturb/DoDisturb.tsx diff --git a/src/files-ui/icons/DoDisturb/DoDisturbProps.ts b/src/icons/DoDisturb/DoDisturbProps.ts similarity index 100% rename from src/files-ui/icons/DoDisturb/DoDisturbProps.ts rename to src/icons/DoDisturb/DoDisturbProps.ts diff --git a/src/files-ui/icons/DownloadFile/DownloadFile.tsx b/src/icons/DownloadFile/DownloadFile.tsx similarity index 100% rename from src/files-ui/icons/DownloadFile/DownloadFile.tsx rename to src/icons/DownloadFile/DownloadFile.tsx diff --git a/src/files-ui/icons/DownloadFile/DownloadFileProps.ts b/src/icons/DownloadFile/DownloadFileProps.ts similarity index 100% rename from src/files-ui/icons/DownloadFile/DownloadFileProps.ts rename to src/icons/DownloadFile/DownloadFileProps.ts diff --git a/src/files-ui/icons/IconProps/IconProps.ts b/src/icons/IconProps/IconProps.ts similarity index 100% rename from src/files-ui/icons/IconProps/IconProps.ts rename to src/icons/IconProps/IconProps.ts diff --git a/src/files-ui/icons/IconStyles.scss b/src/icons/IconStyles.scss similarity index 100% rename from src/files-ui/icons/IconStyles.scss rename to src/icons/IconStyles.scss diff --git a/src/files-ui/icons/Info/Info.tsx b/src/icons/Info/Info.tsx similarity index 100% rename from src/files-ui/icons/Info/Info.tsx rename to src/icons/Info/Info.tsx diff --git a/src/files-ui/icons/Info/InfoProps.ts b/src/icons/Info/InfoProps.ts similarity index 100% rename from src/files-ui/icons/Info/InfoProps.ts rename to src/icons/Info/InfoProps.ts diff --git a/src/files-ui/icons/InfoBlack/InfoBlack.tsx b/src/icons/InfoBlack/InfoBlack.tsx similarity index 100% rename from src/files-ui/icons/InfoBlack/InfoBlack.tsx rename to src/icons/InfoBlack/InfoBlack.tsx diff --git a/src/files-ui/icons/InfoBlack/InfoBlackProps.ts b/src/icons/InfoBlack/InfoBlackProps.ts similarity index 100% rename from src/files-ui/icons/InfoBlack/InfoBlackProps.ts rename to src/icons/InfoBlack/InfoBlackProps.ts diff --git a/src/files-ui/icons/InfoDisney/InfoDisney.tsx b/src/icons/InfoDisney/InfoDisney.tsx similarity index 100% rename from src/files-ui/icons/InfoDisney/InfoDisney.tsx rename to src/icons/InfoDisney/InfoDisney.tsx diff --git a/src/files-ui/icons/InfoDisney/InfoDisneyProps.ts b/src/icons/InfoDisney/InfoDisneyProps.ts similarity index 100% rename from src/files-ui/icons/InfoDisney/InfoDisneyProps.ts rename to src/icons/InfoDisney/InfoDisneyProps.ts diff --git a/src/files-ui/icons/Person/Person.tsx b/src/icons/Person/Person.tsx similarity index 100% rename from src/files-ui/icons/Person/Person.tsx rename to src/icons/Person/Person.tsx diff --git a/src/files-ui/icons/Person/PersonProps.tsx b/src/icons/Person/PersonProps.tsx similarity index 100% rename from src/files-ui/icons/Person/PersonProps.tsx rename to src/icons/Person/PersonProps.tsx diff --git a/src/files-ui/icons/PhotoCamera/PhotoCamera.tsx b/src/icons/PhotoCamera/PhotoCamera.tsx similarity index 100% rename from src/files-ui/icons/PhotoCamera/PhotoCamera.tsx rename to src/icons/PhotoCamera/PhotoCamera.tsx diff --git a/src/files-ui/icons/PhotoCamera/PhotoCameraProps.ts b/src/icons/PhotoCamera/PhotoCameraProps.ts similarity index 100% rename from src/files-ui/icons/PhotoCamera/PhotoCameraProps.ts rename to src/icons/PhotoCamera/PhotoCameraProps.ts diff --git a/src/files-ui/icons/Play/PlayIcon.tsx b/src/icons/Play/PlayIcon.tsx similarity index 100% rename from src/files-ui/icons/Play/PlayIcon.tsx rename to src/icons/Play/PlayIcon.tsx diff --git a/src/files-ui/icons/Play/PlayIconProps.ts b/src/icons/Play/PlayIconProps.ts similarity index 100% rename from src/files-ui/icons/Play/PlayIconProps.ts rename to src/icons/Play/PlayIconProps.ts diff --git a/src/files-ui/icons/Remove/Remove.tsx b/src/icons/Remove/Remove.tsx similarity index 100% rename from src/files-ui/icons/Remove/Remove.tsx rename to src/icons/Remove/Remove.tsx diff --git a/src/files-ui/icons/Remove/RemoveOutline.tsx b/src/icons/Remove/RemoveOutline.tsx similarity index 100% rename from src/files-ui/icons/Remove/RemoveOutline.tsx rename to src/icons/Remove/RemoveOutline.tsx diff --git a/src/files-ui/icons/Remove/RemoveProps.ts b/src/icons/Remove/RemoveProps.ts similarity index 100% rename from src/files-ui/icons/Remove/RemoveProps.ts rename to src/icons/Remove/RemoveProps.ts diff --git a/src/files-ui/icons/Upload/Upload.tsx b/src/icons/Upload/Upload.tsx similarity index 100% rename from src/files-ui/icons/Upload/Upload.tsx rename to src/icons/Upload/Upload.tsx diff --git a/src/files-ui/icons/Upload/UploadProps.ts b/src/icons/Upload/UploadProps.ts similarity index 100% rename from src/files-ui/icons/Upload/UploadProps.ts rename to src/icons/Upload/UploadProps.ts diff --git a/src/files-ui/icons/UploadDone/UploadDone.tsx b/src/icons/UploadDone/UploadDone.tsx similarity index 100% rename from src/files-ui/icons/UploadDone/UploadDone.tsx rename to src/icons/UploadDone/UploadDone.tsx diff --git a/src/files-ui/icons/UploadDone/UploadDoneProps.ts b/src/icons/UploadDone/UploadDoneProps.ts similarity index 100% rename from src/files-ui/icons/UploadDone/UploadDoneProps.ts rename to src/icons/UploadDone/UploadDoneProps.ts diff --git a/src/files-ui/icons/UploadError/UploadError.tsx b/src/icons/UploadError/UploadError.tsx similarity index 100% rename from src/files-ui/icons/UploadError/UploadError.tsx rename to src/icons/UploadError/UploadError.tsx diff --git a/src/files-ui/icons/UploadError/UploadErrorProps.ts b/src/icons/UploadError/UploadErrorProps.ts similarity index 100% rename from src/files-ui/icons/UploadError/UploadErrorProps.ts rename to src/icons/UploadError/UploadErrorProps.ts diff --git a/src/files-ui/icons/UploadingProcess/UploadingProcess.scss b/src/icons/UploadingProcess/UploadingProcess.scss similarity index 100% rename from src/files-ui/icons/UploadingProcess/UploadingProcess.scss rename to src/icons/UploadingProcess/UploadingProcess.scss diff --git a/src/files-ui/icons/UploadingProcess/UploadingProcess.tsx b/src/icons/UploadingProcess/UploadingProcess.tsx similarity index 100% rename from src/files-ui/icons/UploadingProcess/UploadingProcess.tsx rename to src/icons/UploadingProcess/UploadingProcess.tsx diff --git a/src/files-ui/icons/UploadingProcess/UploadingProcessProps.ts b/src/icons/UploadingProcess/UploadingProcessProps.ts similarity index 100% rename from src/files-ui/icons/UploadingProcess/UploadingProcessProps.ts rename to src/icons/UploadingProcess/UploadingProcessProps.ts diff --git a/src/files-ui/icons/ViewGrid/ViewGrid.tsx b/src/icons/ViewGrid/ViewGrid.tsx similarity index 100% rename from src/files-ui/icons/ViewGrid/ViewGrid.tsx rename to src/icons/ViewGrid/ViewGrid.tsx diff --git a/src/files-ui/icons/ViewGrid/ViewGridProps.ts b/src/icons/ViewGrid/ViewGridProps.ts similarity index 100% rename from src/files-ui/icons/ViewGrid/ViewGridProps.ts rename to src/icons/ViewGrid/ViewGridProps.ts diff --git a/src/files-ui/icons/ViewList/ViewList.tsx b/src/icons/ViewList/ViewList.tsx similarity index 100% rename from src/files-ui/icons/ViewList/ViewList.tsx rename to src/icons/ViewList/ViewList.tsx diff --git a/src/files-ui/icons/ViewList/ViewListProps.ts b/src/icons/ViewList/ViewListProps.ts similarity index 100% rename from src/files-ui/icons/ViewList/ViewListProps.ts rename to src/icons/ViewList/ViewListProps.ts diff --git a/src/files-ui/icons/Visibility/Visibility.tsx b/src/icons/Visibility/Visibility.tsx similarity index 100% rename from src/files-ui/icons/Visibility/Visibility.tsx rename to src/icons/Visibility/Visibility.tsx diff --git a/src/files-ui/icons/Visibility/VisibilityProps.ts b/src/icons/Visibility/VisibilityProps.ts similarity index 100% rename from src/files-ui/icons/Visibility/VisibilityProps.ts rename to src/icons/Visibility/VisibilityProps.ts diff --git a/src/files-ui/icons/index.ts b/src/icons/index.ts similarity index 100% rename from src/files-ui/icons/index.ts rename to src/icons/index.ts diff --git a/src/files-ui/icons/utils/utils.ts b/src/icons/utils/utils.ts similarity index 100% rename from src/files-ui/icons/utils/utils.ts rename to src/icons/utils/utils.ts diff --git a/src/index.css b/src/index.css deleted file mode 100644 index 0c7087f9e0f8d669b0967e33b449d123267eb060..0000000000000000000000000000000000000000 --- a/src/index.css +++ /dev/null @@ -1,21 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} - -a { - color: rgb(0, 121, 244); -} - -section { - scroll-margin-top: 64px; -} \ No newline at end of file diff --git a/src/index.js b/src/index.js deleted file mode 100644 index c1c6265b9698acde1b59ba29ce83040ac5a8f533..0000000000000000000000000000000000000000 --- a/src/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import * as React from "react"; -import ReactDOM from "react-dom/client"; -import "./index.css"; -import reportWebVitals from "./reportWebVitals"; -//import MainPage from "./pages/MainPage"; -/* import { ThemeProvider } from "@mui/material/styles"; -import { MUItheme } from "./theme/mainTheme"; */ - -import MainRouter from "./routes/MainRouter"; -import { UserProvider } from "./globals/providers/UserProvider"; -import { initialUserValue } from "./globals/initialValues/userInitialValue"; - -const root = ReactDOM.createRoot(document.getElementById("root")); - -root.render( - <UserProvider valorInicial={initialUserValue}> - <MainRouter /> - </UserProvider> -); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/src/files-ui/index.ts b/src/index.ts similarity index 100% rename from src/files-ui/index.ts rename to src/index.ts diff --git a/src/files-ui/loader/BasePreparingLoader/BasePreparingLoader.tsx b/src/loader/BasePreparingLoader/BasePreparingLoader.tsx similarity index 100% rename from src/files-ui/loader/BasePreparingLoader/BasePreparingLoader.tsx rename to src/loader/BasePreparingLoader/BasePreparingLoader.tsx diff --git a/src/files-ui/loader/BasePreparingLoader/BasePreparingLoaderProps.ts b/src/loader/BasePreparingLoader/BasePreparingLoaderProps.ts similarity index 100% rename from src/files-ui/loader/BasePreparingLoader/BasePreparingLoaderProps.ts rename to src/loader/BasePreparingLoader/BasePreparingLoaderProps.ts diff --git a/src/files-ui/loader/DefaultLoader/DefaultLoader.scss b/src/loader/DefaultLoader/DefaultLoader.scss similarity index 100% rename from src/files-ui/loader/DefaultLoader/DefaultLoader.scss rename to src/loader/DefaultLoader/DefaultLoader.scss diff --git a/src/files-ui/loader/DefaultLoader/DefaultLoader.tsx b/src/loader/DefaultLoader/DefaultLoader.tsx similarity index 100% rename from src/files-ui/loader/DefaultLoader/DefaultLoader.tsx rename to src/loader/DefaultLoader/DefaultLoader.tsx diff --git a/src/files-ui/loader/DefaultLoader/loader.tsx b/src/loader/DefaultLoader/loader.tsx similarity index 100% rename from src/files-ui/loader/DefaultLoader/loader.tsx rename to src/loader/DefaultLoader/loader.tsx diff --git a/src/files-ui/loader/DynamicLoader/DynamicLoader.scss b/src/loader/DynamicLoader/DynamicLoader.scss similarity index 100% rename from src/files-ui/loader/DynamicLoader/DynamicLoader.scss rename to src/loader/DynamicLoader/DynamicLoader.scss diff --git a/src/files-ui/loader/DynamicLoader/DynamicLoader.tsx b/src/loader/DynamicLoader/DynamicLoader.tsx similarity index 100% rename from src/files-ui/loader/DynamicLoader/DynamicLoader.tsx rename to src/loader/DynamicLoader/DynamicLoader.tsx diff --git a/src/files-ui/loader/DynamicLoader/DynamicLoaderProps.ts b/src/loader/DynamicLoader/DynamicLoaderProps.ts similarity index 100% rename from src/files-ui/loader/DynamicLoader/DynamicLoaderProps.ts rename to src/loader/DynamicLoader/DynamicLoaderProps.ts diff --git a/src/files-ui/loader/InfiniteLoader/InfiniteLoader.tsx b/src/loader/InfiniteLoader/InfiniteLoader.tsx similarity index 100% rename from src/files-ui/loader/InfiniteLoader/InfiniteLoader.tsx rename to src/loader/InfiniteLoader/InfiniteLoader.tsx diff --git a/src/files-ui/loader/InfiniteLoader/InfiniteLoaderProps.ts b/src/loader/InfiniteLoader/InfiniteLoaderProps.ts similarity index 100% rename from src/files-ui/loader/InfiniteLoader/InfiniteLoaderProps.ts rename to src/loader/InfiniteLoader/InfiniteLoaderProps.ts diff --git a/src/files-ui/loader/LoaderContainer/LoaderContainer.scss b/src/loader/LoaderContainer/LoaderContainer.scss similarity index 100% rename from src/files-ui/loader/LoaderContainer/LoaderContainer.scss rename to src/loader/LoaderContainer/LoaderContainer.scss diff --git a/src/files-ui/loader/LoaderContainer/LoaderContainer.tsx b/src/loader/LoaderContainer/LoaderContainer.tsx similarity index 100% rename from src/files-ui/loader/LoaderContainer/LoaderContainer.tsx rename to src/loader/LoaderContainer/LoaderContainer.tsx diff --git a/src/files-ui/loader/LoaderContainer/LoaderContainerProps.ts b/src/loader/LoaderContainer/LoaderContainerProps.ts similarity index 100% rename from src/files-ui/loader/LoaderContainer/LoaderContainerProps.ts rename to src/loader/LoaderContainer/LoaderContainerProps.ts diff --git a/src/files-ui/loader/LoaderProps.ts b/src/loader/LoaderProps.ts similarity index 100% rename from src/files-ui/loader/LoaderProps.ts rename to src/loader/LoaderProps.ts diff --git a/src/files-ui/loader/index.ts b/src/loader/index.ts similarity index 100% rename from src/files-ui/loader/index.ts rename to src/loader/index.ts diff --git a/src/logo.svg b/src/logo.svg deleted file mode 100644 index 9dfc1c058cebbef8b891c5062be6f31033d7d186..0000000000000000000000000000000000000000 --- a/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg> \ No newline at end of file diff --git a/src/menu/listOptions.js b/src/menu/listOptions.js deleted file mode 100644 index 666d5fc6564a4231243926a704fd727f5a84c225..0000000000000000000000000000000000000000 --- a/src/menu/listOptions.js +++ /dev/null @@ -1,34 +0,0 @@ -export const listOptionsSideBar=[ - { - label:"Getting started", - icon:undefined, - onClick:undefined - }, - { - label:"Components", - icon:undefined, - onClick:undefined - }, - { - label:"Documentation", - icon:undefined, - onClick:undefined, - subMenu:[ - { - label:"Dropzone", - icon:undefined, - onClick:undefined - }, - { - label:"FileMosaic", - icon:undefined, - onClick:undefined - }, - { - label:"Dropzone", - icon:undefined, - onClick:undefined - }, - ] - }, -]; \ No newline at end of file diff --git a/src/files-ui/overridable/OverridableComponentsProps.ts b/src/overridable/OverridableComponentsProps.ts similarity index 100% rename from src/files-ui/overridable/OverridableComponentsProps.ts rename to src/overridable/OverridableComponentsProps.ts diff --git a/src/files-ui/overridable/index.ts b/src/overridable/index.ts similarity index 100% rename from src/files-ui/overridable/index.ts rename to src/overridable/index.ts diff --git a/src/files-ui/overridable/mergeProps.ts b/src/overridable/mergeProps.ts similarity index 100% rename from src/files-ui/overridable/mergeProps.ts rename to src/overridable/mergeProps.ts diff --git a/src/pages/FileCardMock.tsx b/src/pages/FileCardMock.tsx deleted file mode 100644 index 75299f2390097f48a701c9a16b2ae4017f3fb6fa..0000000000000000000000000000000000000000 --- a/src/pages/FileCardMock.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import * as React from "react"; -import { FileCard, ExtFile } from "../files-ui"; -const baseFiles: ExtFile[] = [ - { - id: Math.random(), - name: "A very very long title for files-ui.jsx", - type: "text/plain", - size: 280000, - valid: true, - }, - { - id: Math.random(), - name: "A very very long title for files-ui.png", - type: "image/png", - size: 280000, - valid: true, - uploadStatus: "uploading", - imageUrl: - "https://super-ficcion.com/wp-content/uploads/2022/10/como-podria-regresar-iron-man-1-780x470.webp", - }, -]; -const FileCardMock = ({ darkMode = false, elevation = 2 }) => { - const [files, setFiles] = React.useState(baseFiles); - const removeFile = (id: string | number | undefined) => { - setFiles((files) => files.filter((f) => f.id !== id)); - }; - const handleSee = () => {}; - return ( - <> - {files.map((file, index) => ( - <FileCard - key={file.id} - {...file} - preview - onDelete={removeFile} - onSee={handleSee} - info - alwaysActive - //hd - elevation={2} - darkMode={darkMode} - onCancel={() => {}} - progress={25} - /> - ))} - </> - ); -}; -export default FileCardMock; diff --git a/src/pages/FileItemMock.tsx b/src/pages/FileItemMock.tsx deleted file mode 100644 index b66ba990a2a57f5b19cd30cc3fd22b2fd4fde0fe..0000000000000000000000000000000000000000 --- a/src/pages/FileItemMock.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import * as React from "react"; -import { - FileMosaic, - FileMosaicProps, - ExtFile, - UPLOADSTATUS, -} from "../files-ui"; - -const baseFiles: ExtFile[] = [ - { - id: Math.random(), - name: "A very very long title for files-ui.jsx", - type: "text/plain", - size: 280000, - //valid: true, - uploadMessage: "File was succesfuly upoaded to server in year 2014", - }, - { - id: Math.random(), - name: "A very very long title for files-ui.png", - type: "image/png", - size: 280000, - valid: false, - errors: ["File was uploaded from Saturn", "HAAAAAAAAAA"], - //progress: 28, - //uploadStatus: "preparing", - // imageUrl: - // "https://super-ficcion.com/wp-content/uploads/2022/10/como-podria-regresar-iron-man-1-780x470.webp", - }, - { - id: Math.random(), - name: "A very very long title for files-ui.png", - type: "image/png", - size: 280000, - valid: true, - uploadStatus: "preparing", - imageUrl: - "https://super-ficcion.com/wp-content/uploads/2022/10/como-podria-regresar-iron-man-1-780x470.webp", - }, -]; -const FileItemMock = ({ darkMode = false, mosaic = false }) => { - const [files, setFiles] = React.useState(baseFiles); - - const [newProgress, setNewProgress] = React.useState<number>(45); - let completed = false; - //let interval: NodeJS.Timer | null = null; - - const removeFile = (id: string | number | undefined) => { - setFiles((files) => files.filter((f) => f.id !== id)); - }; - const handleSee = () => {}; - - const changeStatus = ( - status: UPLOADSTATUS | undefined, - id?: FileMosaicProps["id"] - ) => { - if (id !== undefined) { - setFiles( - files.map((f) => { - if (id === f.id) { - return { - ...f, - uploadStatus: status, - }; - } else - return { - ...f, - }; - }) - ); - } else - setFiles( - files.map((f) => { - return { - ...f, - uploadStatus: status, - uploadMessage: - status === "success" - ? "EXITOOOO HAAAAA" - : status === "error" - ? "Pinche error de los conjones" - : status === "aborted" - ? "File uplaod was aborted" - : undefined, - }; - }) - ); - }; - const cleanStatus = () => { - setFiles( - files.map((f) => { - return { - ...f, - uploadStatus: undefined, - }; - }) - ); - }; - - const handleProgress = () => { - setNewProgress((newProgress) => { - let newProgValue = 0; - - if (completed) { - completed = false; - newProgValue = 0; - } else if (newProgress >= 100) { - //clearInterval(interval as NodeJS.Timeout); - newProgValue = 100; - completed = true; - } else { - newProgValue = newProgress + 10; - } - - return newProgValue; - }); - }; - return ( - <div style={{ display: "flex", flexDirection: "column", gap: "10px" }}> - <div style={{ display: "flex", flexDirection: "row" }}> - <button onClick={() => changeStatus("preparing")}>preparing</button> - <button onClick={() => changeStatus("uploading")}>uploading</button> - <button onClick={() => changeStatus("success")}>sucess</button> - <button onClick={() => changeStatus("error")}>error</button> - <button onClick={() => changeStatus("aborted")}>aborted</button> - <button onClick={cleanStatus}>clean</button> - <button onClick={handleProgress}>progress</button> - </div> - - <div style={{ display: "flex", flexDirection: "row" }}> - {mosaic ? ( - <> - {files.map((file, index) => ( - <FileMosaic - key={file.id || 1 + 1} - {...file} - localization={"ES-es"} - // preview - onDelete={removeFile} - //onSee={handleSee} - info - //alwaysActive - progress={newProgress} - //hd - //backgroundBlurImage={false} - resultOnTooltip - darkMode={darkMode} - onAbort={() => changeStatus("aborted", file.id)} - onCancel={() => changeStatus(undefined, file.id)} - /> - ))} - </> - ) : ( - <> - {files.map((file, index) => ( - <FileMosaic - key={file.id || 1 + 10} - {...file} - preview - onDelete={removeFile} - onSee={handleSee} - info - alwaysActive - progress={25} - darkMode={darkMode} - /> - ))} - </> - )} - </div> - </div> - ); -}; -export default FileItemMock; diff --git a/src/pages/MainPage.jsx b/src/pages/MainPage.jsx deleted file mode 100644 index 96f008408399820e538b8ea5614f7f540e193a75..0000000000000000000000000000000000000000 --- a/src/pages/MainPage.jsx +++ /dev/null @@ -1,109 +0,0 @@ -import * as React from "react"; -import "../styles/MainPage.scss"; -import logo_blue from "../static/files-ui-logo-blue.png"; -import logo_blue_dark from "../static/files-ui-logo-blue-dark.png"; -import DropzoneMainPage from "../components/demo-components/main-page/DropzoneMainPage"; - -import GettingStarted from "../components/MainPage/GettingStarted"; -import MainNavBar from "../components/MainPage/MainNavBar"; -import MainFooter from "../components/MainPage/MainFooter"; -import FileMosaicImageVideoPreviews from "../components/MainPage/MainRight/FileMosaicImageVideoPreviews"; -import { Divider } from "@mui/material"; -import ExtraComponentsMainPage from "../components/MainPage/SecondaryRight/ExtraComponentsMainPage"; -import ExtraComponentsMainPageInputButton from "../components/MainPage/SecondaryRight/ExtraComponentsMainPageInputButton"; -import ExtraComponentsMainPageAvatar from "../components/MainPage/SecondaryRight/ExtraComponentsMainPageAvatar"; -import { UserContext } from "../globals/contexts/UserContext"; - -const MainPage = ({ darkMode }) => { - const [usuario, dispatch] = React.useContext(UserContext); - - // const [darkModeOn, setDarkModeOn] = React.useState(false); - const darkModeOn = usuario.darkMode; - console.log("userReducer darkModeOn", darkModeOn); - - const handleDarkMode = () => { - // setDarkModeOn((darkModeOn) => !darkModeOn); - if (!darkModeOn) dispatch({ type: "TURNOFFLIGHT" }); - else dispatch({ type: "TURNONLIGHT" }); - }; - - return ( - <div className={`files-uimain-container${darkModeOn ? ` darkmode` : ""}`}> - <MainNavBar - darkModeOn={darkModeOn} - logo_blue={logo_blue} - logo_blue_dark={logo_blue_dark} - handleDarkMode={handleDarkMode} - /> - <main className="filesui-main"> - <div className="fui-main-left"> - <div className={"filesui-main-logo-container"}> - {!darkMode ? ( - <img - className="fui-logo-img" - src={logo_blue} - alt={"files-ui-logo-blue"} - /> - ) : ( - <img - className="fui-logo-img" - src={logo_blue_dark} - alt={"files-ui-logo-dark"} - /> - )} - </div> - - {/* <Badges /> */} - - <h1 - className={!darkModeOn ? "fui-logo-text" : "fui-logo-text darkmode"} - > - File Uploads with{" "} - <span className="gradient-span">Superiorly designed</span>{" "} - components - </h1> - - <p className="fui-description"> - Make the file upload task easy for developers and end-users. - </p> - - <GettingStarted darkModeOn={darkModeOn} /> - </div> - <div className="fui-main-right"> - <DropzoneMainPage darkMode={darkModeOn} /> - <Divider sx={{ borderColor: darkMode ? "#121212" : undefined }} /> - <FileMosaicImageVideoPreviews darkMode={darkModeOn} /> - </div> - </main> - <section - id="more-components" - className={ - darkModeOn - ? "files-ui-secondary-container darkmode" - : "files-ui-secondary-container" - } - > - <div className="secondary-content"> - <h2 - className={!darkModeOn ? "fui-logo-text" : "fui-logo-text darkmode"} - > - Yes! There are even more components - </h2> - <div className="secondary-content-flex"> - <div className="secondary-item"> - <ExtraComponentsMainPage darkMode={darkModeOn} /> - </div> - <div className="secondary-item"> - <ExtraComponentsMainPageInputButton darkMode={darkModeOn} /> - </div> - <div className="secondary-item"> - <ExtraComponentsMainPageAvatar darkMode={darkModeOn} /> - </div> - </div> - </div> - </section> - <MainFooter /> - </div> - ); -}; -export default MainPage; diff --git a/src/pages/api/AvatarApi.jsx b/src/pages/api/AvatarApi.jsx deleted file mode 100644 index 4a7722572fe1683b4ee14f2aeadd811629dbde73..0000000000000000000000000000000000000000 --- a/src/pages/api/AvatarApi.jsx +++ /dev/null @@ -1,72 +0,0 @@ -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import Alert from "@mui/material/Alert"; -import PropsTableApi from "./PropsTableApi"; -import { AvatarAPIPropsRows } from "../../data/AvatarAPIPropsRows"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/avatar#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/avatar#props", - }, -]; - -const AvatarApi = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", scrollHandler); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>Avatar API</MainTitle> - <MainParagraph> - API reference docs for the React Avatar component. Learn about the - props and other APIs of this exported module. - </MainParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/avatar">Avatar</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={AvatarAPIPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default AvatarApi; diff --git a/src/pages/api/DropzoneApi.tsx b/src/pages/api/DropzoneApi.tsx deleted file mode 100644 index dc17bba899520f85d49522fdb57d613087b665db..0000000000000000000000000000000000000000 --- a/src/pages/api/DropzoneApi.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import Alert from "@mui/material/Alert"; -import PropsTableApi from "./PropsTableApi"; -import { DropzoneAPIPropsRows } from "../../data/DropzoneAPIPropsRows"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import { scrollHandler } from "../../utils/scrollHandler"; -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/dropzone#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/dropzone#props", - }, -]; - -const DropzoneApi = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>Dropzone API</MainTitle> - <MainParagraph> - API reference docs for the React Dropzone component. Learn about the - props and other APIs of this exported module. - </MainParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/dropzone">Dropzone</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={DropzoneAPIPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default DropzoneApi; diff --git a/src/pages/api/FileCardApi.tsx b/src/pages/api/FileCardApi.tsx deleted file mode 100644 index 129261c0bfba6ca2f5b6acb6ae93526e465a2b20..0000000000000000000000000000000000000000 --- a/src/pages/api/FileCardApi.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import { Alert } from "@mui/material"; -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import { FileCardAPIPropsRows } from "../../data/FileCardAPIPropsRows"; -import { scrollHandler } from "../../utils/scrollHandler"; -import PropsTableApi from "./PropsTableApi"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/filecard#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/filecard#props", - }, -]; - -const FileCardApi = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FileCard API</MainTitle> - <MainParagraph> - API reference docs for the React Filecard component. Learn about the - props and other APIs of this exported module. - </MainParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/filecard">FileCard</AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/dropzone">Dropzone</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={FileCardAPIPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileCardApi; diff --git a/src/pages/api/FileInputButtonApi.jsx b/src/pages/api/FileInputButtonApi.jsx deleted file mode 100644 index 81c97a142e38ec02a8c9a73de0ab0ea31c89551c..0000000000000000000000000000000000000000 --- a/src/pages/api/FileInputButtonApi.jsx +++ /dev/null @@ -1,81 +0,0 @@ -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import Alert from "@mui/material/Alert"; -import PropsTableApi from "./PropsTableApi"; -import { FileInputButtonPropsRows } from "../../data/FileInputButtonPropsRows"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/fileinputbutton#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/fileinputbutton#props", - }, -]; -const FileInputButtonApi = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FileInputButton API</MainTitle> - <MainParagraph> - API reference docs for the React FileInputButton component. Learn - about the props and other APIs of this exported module. - </MainParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/fileinputbutton"> - FileInputButton - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={FileInputButtonPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileInputButtonApi; diff --git a/src/pages/api/FileMosaicApi.jsx b/src/pages/api/FileMosaicApi.jsx deleted file mode 100644 index b13d06b074f65ed04742348b9a14de363a86abf2..0000000000000000000000000000000000000000 --- a/src/pages/api/FileMosaicApi.jsx +++ /dev/null @@ -1,79 +0,0 @@ -import { Alert } from "@mui/material"; -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import { FileMosaicAPIPropsRows } from "../../data/FileMosaicAPIPropsRows"; -import { scrollHandler } from "../../utils/scrollHandler"; -import PropsTableApi from "./PropsTableApi"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/filemosaic#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/filemosaic#props", - }, -]; -const FileMosaicApi = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FileMosaic API</MainTitle> - <MainParagraph> - API reference docs for the React Filemosaic component. Learn about the - props and other APIs of this exported module. - </MainParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/dropzone">Dropzone</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={FileMosaicAPIPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileMosaicApi; diff --git a/src/pages/api/FullScreenAPIPropRows.tsx b/src/pages/api/FullScreenAPIPropRows.tsx deleted file mode 100644 index e144ca6c492efc702cf26764b38ea1bead9a5db4..0000000000000000000000000000000000000000 --- a/src/pages/api/FullScreenAPIPropRows.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; - -export const FullScreenAPIPropRows = [ - { - name: "open", - type: <TypeHighlight np>boolean</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>If true, the component is shown.</>, - }, - { - name: "onClose", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>Callback fired when the component requests to be closed.</>, - }, - { - name: "children", - type: <TypeHighlight np>React.ReactNode</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The content of the component. Tipically it is the - <CodeHighlight>{"<ImagePreview/>"}</CodeHighlight> or the{" "} - <CodeHighlight>{"<VideoPreview/>"}</CodeHighlight> components. - </> - ), - }, -]; diff --git a/src/pages/api/FullScreenApi.tsx b/src/pages/api/FullScreenApi.tsx deleted file mode 100644 index 5fc7ae70b087fb2aa2046f8404b156239dc97eb6..0000000000000000000000000000000000000000 --- a/src/pages/api/FullScreenApi.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import Alert from "@mui/material/Alert"; -import PropsTableApi from "./PropsTableApi"; -import { FullScreenAPIPropRows } from "./FullScreenAPIPropRows"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/fileinputbutton#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/fileinputbutton#props", - }, -]; - -const FullScreenApi = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FullScreen API</MainTitle> - <MainParagraph> - API reference docs for the React FullScreen component. Learn about the - props and other APIs of this exported module. - </MainParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/fullscreen#imagepreview"> - ImagePreview (FullScreen) - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/fullscreen#videopreview"> - VideoPreview (FullScreen) - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/filecard">FileCard</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={FullScreenAPIPropRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FullScreenApi; diff --git a/src/pages/api/ImagePreviewAPIPropsRows.tsx b/src/pages/api/ImagePreviewAPIPropsRows.tsx deleted file mode 100644 index fbf971b36440ce270356d2d886928aef1e9acb82..0000000000000000000000000000000000000000 --- a/src/pages/api/ImagePreviewAPIPropsRows.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; - -export const ImagePreviewAPIPropsRows = [ - { - name: "src", - type: ( - <> - <TypeHighlight np>{"string"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"File"}</TypeHighlight> - </> - ), - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - Image source in string format (URL) or File Object (Will be read as - URL). - </> - ), - }, - { - name: "width", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The width of the image.</>, - }, - { - name: "height", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The height of the image.</>, - }, - { - name: "alt", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <>Alternative label when an error occurs on loading the image</> - ), - }, - { - name: "onError", - type: <TypeHighlight np>func</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <>Callback fired when an error occured on loading the image.</> - ), - }, - { - name: "smartImgFit", - type: ( - <> - <TypeHighlight np>false</TypeHighlight> - {" | "} - <TypeHighlight np>{'"orientation"'}</TypeHighlight> - {" | "} - <TypeHighlight>{'"center"'}</TypeHighlight> - </> - ), - default: <TypeHighlight np>{'"orientation"'}</TypeHighlight>, - description: ( - <> - If false, image width will be set to 100%. - <br /> - If present, image will be analized and displayed according to its heigh - and width. Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. . - <ul> - <li> - If value is "center", image will be centered and will not be - displayed complete. This the empty space is avoided. This is achived - by giving 100% to width prop if the orientation is "portrait". When - orientation is "landscape", height prop will be set to 100%. - </li> - <li> - If value is "orientation", image will be displayed complete by - giving 100% to width prop if the orientation is "landscape". When - orientation is "portrait", height prop will be set to 100%. Some - images will show an empty space. - </li> - </ul> - </> - ), - }, - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. - </> - ), - }, -]; diff --git a/src/pages/api/ImagePreviewApi.tsx b/src/pages/api/ImagePreviewApi.tsx deleted file mode 100644 index fa973d0a62831b5d86b9b7f4a6f3fd2944ed9c1f..0000000000000000000000000000000000000000 --- a/src/pages/api/ImagePreviewApi.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import Alert from "@mui/material/Alert"; -import PropsTableApi from "./PropsTableApi"; -import { ImagePreviewAPIPropsRows } from "./ImagePreviewAPIPropsRows"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/fileinputbutton#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/fileinputbutton#props", - }, -]; - -const ImagePreviewApi = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>ImagePreview API</MainTitle> - <MainParagraph> - API reference docs for the React ImagePreview component. Learn about - the props and other APIs of this exported module. - </MainParagraph> - <DescParagraph> - Apart from the props described bellow, the{" "} - <CodeHighlight>ImagePreview</CodeHighlight> component accepts all the - HTML <CodeHighlight>{"<img/>"}</CodeHighlight> default props. You can - check them out{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes"> - here - </AnchorToTab> - . - </DescParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/filecard">FileCard</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={ImagePreviewAPIPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default ImagePreviewApi; diff --git a/src/pages/api/PropsTableApi.jsx b/src/pages/api/PropsTableApi.jsx deleted file mode 100644 index 245164b445052f4c7fc722271f84ec3e74a20907..0000000000000000000000000000000000000000 --- a/src/pages/api/PropsTableApi.jsx +++ /dev/null @@ -1,142 +0,0 @@ -import * as React from "react"; -import { styled } from "@mui/material/styles"; -import Table from "@mui/material/Table"; -import TableBody from "@mui/material/TableBody"; -import TableCell, { tableCellClasses } from "@mui/material/TableCell"; -import TableContainer from "@mui/material/TableContainer"; -import TableHead from "@mui/material/TableHead"; -import TableRow from "@mui/material/TableRow"; -import Paper from "@mui/material/Paper"; -import SortByAlphaIcon from "@mui/icons-material/SortByAlpha"; -import LowPriorityIcon from "@mui/icons-material/LowPriority"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import { Tooltip, IconButton, Stack } from "@mui/material"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; - -const StyledTableCell = styled(TableCell)(({ theme }) => ({ - [`&.${tableCellClasses.head}`]: { - backgroundColor: "#042354", - color: theme.palette.common.white, - }, - [`&.${tableCellClasses.body}`]: { - fontSize: 14, - }, -})); - -const StyledTableRow = styled(TableRow)(({ theme }) => ({ - "&:nth-of-type(odd)": { - backgroundColor: theme.palette.action.hover, - }, - // hide last border - "&:last-child td, &:last-child th": { - border: 0, - }, -})); - -function compareNames(a, b) { - if (a?.name < b?.name) { - return -1; - } else { - return 1; - } -} - -export default function PropsTableApi({ - rows = [], - title = "", - desc=<></>, - omitDefault = false, -}) { - - - const [sorted, setSorted] = React.useState(false); - const [localRows, setLocalRows] = React.useState(rows); - - const handleSort = () => { - setSorted((_sorted) => { - const resultSorted = !_sorted; - const rowsToSort = [...rows]; - if (resultSorted) { - setLocalRows(rowsToSort.sort(compareNames)); - } else { - setLocalRows(rowsToSort); - } - return resultSorted; - }); - }; - return ( - <React.Fragment> - <Stack - direction={"row"} - justifyContent="flex-start" - alignItems={"center"} - spacing={2} - > - <SubTitle content={title.length === 0 ? "Props" : title} />{" "} - <Tooltip title={sorted ? "Sort by importance" : "Sort alphabetically"}> - <IconButton - style={{ borderRadius: "50%", border: "0.5px solid #eaeef3" }} - onClick={handleSort} - aria-label="upload picture" - component="label" - > - {sorted ? <SortByAlphaIcon /> : <LowPriorityIcon />} - </IconButton> - </Tooltip>{" "} - </Stack> - {desc!==undefined && <DescParagraph>{desc}</DescParagraph>} - <TableContainer component={Paper}> - <Table sx={{ minWidth: 700 }} aria-label="customized table"> - <TableHead> - <TableRow> - <StyledTableCell /* width={"30%"} */>Name</StyledTableCell> - <StyledTableCell align="left" /* width={"30%"} */> - Type - </StyledTableCell> - {!omitDefault && ( - <StyledTableCell align="left">Default</StyledTableCell> - )} - <StyledTableCell - align="left" - /* width={"30%"} */ - > - Description - </StyledTableCell> - </TableRow> - </TableHead> - <TableBody> - {localRows.map((row) => ( - <StyledTableRow key={row.name}> - <StyledTableCell - component="th" - scope="row" - style={{ - wordBreak: row.name.length > 20 ? "break-word" : "normal", - }} - > - {row.name} - </StyledTableCell> - <StyledTableCell - align="left" - style={{ - wordBreak: row.name.length > 10 ? "break-word" : "normal", - }} - > - {row.type} - </StyledTableCell> - - {!omitDefault && ( - <StyledTableCell align="left">{row.default}</StyledTableCell> - )} - - <StyledTableCell align="left" style={{ maxWidth: "50%" }}> - {row.description} - </StyledTableCell> - </StyledTableRow> - ))} - </TableBody> - </Table> - </TableContainer> - </React.Fragment> - ); -} diff --git a/src/pages/api/VideoPreviewAPIPropsRows.tsx b/src/pages/api/VideoPreviewAPIPropsRows.tsx deleted file mode 100644 index 8defeb9ebac9ca2b9c60f9be4ef3d5799a1fb40f..0000000000000000000000000000000000000000 --- a/src/pages/api/VideoPreviewAPIPropsRows.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; - -export const VideoPreviewAPIPropsRows = [ - { - name: "src", - type: ( - <> - <TypeHighlight np>{"string"}</TypeHighlight> - {" | "} - <TypeHighlight np>{"File"}</TypeHighlight> - </> - ), - default: <TypeHighlight np></TypeHighlight>, - description: <>The video source in string format or File object.</>, - }, - { - name: "style", - type: <TypeHighlight np>React.CSSProperties</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: <>The in-line style object.</>, - }, - { - name: "className", - type: <TypeHighlight np>string</TypeHighlight>, - default: <TypeHighlight np></TypeHighlight>, - description: ( - <> - The classname to override the css styles in .css or .sass file instead - of using in-line styles. - </> - ), - }, -]; diff --git a/src/pages/api/VideoPreviewApi.tsx b/src/pages/api/VideoPreviewApi.tsx deleted file mode 100644 index 775f9f6d3690e3bcafdcf53a4c6341efde19bf03..0000000000000000000000000000000000000000 --- a/src/pages/api/VideoPreviewApi.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import * as React from "react"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import Alert from "@mui/material/Alert"; -import PropsTableApi from "./PropsTableApi"; -import { VideoPreviewAPIPropsRows } from "./VideoPreviewAPIPropsRows"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const rightMenuItems = [ - { - id: 0, - label: "Demos", - referTo: "/api/fileinputbutton#demo", - }, - { - id: 1, - label: "Props", - referTo: "/api/fileinputbutton#props", - }, -]; - -const VideoPreviewApi = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>VideoPreview API</MainTitle> - <MainParagraph> - API reference docs for the React VideoPreview component. Learn about - the props and other APIs of this exported module. - </MainParagraph> - <DescParagraph> - Apart from the props described bellow, the{" "} - <CodeHighlight>VideoPreview</CodeHighlight> component accepts all the - HTML <CodeHighlight>{"<video/>"}</CodeHighlight> default props. You - can check them out{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attributes"> - here - </AnchorToTab> - . - </DescParagraph> - <section id="demo"> - <SubTitle content="Demo" /> - <Alert severity="info"> - For examples and details on the usage of this React component, visit - the component demo pages: - <ul> - <li> - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/filecard">FileCard</AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="props"> - <PropsTableApi rows={VideoPreviewAPIPropsRows} /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default VideoPreviewApi; diff --git a/src/pages/code-generator/CodeGeneratorPage.jsx b/src/pages/code-generator/CodeGeneratorPage.jsx deleted file mode 100644 index a5a76d1a1e5eaee6eba3b55dc33f57fb118c04d8..0000000000000000000000000000000000000000 --- a/src/pages/code-generator/CodeGeneratorPage.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; - -const CodeGeneratorPage = (props) => { - return ( - <MainLayoutPage selectedIndex={5}> - <MainContentContainer> - <MainTitle>Code Generator</MainTitle> - </MainContentContainer> - <RightMenuContainer> - <RightMenu width="240px" items={[]} /> - </RightMenuContainer> - </MainLayoutPage> - ); -}; -export default CodeGeneratorPage; diff --git a/src/pages/demo/AvatarDemoPage.tsx b/src/pages/demo/AvatarDemoPage.tsx deleted file mode 100644 index 403e3ae202e72f31b7b9e52b72132a48b2b094e1..0000000000000000000000000000000000000000 --- a/src/pages/demo/AvatarDemoPage.tsx +++ /dev/null @@ -1,335 +0,0 @@ -import * as React from "react"; -import { Paper } from "@mui/material"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import BasicDemoAvatar from "../../components/demo-components/avatar-demo/BasicDemoAvatar"; -import CodeDemoAvatarBasic from "../../components/demo-components/avatar-demo/CodeDemoAvatarBasic"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import DemoAvatarPickFile from "../../components/demo-components/avatar-demo/DemoAvatarPickFile"; -import CodeDemoAvatarPickFile from "../../components/demo-components/avatar-demo/CodeDemoAvatarPickFile"; -import DemoAvatarFallBack from "../../components/demo-components/avatar-demo/DemoAvatarFallBack"; -import CodeDemoAvatarFallBack from "../../components/demo-components/avatar-demo/CodeDemoAvatarFallBack"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import DemoAvatarSmartImgFit from "../../components/demo-components/avatar-demo/DmoAvatarSmartImgFit"; -import CodeDemoAvatarSmartFit from "../../components/demo-components/avatar-demo/CodeDemoAvatarSmartFit"; -import DemoAvatarStyling from "../../components/demo-components/avatar-demo/DemoAvatarStyling"; -import CodeDemoAvatarStyling from "../../components/demo-components/avatar-demo/CodeDemoAvatarStyling"; -import DemoAvatarLabels from "../../components/demo-components/avatar-demo/DemoAvatarLabels"; -import DemoAvatarVariants from "../../components/demo-components/avatar-demo/DemoAvatarVarians"; -import DemoAvatarLoading from "../../components/demo-components/avatar-demo/DemoAvatarLoading"; -import CodeDemoAvatarLoading from "../../components/demo-components/avatar-demo/CodeDemoAvatarLoading"; -import CodeDemoAvatarVariant from "../../components/demo-components/avatar-demo/CodeAvatarVariant"; -import CodeDemoAvatarLabels from "../../components/demo-components/avatar-demo/CodeDemoAvatarLabels"; -import { scrollHandler } from "../../utils/scrollHandler"; - -interface AvatarDemoPageProps {} -const AvatarDemoPage: React.FC<AvatarDemoPageProps> = ( - props: AvatarDemoPageProps -) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>Avatar</MainTitle> - - <MainParagraph> - This "avatar" component can be used to just display an image or even - can be a special file <CodeHighlight>input</CodeHighlight> designed - for setting an image - {/* by either dragging and dropping files there or */} - by picking file from a file dialog. - </MainParagraph> - - <section id="basic-avatar"> - <SubTitle content="Basic Avatar (read only)" /> - <DescParagraph> - The most basic use is to set a fixed image from Url. - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "center", - }} - > - <BasicDemoAvatar /> - </Paper> - <CodeDemoAvatarBasic /> - </section> - - <section id="picking-image-file"> - <SubTitle content="Picking an image File" /> - <DescParagraph> - The <CodeHighlight>{"<Avatar/>"}</CodeHighlight> component supports - both a <TypeHighlight>string</TypeHighlight> url and a{" "} - <TypeHighlight>File</TypeHighlight> object as the source. - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "center", - }} - > - <DemoAvatarPickFile /> - </Paper> - <CodeDemoAvatarPickFile /> - </section> - - <section id="fallback"> - <SubTitle content="Fallback (error on load the image)" /> - <DescParagraph> - If there is an error loading the avatar image, the{" "} - <CodeHighlight>{"<Avatar/>"}</CodeHighlight> component provides a - way to fall back by defining the{" "} - <TypeHighlight>onError</TypeHighlight> prop. This could happen if: - <ul> - <li>The image url is broken, or</li> - <li>The image file selected is not an image</li> - </ul> - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "space-evenly", - flexWrap: "wrap", - gap: "5px", - }} - > - <DemoAvatarFallBack /> - </Paper> - <CodeDemoAvatarFallBack /> - </section> - - <section id="smart-image-fit"> - <SubTitle content="Smart image fit" /> - <DescParagraph> - <CodeHighlight>Avatar</CodeHighlight> with - <TypeHighlight>smartImgFit</TypeHighlight> prop will display image - according to its heigh and width. - <br /> - Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. - <br /> - In Avatar component the default value is "center". - </DescParagraph> - - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "space-evenly", - flexWrap: "wrap", - gap: "50px", - }} - > - <DemoAvatarSmartImgFit /> - </Paper> - - <CodeDemoAvatarSmartFit /> - </section> - - <section id="loading"> - <SubTitle content="Loading" /> - <DescParagraph> - You can use the prop <TypeHighlight>isLoading</TypeHighlight> when - you want to communicate that something is loading. - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "center", - }} - > - <DemoAvatarLoading /> - </Paper> - <CodeDemoAvatarLoading /> - </section> - - <section id="variants"> - <SubTitle content="Variants" /> - <DescParagraph> - Avatar component comes in 2 variants: "circle" and "square". - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "space-evenly", - flexWrap: "wrap", - gap: "50px", - }} - > - <DemoAvatarVariants /> - </Paper> - <CodeDemoAvatarVariant /> - </section> - - <section id="styling"> - <SubTitle content="Styling" /> - <DescParagraph> - You can define the <TypeHighlight>style</TypeHighlight> prop for - changing the styles applied to the main container such us the{" "} - <TypeHighlight>width</TypeHighlight> o the{" "} - <TypeHighlight>height</TypeHighlight>. - <br /> - Also you can use directly the prop{" "} - <TypeHighlight>borderRadius</TypeHighlight> to specify how rounde - you preffer the borders. - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "space-evenly", - flexWrap: "wrap", - gap: "50px", - }} - > - <DemoAvatarStyling /> - </Paper> - <CodeDemoAvatarStyling /> - </section> - - <section id="labels"> - <SubTitle content="Labels" /> - <DescParagraph> - You can specify the content of the texts: - <ul> - <li> - <CodeHighlight>emptyLabel</CodeHighlight>: when the source is - not set. - </li> - <li> - <CodeHighlight>changeLabel</CodeHighlight>: when there is a - valid source set. - </li> - <li> - <CodeHighlight>loadingLabel</CodeHighlight>: when you want to - communicate that something is loading. - </li> - </ul> - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - width: "100%", - justifyContent: "space-evenly", - flexWrap: "wrap", - gap: "50px", - }} - > - <DemoAvatarLabels /> - </Paper> - <CodeDemoAvatarLabels /> - </section> - - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props available to the components mentioned here. - </DescParagraph> - <ul> - <li> - <AnchorToTab href="/api/avatar">{"<Avatar/>"}</AnchorToTab> - </li> - </ul> - </section> - </MainContentContainer> - - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default AvatarDemoPage; - -const rightMenuItems = [ - { - id: 0, - label: "Basic avatar", - referTo: "/components/avatar#basic-avatar", - }, - { - id: 1, - label: "Picking image file", - referTo: "/components/avatar#picking-image-file", - }, - { - id: 3, - label: "FallBack", - referTo: "/components/avatar#fallback", - }, - { - id: 4, - label: "Smart image fit", - referTo: "/components/avatar#smart-image-fit", - }, - { - id: 5, - label: "Loading", - referTo: "/components/avatar#loading", - }, - { - id: 6, - label: "Variants", - referTo: "/components/avatar#variants", - }, - { - id: 7, - label: "Styling", - referTo: "/components/avatar#styling", - }, - { - id: 8, - label: "Labels", - referTo: "/components/avatar#labels", - }, - { - id: 9, - label: "API", - referTo: "/components/avatar#api", - }, -]; diff --git a/src/pages/demo/DropzoneDemoPage.jsx b/src/pages/demo/DropzoneDemoPage.jsx deleted file mode 100644 index e2d5eb9d3cd7f939ace705beaaf894dc296499f6..0000000000000000000000000000000000000000 --- a/src/pages/demo/DropzoneDemoPage.jsx +++ /dev/null @@ -1,761 +0,0 @@ -import * as React from "react"; -import { Paper, Alert, AlertTitle } from "@mui/material"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import BasicDropzoneCodeJS from "../../components/demo-components/dropzone-demo/BasicDropzoneCodeJS"; -import BasicDemoDropzone from "../../components/demo-components/dropzone-demo/BasicDropzoneDemo"; -import CodeDemoDropzoneActionButtons from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneActionButtons"; -import CodeDemoDropzoneCustomValidation from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneCustomValidation"; -import CodeDemoDropzoneUploading from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneUploading"; -import CodeDemoDropzoneValidation from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneValidation"; -import DemoDropzoneActionButtons from "../../components/demo-components/dropzone-demo/DemoDropzoneActionButtons"; -import DemoDropzoneCustomValidation from "../../components/demo-components/dropzone-demo/DemoDropzoneCustomValidation"; -import DemoDropzoneUploading from "../../components/demo-components/dropzone-demo/DemoDropzoneUploading"; -import DemoDropzoneValidation from "../../components/demo-components/dropzone-demo/DemoDropzoneValidation"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; - -import DemoDropzoneFooterConfig from "../../components/demo-components/dropzone-demo/DemoDropzoneFooterConfig"; -import DemoDropzoneHeaderConfig from "../../components/demo-components/dropzone-demo/DemoDropzoneHeaderConfig"; -import CodeDemoDropzoneHeaderConfig from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneHeaderConfig"; -import CodeDemoDropzoneFooterConfig from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneFooterConfig"; -import DemoDropzoneStyling from "../../components/demo-components/dropzone-demo/DemoDropzoneStyling"; -import DemoDropzoneBehaviour from "../../components/demo-components/dropzone-demo/DemoDropzoneBehaviour"; -import DemoDropzoneLabel from "../../components/demo-components/dropzone-demo/DemoDropzoneLabel"; -import DemoDropzoneDropLayer from "../../components/demo-components/dropzone-demo/DemoDropzoneDropLayer"; -import DemoDropzoneClickable from "../../components/demo-components/dropzone-demo/DemoDropzoneClickable"; -import DemoDropzoneDisabled from "../../components/demo-components/dropzone-demo/DemoDropzoneDisabled"; -import DemoDropzoneRipple from "../../components/demo-components/dropzone-demo/DemoDropzoneRipple"; -import CodeDemoDropzoneStyling from "../../components/demo-components/dropzone-demo/CodeDropzoneDemoStyling"; -import CodeDemoDropzoneRipple from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneRipple"; -import CodeDemoDropzoneDisabled from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneDisabled"; -import CodeDemoDropzoneClickable from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneClickable"; -import CodeDemoDropzoneDropLayer from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneDropLayer"; -import CodeDemoDropzoneBehaviour from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneBehaviour"; -import CodeDemoDropzoneLabel from "../../components/demo-components/dropzone-demo/CodeDropzoneDemoLabel"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const DropzoneDemoPage = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>Dropzone</MainTitle> - - <MainParagraph> - The default <CodeHighlight>{'<input type="file"/>'}</CodeHighlight> is - just a quite boring button. That's why we present the{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> - component as an special <CodeHighlight>input</CodeHighlight> enhanced - by the ability to allow users to drag and drop files there or choose - files from a file dialog and also to validate an upload them. - </MainParagraph> - - <DescParagraph> - The widget is useful for handling one{" "} - <TypeHighlight>File</TypeHighlight> or a list of{" "} - <TypeHighlight>Files</TypeHighlight> in one or more of these - scenarios: - <ol> - <li> - The file(s) must be chosen from a File Dialog or must be dragged - and dropped into the widget - </li> - <li> - The file(s) must be validated or not. If validation is required, - it can be done by taking into account a predefined set of allowed{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept"> - Common MIME Types - </AnchorToTab> - ; specifiying the max file size (in bytes) and/or the max amount - of files. - </li> - <li>The file(s) must be uploaded somewhere in the internet.</li> - </ol> - </DescParagraph> - <DescParagraph> - It's meant to be an improved version of the{" "} - <AnchorToTab href="https://react-dropzone.js.org/"> - react-dropzone - </AnchorToTab>{" "} - and{" "} - <AnchorToTab href="https://docs.dropzone.dev/">dropzone</AnchorToTab>{" "} - packages. - </DescParagraph> - - <section id="basic-dropzone"> - <SubTitle content="Basic Dropzone" /> - <DescParagraph> - In this demo we set the{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> with the minimum - props that allows you to get your task done fast. These props are{" "} - <CodeHighlight>onChange</CodeHighlight> and{" "} - <CodeHighlight>value</CodeHighlight>. - </DescParagraph> - <Paper variant="outlined" style={{ padding: "25px" }}> - <BasicDemoDropzone /> - </Paper> - <BasicDropzoneCodeJS /> - <Alert severity="info"> - <AlertTitle> FileMosaic </AlertTitle> - For completeness, these examples include{" "} - <CodeHighlight>{`<FileMosaic/>`} </CodeHighlight> - component for showing the files selected by the user with minimun - props too. For further information of this component check out the{" "} - <AnchorToTab href="/components/filemosaic"> - FileMosaic - </AnchorToTab>{" "} - page. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> ExtFile </AlertTitle> - {/* This is an info alert — <strong>check it out!</strong> - */} - <strong>ExtFile type </strong> - is explicity used in the - <strong> Typescript</strong> example and is implicity used in the{" "} - <strong>Javascript</strong> example for handling the metadata that - makes possible the information exchange between components. For - further information about this data type check out the{" "} - <AnchorToTab href="/types#extfile">ExtFile-API. </AnchorToTab> - </Alert> - </section> - - <section id="validation"> - <SubTitle content="Validation" /> - <DescParagraph> - In this demo you can see how{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> component covers the - following features when it comes to validating files. - <ol> - <li>Accepting specific file types.</li> - <li>Accepting an specific number of files.</li> - <li>Accepting files with an specific size (in bytes).</li> - </ol> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneValidation /> - </Paper> - <CodeDemoDropzoneValidation /> - <Alert severity="info"> - <AlertTitle> Removing non valid Files </AlertTitle> - We call "clean" to the operation of removing non valid files. Apart - from deleting them individually, there are some other ways in which - you can remove all of them. You can try the following props in the{" "} - {"<Dropzone/>"} component: - <ul> - <li> - <TypeHighlight>cleanFiles</TypeHighlight> : This will make - dropzone header to display the "clean" icon which can trigger - the "clean" operation. - </li> - <li> - <TypeHighlight>actionButtons</TypeHighlight> : By setting this - prop properly, a button will be visible and will trigger the - "clean" operation (This is the way used in this demo). - </li> - <li> - <TypeHighlight>autoClean</TypeHighlight> : By setting this prop, - non valid files will be automatically discarted and will not be - given in the <CodeHighlight>onChange</CodeHighlight> event. - </li> - </ul> - </Alert> - </section> - - <section id="custom-validation"> - <SubTitle content="Custom validation" /> - <DescParagraph> - You can also override the Dropzone validation operation by giving a - custom validation function that must fit the following signature:{" "} - <CodeHighlight> - {"validator?: (f: "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/File"> - File - </AnchorToTab> - {") => "} - <AnchorToTab href="/types#custom-validate-file-response"> - ValidateFileResponse - </AnchorToTab> - </CodeHighlight> - . Custom validator can work together with{" "} - <TypeHighlight>accept</TypeHighlight>,{" "} - <TypeHighlight>maxFileSize</TypeHighlight> and{" "} - <TypeHighlight>maxFiles</TypeHighlight> props. - </DescParagraph> - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneCustomValidation /> - </Paper> - <CodeDemoDropzoneCustomValidation /> - </section> - - <section id="uploading"> - <SubTitle content="Uploading" /> - <DescParagraph> - For uploading , the prop <TypeHighlight>uploadConfig</TypeHighlight>{" "} - must be given. This prop recieves an object in which you can specify - the HTTP method, the url, the headers and also extra data to be - uploaded. The type definition for the prop mentioned can be found{" "} - <AnchorToTab href="/types#UploadConfig">here</AnchorToTab>. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneUploading /> - </Paper> - - <CodeDemoDropzoneUploading /> - - <Alert severity="info"> - <AlertTitle> Server response </AlertTitle> - For uploading files through files-ui, server must return the - response with the structure of the{" "} - <TypeHighlight> - {" "} - <AnchorToTab href="/types#ServerResponse"> - ServerResponse - </AnchorToTab> - </TypeHighlight>{" "} - type. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> "fakeUpload" </AlertTitle> - By giving this prop, the {"<Dropzone/>"} component will simulate the - upload operation by randomly setting the upload status and message - on each uploadable <TypeHighlight>ExtFile</TypeHighlight>. It will - also set a fake progress. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> Upload config properties </AlertTitle> - Apart from the properties you can see in the example above, there - are more of them that can make the upload process to behave - differently. - <ul> - <li> - <TypeHighlight>autoUpload</TypeHighlight> : By setting this prop - to true, the upload process will start automatically just after - the user drops or selects files. - </li> - <li> - <TypeHighlight>cleanOnUpload</TypeHighlight> : By setting this - prop, you can control whether the upload process should "clean" - the non valid files before uploading or not. By default this - value is true. - </li> - </ul> - More information about the uploadConfig type structure can be found{" "} - <AnchorToTab href="/types#UploadConfig">here</AnchorToTab>. - </Alert> - </section> - - <section id="action-buttons"> - <SubTitle content="Dropzone with action buttons" /> - <DescParagraph> - If you need to display buttons that trigger the default events in - the <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> component, you - can do it by adding the <TypeHighlight>actionButtons</TypeHighlight>{" "} - prop. This will add buttons to the top or to the bottom of this - component. - <ul> - <li> - Dropzone with the{" "} - <TypeHighlight>actionButtons.cleanButton</TypeHighlight> prop - defined will display a button which triggers the clean process. - <br /> - This button will be visible only{" "} - <strong>when the "upload" process is not active</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>actionButtons.deleteButton</TypeHighlight> prop - defined will display a button which deletes all files. - <br /> - this button will be visible only{" "} - <strong>when the "upload" process is not active</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>actionButtons.uploadButton</TypeHighlight> prop - defined will display a button which starts the upload process. - This button will <strong>not</strong> be visible{" "} - <strong>during the "upload" process</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>actionButtons.abortButton</TypeHighlight> prop - defined will display a button which stops the upload process. - <br /> - This button will be visible only{" "} - <strong>during the "upload" process</strong>. - </li> - </ul> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneActionButtons /> - </Paper> - - <CodeDemoDropzoneActionButtons /> - </section> - - <section id="header-config"> - <SubTitle content="Dropzone header config" /> - <DescParagraph> - You can use the <TypeHighlight>headerConfig</TypeHighlight> prop to - define what will be displayed in the header. - <ul> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.customHeader</TypeHighlight> prop - defined will display this prop replacing the entire default - header. - </li> - </ul> - By default all of these values are set to{" "} - <TypeHighlight>true</TypeHighlight>. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneHeaderConfig /> - </Paper> - - <CodeDemoDropzoneHeaderConfig /> - <Alert severity="info"> - <AlertTitle> HeaderConfig </AlertTitle> - There are more options that can be defined such as: - <ul> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.deleteFiles</TypeHighlight> prop set - to <TypeHighlight>true</TypeHighlight> will display a delete - button which triggers the delete process. - <br /> - This button will be visible only{" "} - <strong>when the "upload" process is not active</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.cleanFiles</TypeHighlight> prop set - to <TypeHighlight>true</TypeHighlight> will display a "clean" - buton. This button will be visible only during the "upload" - process. - <br /> - button will be visible only{" "} - <strong>when the "upload" process is not active</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.uploadFiles</TypeHighlight> prop set - to <TypeHighlight>true</TypeHighlight> will display a button - which starts the upload process. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.uploading</TypeHighlight> prop set - to <TypeHighlight>true</TypeHighlight> will display a loading - icon <strong>during the "upload" process</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.maxFileSize</TypeHighlight> prop set - to <TypeHighlight>true</TypeHighlight> will display the max file - size label. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>headerConfig.validFilesCount</TypeHighlight> prop - set to <TypeHighlight>true</TypeHighlight> will display the - current count of valid files. - </li> - </ul> - By default all of these values are set to - <TypeHighlight>true</TypeHighlight>. The complete type definition - can be found{" "} - <AnchorToTab href="/types#header-config">here</AnchorToTab>. - </Alert> - </section> - - <section id="footer-config"> - <SubTitle content="Dropzone footer config" /> - <DescParagraph> - You can use the <TypeHighlight>footerConfig</TypeHighlight> prop to - define what will be displayed in the footer. - <ul> - <li> - Dropzone with the{" "} - <TypeHighlight>footerConfig.customMessage</TypeHighlight> prop - defined will be considered the message to display in the footer. - </li> - </ul> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneFooterConfig /> - </Paper> - - <CodeDemoDropzoneFooterConfig /> - - <Alert severity="info"> - <AlertTitle> FooterConfig </AlertTitle> - There are more options that can be defined such as: - <ul> - <li> - Dropzone with the{" "} - <TypeHighlight>footerConfig.allowedTypesLabel</TypeHighlight>{" "} - prop set to <TypeHighlight>false</TypeHighlight> will hide the - label that indicates the allowed file types. This label is - normally hidden{" "} - <strong>when the "upload" process is active</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight> - footerConfig.uploadProgressMessage - </TypeHighlight>{" "} - prop set to <TypeHighlight>false</TypeHighlight> will not - display the that indicates the current upload progress. This - label is normally visible - <strong> only during the "upload" process</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>footerConfig.uploadResultMessage</TypeHighlight>{" "} - prop set to <TypeHighlight>false</TypeHighlight> will not - display a label that indicates the final result of the upload - progress will not be shown. This label is normally visible for 2 - seconds just{" "} - <strong>after the "upload" process finishes</strong>. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>footerConfig.noMissingFilesLabel</TypeHighlight>{" "} - prop set to <TypeHighlight>false</TypeHighlight> will not - display a label that indicates that there are not files missing - to upload. - </li> - <li> - Dropzone with the{" "} - <TypeHighlight>footerConfig.style</TypeHighlight> prop defined - will override the styles associated to the footer component. - </li> - </ul> - By default all of these values are set to - <TypeHighlight>true</TypeHighlight>. - <br /> - The complete type definition can be found{" "} - <AnchorToTab href="/types#footer-config">here</AnchorToTab>. - </Alert> - </section> - - <section id="styling"> - <SubTitle content="Styling Dropzone" /> - <DescParagraph> - You can use change the look and feel of the{" "} - <CodeHighlight>Dropzone</CodeHighlight> component - <ul> - <li> - Dropzone with the <TypeHighlight>color</TypeHighlight> prop - defined will use this color for border, drop layer, font color - and ripple. - </li> - <li> - Dropzone with the <TypeHighlight>minHeight</TypeHighlight> prop - defined will use this value to define the minimum height of the - component. - </li> - <li> - Dropzone with the <TypeHighlight>background</TypeHighlight> prop - defined will use this value for the background. You can set nice - gradients or even a background image. - </li> - </ul> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneStyling /> - </Paper> - - <CodeDemoDropzoneStyling /> - </section> - - <section id="label"> - <SubTitle content="Label" /> - <DescParagraph> - You can specify a fixed label for{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> component to display - when there isn't any files. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneLabel /> - </Paper> - - <CodeDemoDropzoneLabel /> - </section> - - <section id="ripple"> - <SubTitle content="Ripple" /> - <DescParagraph> - According to{" "} - <AnchorToTab href="https://m2.material.io/develop/ios/supporting/ripple"> - Material Design - </AnchorToTab> - , the Ripple component provides a radial action in the form of a - visual ripple expanding outward from the user's touch. Ripple is a - visual form of feedback for touch events providing users a clear - signal that an element is being touched. In this component, a ripple - is displayed after 2 user actions: - <ul> - <li>When user clicks or touches the component.</li> - <li>Just after user dropped files.</li> - </ul> - For disabling the ripple effect you can set the{" "} - <TypeHighlight>disableRipple</TypeHighlight> prop to true. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneRipple /> - </Paper> - - <CodeDemoDropzoneRipple /> - </section> - - <section id="disabled"> - <SubTitle content="Disabled Dropzone" /> - <DescParagraph> - According to{" "} - <AnchorToTab href="https://m2.material.io/develop/ios/supporting/ripple"> - Material Design - </AnchorToTab>{" "} - a disabled state communicates when a component or element isn’t - interactive, and should be deemphasized in a UI. - <TypeHighlight>disabled</TypeHighlight> prop to true. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneDisabled /> - </Paper> - - <CodeDemoDropzoneDisabled /> - </section> - - <section id="clickable"> - <SubTitle content="Clickable Dropzone" /> - <DescParagraph> - Dropzone with the - <TypeHighlight>clickable</TypeHighlight> prop set to false will not - open the file dialog to select files when user clicks the component. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneClickable /> - </Paper> - - <CodeDemoDropzoneClickable /> - </section> - - <section id="drop-layer"> - <SubTitle content="Drop Layer" /> - <DescParagraph> - Dropzone with the - <TypeHighlight>dropOnLayer</TypeHighlight> prop set to false will - not perform the drop operation in a layer that covers the complete - component container. - <br /> - In this demo try to drag and drop files in both dropzones to see the - difference. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneDropLayer /> - </Paper> - - <CodeDemoDropzoneDropLayer /> - </section> - - <section id="add-or-replace"> - <SubTitle content="Add or replace files" /> - <DescParagraph> - There are 2 different behaviours when user selects or drops new - files: - <ul> - <li> - Dropzone with the <CodeHighlight>behaviour</CodeHighlight> set - to <TypeHighlight>"add"</TypeHighlight> will add the new files - to the current array of ExtFiles. - </li> - <li> - Dropzone with the <CodeHighlight>behaviour</CodeHighlight> set - to <TypeHighlight>"replace"</TypeHighlight> will replace the - current array of ExtFiles with the new ones. - </li> - </ul> - In this demo try to select or drop files more than once on each - dropzone to see the difference. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneBehaviour /> - </Paper> - - <CodeDemoDropzoneBehaviour /> - </section> - - <section id="localization"> - <SubTitle content="Localization" /> - <DescParagraph> - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> component uses the{" "} - <TypeHighlight>localization</TypeHighlight> prop in the validation - and the upload process for setting status and messages according to - the language that this prop refers to. - <br /> - The localization demo for this component can be found in the{" "} - <AnchorToTab href="/localization">localization page</AnchorToTab>. - </DescParagraph> - </section> - - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props and classes available to the components mentioned here. - <ul> - <li> - <CodeHighlight> - <AnchorToTab href="/api/dropzone"> - {"<Dropzone />"} - </AnchorToTab> - </CodeHighlight> - </li> - <li> - <CodeHighlight> - <AnchorToTab href="/api/filemosaic"> - {"<FileMosaic />"} - </AnchorToTab> - </CodeHighlight> - </li> - </ul> - </DescParagraph> - </section> - </MainContentContainer> - - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default DropzoneDemoPage; - -const rightMenuItems = [ - { - id: 0, - label: "Basic dropzone", - referTo: "/components/dropzone#basic-dropzone", - }, - { - id: 1, - label: "Validation", - referTo: "/components/dropzone#validation", - }, - { - id: 2, - label: "Custom validation", - referTo: "/components/dropzone#custom-validation", - }, - { - id: 3, - label: "Uploading", - referTo: "/components/dropzone#uploading", - }, - /* { - id: 4, - label: "Dropzone events", - referTo: "/components/dropzone#dropzone-events", - }, */ - { - id: 5, - label: "Action buttons", - referTo: "/components/dropzone#action-buttons", - }, - { - id: 9, - label: "Header config", - referTo: "/components/dropzone#header-config", - }, - { - id: 10, - label: "Footer config", - referTo: "/components/dropzone#footer-config", - }, - { - id: 6, - label: "Styling", - referTo: "/components/dropzone#styling", - }, - { - id: 14, - label: "Label", - referTo: "/components/dropzone#label", - }, - { - id: 8, - label: "Ripple", - referTo: "/components/dropzone#ripple", - }, - { - id: 11, - label: "Disabled", - referTo: "/components/dropzone#disabled", - }, - { - id: 12, - label: "Clickable", - referTo: "/components/dropzone#clickable", - }, - { - id: 13, - label: "Drop Layer", - referTo: "/components/dropzone#drop-layer", - }, - { - id: 15, - label: "Add or replace", - referTo: "/components/dropzone#add-or-replace", - }, - { - id: 7, - label: "Localization", - referTo: "/components/dropzone#localization", - }, - { - id: 8, - label: "API", - referTo: "/components/dropzone#api", - }, -]; diff --git a/src/pages/demo/FileCardDemoPage.jsx b/src/pages/demo/FileCardDemoPage.jsx deleted file mode 100644 index e05a53f6a7c7c4d96ba9326147e72eeeaa361d7f..0000000000000000000000000000000000000000 --- a/src/pages/demo/FileCardDemoPage.jsx +++ /dev/null @@ -1,446 +0,0 @@ -import * as React from "react"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import DemoFileCardBasic from "../../components/demo-components/file-card-demo/DemoFileCardBasic"; -import CodeJSFileCardBasic from "../../components/demo-components/file-card-demo/CodeJSFileCardBasic"; -import { AlertTitle, Alert, Paper } from "@mui/material"; -import DemoFileMosaicImagePreview from "../../components/demo-components/filemosaic-demo/DemoFileMosaicImagePreview"; -import CodeJSFileMosaicImagePreview from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicImagePreview"; -import DemoContainerFileMosaic from "../../components/demo-components/filemosaic-demo/DemoContainerFileMosaic"; -import DemoFileMosaicDarkMode from "../../components/demo-components/filemosaic-demo/DemoFileMosaicDarkMode"; -import CodeJSFileMosaicDarkMode from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicDarkMode"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import DemoFileMosaicValidation from "../../components/demo-components/filemosaic-demo/DemoFileMosaicValidation"; -import CodeJSFileMosaicValidation from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicValidation"; -import DemoFileMosaicUploadStatus from "../../components/demo-components/filemosaic-demo/DemoFileMosaicUploadStatus"; -import CodeJSFileMosaicUploadStatus from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicUploadStatus"; -import DemoFileCardActions from "../../components/demo-components/filemosaic-demo/DemoFileCradActions"; -import CodeJSFileCardActions from "../../components/demo-components/filemosaic-demo/CodeJSFileCardActions"; -import DemoFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit"; -import CodeJSFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const FileCardDemoPage = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FileCard</MainTitle> - <MainParagraph> - File cards are compact elements that represent a file in the UI. They - can be used for just showing general info of the file, or either to - allow the user to interact with them. - </MainParagraph> - <DescParagraph> - This widget allow users to see information of{" "} - <TypeHighlight> Files</TypeHighlight> and / or trigger actions. - </DescParagraph> - <Alert severity="info"> - While included here as a standalone component, the most common use - will be to display the result of the "onChange" event of{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> or{" "} - <CodeHighlight>{"<InputButton/>"}</CodeHighlight> components, so some - of the behavior demonstrated here is not totally shown in context.{" "} - </Alert> - <section id="basic-filecard"> - <SubTitle content="Basic FileCard" /> - <DescParagraph> - The <CodeHighlight>FileCard</CodeHighlight> component supports - displaying information from a{" "} - <TypeHighlight> - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/File"> - File - </AnchorToTab> - </TypeHighlight>{" "} - object or from given props. - <br /> - Also, the <TypeHighlight>onDelete</TypeHighlight> prop is used to - remove the file selection. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileCardBasic /> - </DemoContainerFileMosaic> - <CodeJSFileCardBasic card /> - - <Alert severity="info"> - <AlertTitle> FileInputButton </AlertTitle> - For completeness, some of these examples include{" "} - <CodeHighlight>{`<FileInputButton/>`} </CodeHighlight> - component for allowing the user to select files. For further - information of this component check out the{" "} - <AnchorToTab href="/components/fileinputbutton"> - FileInputButton - </AnchorToTab>{" "} - page. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> ExtFile </AlertTitle> - {/* This is an info alert — <strong>check it out!</strong> - */} - <strong>ExtFile type </strong> - is explicity used in the - <strong> Typescript</strong> example and is implicity used in the{" "} - <strong>Javascript</strong> example for handling the metadata that - makes possible the information exchange between components. For - further information about this data type check out the{" "} - <AnchorToTab href="/types#extfile">ExtFile-API. </AnchorToTab> - </Alert> - </section> - <section id="image-preview"> - <SubTitle content="Image preview" /> - <DescParagraph> - By setting the <CodeHighlight>preview</CodeHighlight> prop to{" "} - <TypeHighlight>true</TypeHighlight> the component will show an image - preview instead of a file icon. - <br /> - To acomplish this task this component will take the{" "} - <CodeHighlight>imageUrl</CodeHighlight> - prop or will read the <TypeHighlight>File</TypeHighlight> object if - given and if it is an image. - <br /> - Finally, the <TypeHighlight>info</TypeHighlight> prop is used to - show the complete information of the file. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileMosaicImagePreview card /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicImagePreview card /> - <Alert severity="info"> - As you can notice, when - <CodeHighlight>{`imageUrl`}</CodeHighlight> prop is present, the{" "} - <CodeHighlight>{`preview`}</CodeHighlight> prop is not needed since - it has more priority. - <br /> - On the other side, for displaying an image preview as a result of - reading an image File it is necesary to set the{" "} - <CodeHighlight>{`preview`}</CodeHighlight> prop, otherwise a default - image preview will be shown in order to save memory. - </Alert> - </section> - {/** VALIDATION UPLOAD AND MORE */} - - <section id="validation"> - <SubTitle content="Validation" /> - <DescParagraph> - The <CodeHighlight>valid</CodeHighlight> prop can be set to{" "} - <TypeHighlight>true</TypeHighlight>,{" "} - <TypeHighlight>false</TypeHighlight> or{" "} - <TypeHighlight>undefined</TypeHighlight>. - </DescParagraph> - - <DemoContainerFileMosaic card> - <DemoFileMosaicValidation card /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicValidation card /> - - <Alert severity="info"> - Typically, <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> or{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> components set - this prop when validating the input from a given criteria. You can - see the behaviour mentioned in the following demos: - <ul> - <li> - <AnchorToTab href="/components/dropzone#validation"> - Dropzone validation - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/fileinputbutton#validation"> - FileInputButton validation - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - - <section id="uploading"> - <SubTitle content="Uploading status" /> - <DescParagraph> - The <CodeHighlight>uploadStatus</CodeHighlight> prop can be set to{" "} - <TypeHighlight>"preparing"</TypeHighlight>,{" "} - <TypeHighlight>"uploading"</TypeHighlight>,{" "} - <TypeHighlight>"aborted"</TypeHighlight>,{" "} - <TypeHighlight>"error"</TypeHighlight> or{" "} - <TypeHighlight>"success"</TypeHighlight>. Also the{" "} - <CodeHighlight>uploadMessage</CodeHighlight> prop is used for - displaying the error or success message. Finally, the{" "} - <CodeHighlight>progress</CodeHighlight> prop can be used to show the - current progress of the upload process. - <br /> - Each of the following examples demonstrates one state combination of - the FileCard component. - </DescParagraph> - - <DemoContainerFileMosaic card> - <DemoFileMosaicUploadStatus card /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicUploadStatus card /> - - <Alert severity="info"> - As you can see, you have full control of the FileCard upload props. - You can take advantage of them to ake your own upload function and - show the user the progress. - <br /> On the other hand, you can also leverage the capability of{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> and{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> components - since they also manage the{" "} - <TypeHighlight>{"uploadStatus"}</TypeHighlight> - prop for you when upload is enabled. You can see the behaviour - mentioned in the following demos: - <ul> - <li> - <AnchorToTab href="/components/dropzone#uploading"> - Dropzone upload - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/fileinputbutton#uploading"> - FileInputButton upload - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="actions"> - <SubTitle content="Actions: info, delete, see, watch, download" /> - <DescParagraph> - You can use the following actions. - <ul> - <li> - FileCard with the <CodeHighlight>onDelete</CodeHighlight> prop - will display a delete icon. - </li> - <li> - FileCard with the <CodeHighlight>info</CodeHighlight> prop will - display an "info" icon that will display an info layer. - </li> - <li> - FileCard with the <CodeHighlight>onSee</CodeHighlight> prop will - display the "see" button that can be used to retrieve an image - <TypeHighlight>URI</TypeHighlight> obtained by reading a{" "} - <TypeHighlight>File</TypeHighlight> object if given or just the{" "} - <TypeHighlight>imageUrl</TypeHighlight> prop if given. In the - first case, the file must be an image. - </li> - <li> - FileCard with the <CodeHighlight>onWatch</CodeHighlight> prop - will display the "play" icon that can be used to retrieve the - video as a <TypeHighlight>File</TypeHighlight> object if given - or just the <TypeHighlight>videoUrl</TypeHighlight> prop if - given. The file must be an video. - </li> - <li> - FileCard with the <CodeHighlight>downloadUrl</CodeHighlight>{" "} - prop will display the "download" icon that can be used to start - the download. If the <CodeHighlight>onDownload</CodeHighlight>{" "} - prop is given, the "download" icon will also be visible, but it - will be taken as the user will perform their own download. - </li> - </ul> - </DescParagraph> - - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "center", - gap: "7px", - flexWrap: "wrap", - width: "100%", - //padding: "25px 0", - flexDirection: "row", - }} - > - <DemoFileCardActions card /> - </Paper> - <CodeJSFileCardActions card /> - <Alert severity="info"> - <AlertTitle> - {" "} - <strong>downloadUrl</strong> and <strong>onDownload</strong> props - </AlertTitle> - {/* This is an info alert — <strong>check it out!</strong> - */} - When only <CodeHighlight>downloadUrl</CodeHighlight> is specified, - FileCard will perform the download only for{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy"> - same-origin URLs - </AnchorToTab>{" "} - since it uses the{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes"> - anchor - </AnchorToTab>{" "} - tag under the hood. - <br /> - If the resource is located in any other host, it will open a new tab - and display the content. - <br /> - For avoiding that behaviour you can do you own download - implementation by overriding the download function by setting the{" "} - <CodeHighlight>onDownload</CodeHighlight> prop. - <br /> - You can check an example here: - <ul> - <li> - <AnchorToTab href="/file-download#differenthost2"> - {"Download a File from different host"} - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="dark-mode"> - <SubTitle content="Dark mode and Elevation" /> - <DescParagraph> - The <CodeHighlight>FileCard</CodeHighlight> component supports dark - mode by setting the prop <TypeHighlight>darkMode</TypeHighlight> to{" "} - <TypeHighlight>true</TypeHighlight>. The elevation can be used to - establish a hierarchy between other content. In practical terms, the - elevation controls the size of the shadow applied to the surface. In - dark mode, raising the elevation also makes the surface lighter. - </DescParagraph> - - <div - style={{ - display: "flex", - flexWrap: "wrap", - width: "100%", - padding: "25px 0", - }} - > - <DemoFileMosaicDarkMode card /> - </div> - - <CodeJSFileMosaicDarkMode card /> - </section> - <section id="smart-image-fit"> - <SubTitle content="Smart image fit" /> - <DescParagraph> - <CodeHighlight>FileCard</CodeHighlight> with - <TypeHighlight>smartImgFit</TypeHighlight> prop will display image - according to its heigh and width. - <br /> - Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileMosaicSmartImgFit card /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicSmartImgFit card /> - </section> - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props available to the components mentioned here. - </DescParagraph> - <ul> - <li> - <AnchorToTab href="/api/filecard">{"<FileCard/>"}</AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/fileinputbuttom"> - {"<FileInputButton/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/fullscreen"> - {"<FullScreen/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/imagepreview"> - {"<ImagePreview/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/videopreview"> - {"<VideoPreview/>"} - </AnchorToTab> - </li> - </ul> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileCardDemoPage; -const rightMenuItems = [ - { - id: 0, - label: "Basic file card", - referTo: "/components/filecard#basic-filecard", - }, - { - id: 1, - label: "Image Preview", - referTo: "/components/filecard#image-preview", - }, - { - id: 2, - label: "Validation", - referTo: "/components/filecard#validation", - }, - { - id: 3, - label: "Uploading", - referTo: "/components/filecard#uploading", - }, - { - id: 4, - label: "Actions", - referTo: "/components/filecard#actions", - }, - { - id: 5, - label: "Dark mode", - referTo: "/components/filecard#dark-mode", - }, - { - id: 7, - label: "Smart image fit", - referTo: "/components/filemosaic#smart-image-fit", - }, - { - id: 6, - label: "API", - referTo: "/components/filecard#api", - }, -]; diff --git a/src/pages/demo/FileInputButtonDemoPage.tsx b/src/pages/demo/FileInputButtonDemoPage.tsx deleted file mode 100644 index 6060193bbaab0b631f986dc4f3ed231fc1ee3cbd..0000000000000000000000000000000000000000 --- a/src/pages/demo/FileInputButtonDemoPage.tsx +++ /dev/null @@ -1,545 +0,0 @@ -import Alert from "@mui/material/Alert/Alert"; -import AlertTitle from "@mui/material/AlertTitle/AlertTitle"; -import Paper from "@mui/material/Paper"; -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import RightMenu from "../../components/RightMenu/RightMenu"; - -import BasicDropzoneCodeJS from "../../components/demo-components/dropzone-demo/BasicDropzoneCodeJS"; - -import DemoDropzoneStyling from "../../components/demo-components/dropzone-demo/DemoDropzoneStyling"; -import DemoDropzoneBehaviour from "../../components/demo-components/dropzone-demo/DemoDropzoneBehaviour"; -import DemoDropzoneLabel from "../../components/demo-components/dropzone-demo/DemoDropzoneLabel"; -import DemoDropzoneDisabled from "../../components/demo-components/dropzone-demo/DemoDropzoneDisabled"; -import DemoDropzoneRipple from "../../components/demo-components/dropzone-demo/DemoDropzoneRipple"; -import CodeDemoDropzoneStyling from "../../components/demo-components/dropzone-demo/CodeDropzoneDemoStyling"; -import CodeDemoDropzoneRipple from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneRipple"; -import CodeDemoDropzoneDisabled from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneDisabled"; -import CodeDemoDropzoneBehaviour from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneBehaviour"; -import CodeDemoDropzoneLabel from "../../components/demo-components/dropzone-demo/CodeDropzoneDemoLabel"; -import BasicDemoDropzone from "../../components/demo-components/dropzone-demo/BasicDropzoneDemo"; -import DemoDropzoneValidation from "../../components/demo-components/dropzone-demo/DemoDropzoneValidation"; -import CodeDemoDropzoneValidation from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneValidation"; -import DemoDropzoneCustomValidation from "../../components/demo-components/dropzone-demo/DemoDropzoneCustomValidation"; -import CodeDemoDropzoneCustomValidation from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneCustomValidation"; -import DemoDropzoneUploading from "../../components/demo-components/dropzone-demo/DemoDropzoneUploading"; -import CodeDemoDropzoneUploading from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneUploading"; -import DemoDropzoneActionButtons from "../../components/demo-components/dropzone-demo/DemoDropzoneActionButtons"; -import CodeDemoDropzoneActionButtons from "../../components/demo-components/dropzone-demo/CodeDemoDropzoneActionButtons"; -import { scrollHandler } from "../../utils/scrollHandler"; - -interface FileInputButtonDemoPageProps {} -const FileInputButtonDemoPage: React.FC<FileInputButtonDemoPageProps> = ( - props: FileInputButtonDemoPageProps -) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FileInputButton</MainTitle> - - <MainParagraph> - The default <CodeHighlight>{'<input type="file"/>'}</CodeHighlight> is - just a quite boring button. That's why we present the - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> component which - as an special <CodeHighlight>input</CodeHighlight> enhanced by the - ability to allow users to choose files from a file dialog and also to - validate an upload them. - </MainParagraph> - - <DescParagraph> - The widget is useful for handling one{" "} - <TypeHighlight>File</TypeHighlight> or a list of{" "} - <TypeHighlight>Files</TypeHighlight> in one or more of these - scenarios: - <ol> - <li>The file(s) must be chosen from a File Dialog</li> - <li> - The file(s) must be validated or not. If validation is required, - it can be done by taking into account a predefined set of allowed{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept"> - Common MIME Types - </AnchorToTab> - ; specifiying the max file size (in bytes) and/or the max amount - of files. - </li> - <li>The file(s) must be uploaded somewhere in the internet.</li> - </ol> - </DescParagraph> - - <DescParagraph> - This component works perfectly with{" "} - <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> and - <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components for - displaying the files. - </DescParagraph> - - <section id="basic-fileinputbutton"> - <SubTitle content="Basic FileInputButton" /> - <DescParagraph> - In this demo we set the{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> with the - minimum props that allows you to get your task done fast. These - props are <CodeHighlight>onChange</CodeHighlight> and{" "} - <CodeHighlight>value</CodeHighlight>. - </DescParagraph> - <Paper variant="outlined" style={{ padding: "25px" }}> - <BasicDemoDropzone button /> - </Paper> - <BasicDropzoneCodeJS button /> - <Alert severity="info"> - <AlertTitle> FileCard </AlertTitle> - For completeness, these examples include{" "} - <CodeHighlight>{`<FileCard/>`} </CodeHighlight> - component for showing the files selected by the user with minimun - props too. For further information of this component check out the{" "} - <AnchorToTab href="/components/filecard">FileCard</AnchorToTab>{" "} - page. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> ExtFile </AlertTitle> - {/* This is an info alert — <strong>check it out!</strong> - */} - <strong>ExtFile type </strong> - is explicity used in the - <strong> Typescript</strong> example and is implicity used in the{" "} - <strong>Javascript</strong> example for handling the metadata that - makes possible the information exchange between components. For - further information about this data type check out the{" "} - <AnchorToTab href="/types#extfile">ExtFile-API. </AnchorToTab> - </Alert> - </section> - - <section id="validation"> - <SubTitle content="Validation" /> - <DescParagraph> - In this demo you can see how{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> component - covers the following features when it comes to validating files. - <ol> - <li>Accepting specific file types.</li> - <li>Accepting an specific number of files.</li> - <li>Accepting files with an specific size (in bytes).</li> - </ol> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneValidation button /> - </Paper> - <CodeDemoDropzoneValidation button /> - <Alert severity="info"> - <AlertTitle> Removing non valid Files </AlertTitle> - We call "clean" to the operation of removing non valid files. Apart - from deleting them individually, there are some other ways in which - you can remove all of them. You can try the following props in the{" "} - {"<FileInputButton/>"} component: - <ul> - <li> - <TypeHighlight>actionButtons</TypeHighlight> : By setting this - prop properly, a button will be visible and will trigger the - "clean" operation (This is the way used in this demo). - </li> - <li> - <TypeHighlight>autoClean</TypeHighlight> : By setting this prop, - non valid files will be automatically discarted and will not be - given in the <CodeHighlight>onChange</CodeHighlight> event. - </li> - </ul> - </Alert> - </section> - - <section id="custom-validation"> - <SubTitle content="Custom validation" /> - <DescParagraph> - You can also override the FileInputButton validation operation by - giving a custom validation function that must fit the following - signature:{" "} - <CodeHighlight> - {"validator?: (f: "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/File"> - File - </AnchorToTab> - {") => "} - <AnchorToTab href="/types#custom-validate-file-response"> - ValidateFileResponse - </AnchorToTab> - </CodeHighlight> - . Custom validator can work together with{" "} - <TypeHighlight>accept</TypeHighlight>,{" "} - <TypeHighlight>maxFileSize</TypeHighlight> and{" "} - <TypeHighlight>maxFiles</TypeHighlight> props. - </DescParagraph> - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneCustomValidation button /> - </Paper> - <CodeDemoDropzoneCustomValidation button /> - </section> - - <section id="uploading"> - <SubTitle content="Uploading" /> - <DescParagraph> - For uploading , the prop <TypeHighlight>uploadConfig</TypeHighlight>{" "} - must be given. This prop recieves an object in which you can specify - the HTTP method, the url, the headers and also extra data to be - uploaded. The type definition for the prop mentioned can be found{" "} - <AnchorToTab href="/types#UploadConfig">here</AnchorToTab>. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneUploading button /> - </Paper> - - <CodeDemoDropzoneUploading button /> - <Alert severity="info"> - <AlertTitle> Server response </AlertTitle> - For uploading files through files-ui, server must return the - response with the structure of the{" "} - <TypeHighlight> - {" "} - <AnchorToTab href="/types#ServerResponse"> - ServerResponse - </AnchorToTab> - </TypeHighlight>{" "} - type. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> "fakeUpload" </AlertTitle> - By giving this prop, the {"<FileInputButton/>"} component will - simulate the upload operation by randomly setting the upload status - and message on each uploadable{" "} - <TypeHighlight>ExtFile</TypeHighlight>. It will also set a fake - progress. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> Upload config properties </AlertTitle> - Apart from the properties you can see in the example above, there - are more of them that can make the upload process to behave - differently. - <ul> - <li> - <TypeHighlight>autoUpload</TypeHighlight> : By setting this prop - to true, the upload process will start automatically just after - the user drops or selects files. - </li> - <li> - <TypeHighlight>cleanOnUpload</TypeHighlight> : By setting this - prop, you can control whether the upload process should "clean" - the non valid files before uploading or not. By default this - value is true. - </li> - </ul> - More information about the uploadConfig type structure can be found{" "} - <AnchorToTab href="/types#UploadConfig">here</AnchorToTab>. - </Alert> - </section> - - <section id="action-buttons"> - <SubTitle content="FileInputButton with action buttons" /> - <DescParagraph> - If you need to display buttons that trigger the default events in - the <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> component, - you can do it by adding the{" "} - <TypeHighlight>actionButtons</TypeHighlight> prop. This will add - buttons to the top or to the bottom of this component. - <ul> - <li> - FileInputButton with the{" "} - <TypeHighlight>actionButtons.cleanButton</TypeHighlight> prop - defined will display a button which triggers the clean process. - <br /> - This button will be visible only{" "} - <strong>when the "upload" process is not active</strong>. - </li> - <li> - FileInputButton with the{" "} - <TypeHighlight>actionButtons.deleteButton</TypeHighlight> prop - defined will display a button which deletes all files. - <br /> - this button will be visible only{" "} - <strong>when the "upload" process is not active</strong>. - </li> - <li> - FileInputButton with the{" "} - <TypeHighlight>actionButtons.uploadButton</TypeHighlight> prop - defined will display a button which starts the upload process. - This button will <strong>not</strong> be visible{" "} - <strong>during the "upload" process</strong>. - </li> - <li> - FileInputButton with the{" "} - <TypeHighlight>actionButtons.abortButton</TypeHighlight> prop - defined will display a button which stops the upload process. - <br /> - This button will be visible only{" "} - <strong>during the "upload" process</strong>. - </li> - </ul> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneActionButtons button /> - </Paper> - - <CodeDemoDropzoneActionButtons button /> - </section> - - <section id="styling"> - <SubTitle content="Styling FileInputButton" /> - <DescParagraph> - You can use change the look and feel of the{" "} - <CodeHighlight>FileInputButton</CodeHighlight> component - <ul> - <li> - FileInputButton with the <TypeHighlight>color</TypeHighlight>{" "} - prop defined will use this color as the theme color. - </li> - <li> - FileInputButton with the{" "} - <TypeHighlight>textColor</TypeHighlight> prop defined will use - this value to define the color of the text to be displayed. - </li> - <li> - FileInputButton with the <TypeHighlight>variant</TypeHighlight>{" "} - prop defined can display the button in 3 different variants: - contained(default), outlined and text. - </li> - <li> - FileInputButton with the{" "} - <TypeHighlight>textTransform</TypeHighlight> prop defined can - display the text with a text transform style (e.g. "uppercase"). - </li> - </ul> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneStyling button /> - </Paper> - - <CodeDemoDropzoneStyling button /> - </section> - - <section id="label"> - <SubTitle content="Label" /> - <DescParagraph> - You can specify a fixed label for{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> component. - <br /> - If not given, the default label is "Browse...". - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneLabel button /> - </Paper> - - <CodeDemoDropzoneLabel button /> - </section> - - <section id="ripple"> - <SubTitle content="Ripple" /> - <DescParagraph> - According to{" "} - <AnchorToTab href="https://m2.material.io/develop/ios/supporting/ripple"> - Material Design - </AnchorToTab> - , the Ripple component provides a radial action in the form of a - visual ripple expanding outward from the user's touch. Ripple is a - visual form of feedback for touch events providing users a clear - signal that an element is being touched. In this component, a ripple - is displayed When user clicks or touches the component. - <br /> - For disabling the ripple effect you can set the{" "} - <TypeHighlight>disableRipple</TypeHighlight> prop to true. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneRipple button /> - </Paper> - - <CodeDemoDropzoneRipple button /> - </section> - - <section id="disabled"> - <SubTitle content="Disabled FileInputButton" /> - <DescParagraph> - According to{" "} - <AnchorToTab href="https://m2.material.io/develop/ios/supporting/ripple"> - Material Design - </AnchorToTab>{" "} - a disabled state communicates when a component or element isn’t - interactive, and should be deemphasized in a UI. - <TypeHighlight>disabled</TypeHighlight> prop to true. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneDisabled button /> - </Paper> - - <CodeDemoDropzoneDisabled button /> - </section> - - <section id="add-or-replace"> - <SubTitle content="Add or replace files" /> - <DescParagraph> - There are 2 different behaviours when user selects or drops new - files: - <ul> - <li> - Dropzone with the <CodeHighlight>behaviour</CodeHighlight> set - to <TypeHighlight>"add"</TypeHighlight> will add the new files - to the current array of ExtFiles. - </li> - <li> - Dropzone with the <CodeHighlight>behaviour</CodeHighlight> set - to <TypeHighlight>"replace"</TypeHighlight> will replace the - current array of ExtFiles with the new ones. - </li> - </ul> - In this demo try to select files more than once on each - fileinputbutton to see the difference. - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <DemoDropzoneBehaviour button /> - </Paper> - - <CodeDemoDropzoneBehaviour button /> - </section> - - <section id="localization"> - <SubTitle content="Localization" /> - <DescParagraph> - Although the <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight>{" "} - allows full control of label, this component uses the{" "} - <TypeHighlight>localization</TypeHighlight> prop in the validation - and the upload process for setting status and messages according to - the language that this prop refers to. - <br /> - The localization demo for this component can be found in the{" "} - <AnchorToTab href="/localization">localization page</AnchorToTab>. - </DescParagraph> - </section> - - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props and classes available to the components mentioned here. - <ul> - <li> - <CodeHighlight> - <AnchorToTab href="/api/fileinputbutton"> - {"<FileInputButton />"} - </AnchorToTab> - </CodeHighlight> - </li> - <li> - <CodeHighlight> - <AnchorToTab href="/api/filecard"> - {"<FileCard />"} - </AnchorToTab> - </CodeHighlight> - </li> - </ul> - </DescParagraph> - </section> - </MainContentContainer> - - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileInputButtonDemoPage; - -const rightMenuItems = [ - { - id: 0, - label: "Basic file input", - referTo: "/components/fileinputbutton#basic-fileinputbutton", - }, - { - id: 1, - label: "Validation", - referTo: "/components/fileinputbutton#validation", - }, - { - id: 2, - label: "Custom validation", - referTo: "/components/fileinputbutton#custom-validation", - }, - { - id: 3, - label: "Uploading", - referTo: "/components/fileinputbutton#uploading", - }, - { - id: 5, - label: "Action buttons", - referTo: "/components/fileinputbutton#action-buttons", - }, - - { - id: 6, - label: "Styling", - referTo: "/components/fileinputbutton#styling", - }, - { - id: 14, - label: "Label", - referTo: "/components/fileinputbutton#label", - }, - { - id: 8, - label: "Ripple", - referTo: "/components/fileinputbutton#ripple", - }, - { - id: 11, - label: "Disabled", - referTo: "/components/fileinputbutton#disabled", - }, - - { - id: 15, - label: "Add or replace", - referTo: "/components/fileinputbutton#add-or-replace", - }, - { - id: 7, - label: "Localization", - referTo: "/components/fileinputbutton#localization", - }, - { - id: 8, - label: "API", - referTo: "/components/fileinputbutton#api", - }, -]; diff --git a/src/pages/demo/FileMosaicDemoPage.jsx b/src/pages/demo/FileMosaicDemoPage.jsx deleted file mode 100644 index 4ca66f30ca8da67cf23579adf82ff66d503e7547..0000000000000000000000000000000000000000 --- a/src/pages/demo/FileMosaicDemoPage.jsx +++ /dev/null @@ -1,465 +0,0 @@ -import { Alert, AlertTitle, Paper } from "@mui/material"; -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; - -import CodeJSFileMosaicBasic from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicBasic"; -import DemoFileMosaicBasic from "../../components/demo-components/filemosaic-demo/DemoFileMosaicBasic"; -import DemoFileMosaicImagePreview from "../../components/demo-components/filemosaic-demo/DemoFileMosaicImagePreview"; -import CodeJSFileMosaicImagePreview from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicImagePreview"; -import DemoContainerFileMosaic from "../../components/demo-components/filemosaic-demo/DemoContainerFileMosaic"; -import CodeJSFileMosaicValidation from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicValidation"; -import DemoFileMosaicValidation from "../../components/demo-components/filemosaic-demo/DemoFileMosaicValidation"; -import CodeJSFileMosaicUploadStatus from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicUploadStatus"; -import DemoFileMosaicUploadStatus from "../../components/demo-components/filemosaic-demo/DemoFileMosaicUploadStatus"; -//import DemoFileMosaicLocalization from "../../components/demo-components/localization/DemoFileMosaicLocalization"; -//import CodeJSFileMosaicLocalization from "../../components/demo-components/localization/CodeJSFileMosaicLocalization"; -import DemoFileMosaicDarkMode from "../../components/demo-components/filemosaic-demo/DemoFileMosaicDarkMode"; -import CodeJSFileMosaicDarkMode from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicDarkMode"; -//import DemoFileMosaicFileIcons from "../../components/demo-components/filemosaic-demo/DemoFileMosaicFileIcons"; -import DemoFileCardActions from "../../components/demo-components/filemosaic-demo/DemoFileCradActions"; -import CodeJSFileCardActions from "../../components/demo-components/filemosaic-demo/CodeJSFileCardActions"; -import DemoFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/DemoFileMosaicSmartImgFit"; -import CodeJSFileMosaicSmartImgFit from "../../components/demo-components/filemosaic-demo/CodeJSFileMosaicSmartImgFit"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const FileMosaicDemoPage = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FileMosaic</MainTitle> - <MainParagraph> - File mosaics are compact elements that represent a file in the UI. - They can be used for just showing general info of the file, or either - to allow the user to interact with them. - </MainParagraph> - <DescParagraph> - This widget allow users to see information of{" "} - <TypeHighlight> Files</TypeHighlight> and / or trigger actions. - </DescParagraph> - <Alert severity="info"> - While included here as a standalone component, the most common use - will be to display the result of the "onChange" event of{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> or{" "} - <CodeHighlight>{"<InputButton/>"}</CodeHighlight> components, so some - of the behavior demonstrated here is not totally shown in context.{" "} - </Alert> - <section id="basic-filemosaic"> - <SubTitle content="Basic FileMosaic" /> - <DescParagraph> - The <CodeHighlight>FileMosaic</CodeHighlight> component supports - displaying information from a{" "} - <TypeHighlight> - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/File"> - File - </AnchorToTab> - </TypeHighlight>{" "} - object or from given props. - <br /> - Also, the <TypeHighlight>onDelete</TypeHighlight> prop is used to - remove the file selection. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileMosaicBasic /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicBasic /> - - <Alert severity="info"> - <AlertTitle> FileInputButton </AlertTitle> - For completeness, some of these examples include{" "} - <CodeHighlight>{`<FileInputButton/>`} </CodeHighlight> - component for allowing the user to select files. For further - information of this component check out the{" "} - <AnchorToTab href="/components/fileinputbutton"> - FileInputButton - </AnchorToTab>{" "} - page. - </Alert> - <br /> - <Alert severity="info"> - <AlertTitle> ExtFile </AlertTitle> - {/* This is an info alert — <strong>check it out!</strong> - */} - <strong>ExtFile type </strong> - is explicity used in the - <strong> Typescript</strong> example and is implicity used in the{" "} - <strong>Javascript</strong> example for handling the metadata that - makes possible the information exchange between components. For - further information about this data type check out the{" "} - <AnchorToTab href="/types#extfile">ExtFile-API. </AnchorToTab> - </Alert> - </section> - - <section id="image-preview"> - <SubTitle content="Image preview" /> - <DescParagraph> - By setting the <CodeHighlight>preview</CodeHighlight> prop to{" "} - <TypeHighlight>true</TypeHighlight> the component will show an image - preview instead of a file icon. - <br /> - To acomplish this task this component will take the{" "} - <CodeHighlight>imageUrl</CodeHighlight> - prop or will read the <TypeHighlight>File</TypeHighlight> object if - given and if it is an image. - <br /> - Finally, the <TypeHighlight>info</TypeHighlight> prop is used to - show the complete information of the file. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileMosaicImagePreview /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicImagePreview /> - <Alert severity="info"> - As you can notice, when - <CodeHighlight>{`imageUrl`}</CodeHighlight> prop is present, the{" "} - <CodeHighlight>{`preview`}</CodeHighlight> prop is not needed since - it has more priority. - <br /> - On the other side, for displaying an image preview as a result of - reading an image File it is necesary to set the{" "} - <CodeHighlight>{`preview`}</CodeHighlight> prop, otherwise a default - image preview will be shown in order to save memory. - </Alert> - </section> - - <section id="validation"> - <SubTitle content="Validation" /> - <DescParagraph> - The <CodeHighlight>valid</CodeHighlight> prop can be set to{" "} - <TypeHighlight>true</TypeHighlight>,{" "} - <TypeHighlight>false</TypeHighlight> or{" "} - <TypeHighlight>undefined</TypeHighlight>. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileMosaicValidation /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicValidation /> - <Alert severity="info"> - Typically, <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> or{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> components set - this prop when validating the input from a given criteria. You can - see the behaviour mentioned in the following demos: - <ul> - <li> - <AnchorToTab href="/components/dropzone#validation"> - Dropzone validation - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/fileinputbutton#validation"> - FileInputButton validation - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - - <section id="uploading"> - <SubTitle content="Uploading status" /> - <DescParagraph> - The <CodeHighlight>uploadStatus</CodeHighlight> prop can be set to{" "} - <TypeHighlight>"preparing"</TypeHighlight>,{" "} - <TypeHighlight>"uploading"</TypeHighlight>,{" "} - <TypeHighlight>"aborted"</TypeHighlight>,{" "} - <TypeHighlight>"error"</TypeHighlight> or{" "} - <TypeHighlight>"success"</TypeHighlight>. Also the{" "} - <CodeHighlight>uploadMessage</CodeHighlight> prop is used for - displaying the error or success message. Finally, the{" "} - <CodeHighlight>progress</CodeHighlight> prop can be used to show the - current progress of the upload process. - <br /> - Each of the following examples demonstrates one state combination of - the FileMosaic component. - </DescParagraph> - - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "center", - flexDirection: "column", - gap: "7px", - }} - > - <DemoFileMosaicUploadStatus /> - </Paper> - - <CodeJSFileMosaicUploadStatus /> - - <Alert severity="info"> - As you can see, you have full control of the FileMosaic upload - props. You can take advantage of them to ake your own upload - function and show the user the progress. - <br /> On the other hand, you can also leverage the capability of{" "} - <CodeHighlight>{"<Dropzone/>"}</CodeHighlight> and{" "} - <CodeHighlight>{"<FileInputButton/>"}</CodeHighlight> components - since they also manage the{" "} - <TypeHighlight>{"uploadStatus"}</TypeHighlight> - prop for you when upload is enabled. You can see the behaviour - mentioned in the following demos: - <ul> - <li> - <AnchorToTab href="/components/dropzone#uploading"> - Dropzone upload - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/components/fileinputbutton#uploading"> - FileInputButton upload - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="actions"> - <SubTitle content="Actions: info, delete, see, watch, download" /> - <DescParagraph> - You can use the following actions. - <ul> - <li> - FileMosaic with the <CodeHighlight>onDelete</CodeHighlight> prop - will display a delete icon. - </li> - <li> - FileMosaic with the <CodeHighlight>info</CodeHighlight> prop - will display an "info" icon that will display an info layer. - </li> - <li> - FileMosaic with the <CodeHighlight>onSee</CodeHighlight> prop - will display the "see" button that can be used to retrieve an - image <TypeHighlight>URI</TypeHighlight> obtained by reading a{" "} - <TypeHighlight>File</TypeHighlight> object if given or just the{" "} - <TypeHighlight>imageUrl</TypeHighlight> prop if given. In the - first case, the file must be an image. - </li> - <li> - FileMosaic with the <CodeHighlight>onWatch</CodeHighlight> prop - will display the "play" icon that can be used to retrieve the - video as a <TypeHighlight>File</TypeHighlight> object if given - or just the <TypeHighlight>videoUrl</TypeHighlight> prop if - given. The file must be an video. - </li> - <li> - FileMosaic with the <CodeHighlight>downloadUrl</CodeHighlight>{" "} - prop will display the "download" icon that can be used to start - the download. If the <CodeHighlight>onDownload</CodeHighlight>{" "} - prop is given, the "download" icon will also be visible, but it - will be taken as the user will perform their own download. - </li> - </ul> - </DescParagraph> - - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "center", - gap: "7px", - flexWrap: "wrap", - width: "100%", - //padding: "25px 0", - flexDirection: "row", - }} - > - <DemoFileCardActions /> - </Paper> - <CodeJSFileCardActions /> - <Alert severity="info"> - <AlertTitle> - {" "} - <strong>downloadUrl</strong> and <strong>onDownload</strong> props - </AlertTitle> - {/* This is an info alert — <strong>check it out!</strong> - */} - When only <CodeHighlight>downloadUrl</CodeHighlight> is specified, - FileMosaic will perform the download only for{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy"> - same-origin URLs - </AnchorToTab>{" "} - since it uses the{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes"> - anchor - </AnchorToTab>{" "} - tag under the hood. - <br /> - If the resource is located in any other host, it will open a new tab - and display the content. - <br /> - For avoiding that behaviour you can do you own download - implementation by overriding the download function by setting the{" "} - <CodeHighlight>onDownload</CodeHighlight> prop. - <br /> - You can check an example here: - <ul> - <li> - <AnchorToTab href="/file-download#differenthost2"> - {"Download a File from different host"} - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - <section id="dark-mode"> - <SubTitle content="Dark mode" /> - <DescParagraph> - The <CodeHighlight>FileMosaic</CodeHighlight> component supports - dark mode by setting the prop{" "} - <TypeHighlight>darkMode</TypeHighlight> to{" "} - <TypeHighlight>true</TypeHighlight>. - </DescParagraph> - - <Paper - variant="outlined" - style={{ - //padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "center", - width: "100%", - }} - > - <DemoFileMosaicDarkMode /> - </Paper> - - <CodeJSFileMosaicDarkMode /> - </section> - - <section id="smart-image-fit"> - <SubTitle content="Smart image fit" /> - <DescParagraph> - <CodeHighlight>FileMosaic</CodeHighlight> with - <TypeHighlight>smartImgFit</TypeHighlight> prop will display image - according to its heigh and width. - <br /> - Image with height greater than its width has a "portrait" - orientation. Otherwise it has a "landscape" orientation. - </DescParagraph> - - <DemoContainerFileMosaic> - <DemoFileMosaicSmartImgFit /> - </DemoContainerFileMosaic> - - <CodeJSFileMosaicSmartImgFit /> - </section> - - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props available to the components mentioned here. - </DescParagraph> - <ul> - <li> - <AnchorToTab href="/api/filemosaic"> - {"<FileMosaic/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/fileinputbuttom"> - {"<FileInputButton/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/fullscreen"> - {"<FullScreen/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/imagepreview"> - {"<ImagePreview/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/videopreview"> - {"<VideoPreview/>"} - </AnchorToTab> - </li> - </ul> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileMosaicDemoPage; - -const rightMenuItems = [ - { - id: 0, - label: "Basic file mosaic", - referTo: "/components/filemosaic#basic-filemosaic", - }, - { - id: 1, - label: "Image Preview", - referTo: "/components/filemosaic#image-preview", - }, - { - id: 2, - label: "Validation", - referTo: "/components/filemosaic#validation", - }, - { - id: 3, - label: "Uploading", - referTo: "/components/filemosaic#uploading", - }, - { - id: 4, - label: "Actions", - referTo: "/components/filemosaic#actions", - }, - { - id: 5, - label: "Dark mode", - referTo: "/components/filemosaic#dark-mode", - }, - { - id: 7, - label: "Smart image fit", - referTo: "/components/filemosaic#smart-image-fit", - }, - { - id: 6, - label: "API", - referTo: "/components/filemosaic#api", - }, -]; diff --git a/src/pages/demo/FullScreenDemoPage.tsx b/src/pages/demo/FullScreenDemoPage.tsx deleted file mode 100644 index 18c088163ebb6112aa277e3f4cf44c4e0362dcd8..0000000000000000000000000000000000000000 --- a/src/pages/demo/FullScreenDemoPage.tsx +++ /dev/null @@ -1,165 +0,0 @@ -import { Alert, Paper } from "@mui/material"; -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import CodeDemoFullScrrenImg from "../../components/demo-components/fullsceen/CodeDemoFullScreenImg"; -import CodeDemoFullScrrenVid from "../../components/demo-components/fullsceen/CodeDemoFullScreenVid"; -import DemoFullScreenImg from "../../components/demo-components/fullsceen/DemoFullScreenImg"; -import DemoFullScreenVid from "../../components/demo-components/fullsceen/DemoFullScreenVid"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import { scrollHandler } from "../../utils/scrollHandler"; -interface FullScreenDemoPageProps {} -const FullScreenDemoPage: React.FC<FullScreenDemoPageProps> = ( - props: FullScreenDemoPageProps -) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainContentContainer> - <MainTitle>FullScreen</MainTitle> - <MainParagraph> - Basically the purpose of the{" "} - <CodeHighlight>{"<FullScreen/>"}</CodeHighlight> component is to - highlight any kind of component and works in a similar way a modal - does. It provides important prompts in a user flow. - <br /> - You can close it by clicking on the close button or with the "esc" - key. - </MainParagraph> - - <Alert severity="info"> - While included here as a standalone component, the most common use - will be to display the the image preview or video preview - withSubMenufiring the onSee event or onWatch event from - <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> or{" "} - <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components, so for - completeness, those components are included in the examples - </Alert> - - <section id="imagepreview"> - <SubTitle content="Image preview" /> - <DescParagraph> - To display an image in full screen you can use the {"<FullScreen/>"}{" "} - and {"<ImagePreview/>"} components. - </DescParagraph> - - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "7px", - flexWrap: "wrap", - width: "100%", - //padding: "25px 0", - flexDirection: "row", - }} - > - <DemoFullScreenImg /> - </Paper> - - <CodeDemoFullScrrenImg /> - </section> - - <section id="videopreview"> - <SubTitle content="Video preview" /> - <DescParagraph> - To display a video in full screen you can use the {"<FullScreen/>"}{" "} - and {"<VideoPreview/>"} components. - </DescParagraph> - - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - gap: "7px", - flexWrap: "wrap", - width: "100%", - //padding: "25px 0", - flexDirection: "row", - }} - > - <DemoFullScreenVid /> - </Paper> - - <CodeDemoFullScrrenVid /> - </section> - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props available to the components mentioned here. - </DescParagraph> - <ul> - <li> - <AnchorToTab href="/api/fullscreen"> - {"<FullScreen/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/imagepreview"> - {"<ImagePreview/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/videopreview"> - {"<VideoPreview/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/filecard">{"<FileCard/>"}</AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/fileinputbuttom"> - {"<FileInputButton/>"} - </AnchorToTab> - </li> - </ul> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FullScreenDemoPage; -const rightMenuItems = [ - { - id: 0, - label: "Fullscreen Image", - referTo: "/components/fullscreen#imagepreview", - }, - { - id: 1, - label: "FullScreen Video", - referTo: "/components/fullscreen#videopreview", - }, -]; diff --git a/src/pages/download-page/FileDownloadPage.tsx b/src/pages/download-page/FileDownloadPage.tsx deleted file mode 100644 index 9f6d5803485aec10276291acf9157dca9e3d7dc3..0000000000000000000000000000000000000000 --- a/src/pages/download-page/FileDownloadPage.tsx +++ /dev/null @@ -1,209 +0,0 @@ -import { Paper } from "@mui/material"; -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import CodeDemoDownload2 from "../../components/demo-components/demo-download/CodeDemoDownload"; -import CodeDemoDownload1 from "../../components/demo-components/demo-download/CodeDemoDownload1"; -import CodeDemoDownload3 from "../../components/demo-components/demo-download/CodeDemoDownload3"; -import DemoDownload1 from "../../components/demo-components/demo-download/DemoDownload1"; -import DemoDownload2 from "../../components/demo-components/demo-download/DemoDownload2"; -import DemoDownload3 from "../../components/demo-components/demo-download/DemoDownload3"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const FileDownloadPage = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={9}> - <MainContentContainer> - <MainTitle>File Download</MainTitle> - <MainParagraph> - In this page you will find some demos for downloading files with{" "} - <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> and{" "} - <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components. - </MainParagraph> - <section id="samehost"> - <SubTitle content="Same origin URL" /> - <DescParagraph> - When only <CodeHighlight>downloadUrl</CodeHighlight> is specified, - FileMosaic will perform the download only for{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy"> - same-origin URLs - </AnchorToTab>{" "} - since it uses the{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes"> - anchor - </AnchorToTab>{" "} - tag under the hood. - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - width: "100%", - }} - > - <DemoDownload1 /> - </Paper> - <CodeDemoDownload1 /> - </section> - <section id="differenthost1"> - <SubTitle content="Different origin URL and 'downloadUrl' prop specified" /> - <DescParagraph> - When only <CodeHighlight>downloadUrl</CodeHighlight> is specified - and if the resource is located in any other host (on Stean for - instance), the component will open a new tab and display the - content. - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - width: "100%", - }} - > - <DemoDownload2 /> - </Paper> - <CodeDemoDownload2 /> - </section> - <section id="differenthost2"> - <SubTitle content="Different origin URL and 'onDownload' prop specified" /> - <DescParagraph> - For avoiding the behaviour described above, you can do you own - download implementation by overriding the download function by - setting the <CodeHighlight>onDownload</CodeHighlight> prop. There - is an example of how to do it with pure javascript. - <br /> - The approach we use here can be summerized in 4 steps: - <ol> - <li> - Make a GET request with{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/fetch"> - fetch API - </AnchorToTab>{" "} - (you can use{" "} - <AnchorToTab href="https://axios-http.com/"> - axios - </AnchorToTab>{" "} - or any other way to fetch resources from internet). - </li> - <li> - Create an{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL"> - Object URL - </AnchorToTab>{" "} - from the{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/API/Blob"> - Blob - </AnchorToTab>{" "} - file. - </li> - <li> - Create an{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes"> - anchor tag - </AnchorToTab>{" "} - set the attributes, append it to the document, and click it - programatically. - </li> - <li> - Finally, revoke the Object URL and remove the anchor from - document. - </li> - </ol> - - </DescParagraph> - <Paper - variant="outlined" - style={{ - padding: "25px", - display: "flex", - alignItems: "center", - justifyContent: "space-evenly", - width: "100%", - }} - > - <DemoDownload3 /> - </Paper> - <CodeDemoDownload3 /> - </section>{" "} - <section id="api"> - <SubTitle content="API" /> - <DescParagraph> - See the documentation below for a complete reference to all of the - props available to the components mentioned here. - </DescParagraph> - <ul> - <li> - <AnchorToTab href="/api/filemosaic"> - {"<FileMosaic/>"} - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/api/filecard">{"<FileCard/>"}</AnchorToTab> - </li> - </ul> - </section> - </MainContentContainer> - </MainLayoutPage> - - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileDownloadPage; - -const rightMenuItems = [ - { - id: 0, - label: "Same host", - referTo: "/file-download#samehost", - }, - { - id: 1, - label: "Different host 1", - referTo: "/file-download#differenthost1", - }, - { - id: 2, - label: "Different host 2", - referTo: "/file-download#differenthost2", - }, - { - id: 3, - label: "Components API", - referTo: "/file-download#api", - }, -]; diff --git a/src/pages/error-page/ErrorPage.scss b/src/pages/error-page/ErrorPage.scss deleted file mode 100644 index 307b7edf38fb205251b41453e441dd2b95db621c..0000000000000000000000000000000000000000 --- a/src/pages/error-page/ErrorPage.scss +++ /dev/null @@ -1,44 +0,0 @@ -/*====================== - 404 page -=======================*/ - -.page_404 { - padding: 40px 0; - background: #fff; - width: 100%; - height: 100vh; - // font-family: "Arvo", serif; -} - -.page_404 img { - width: 100%; -} - -.four_zero_four_bg { - background-image: url(https://cdn.dribbble.com/users/285475/screenshots/2083086/dribbble_1.gif); - - background-position: center; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -.four_zero_four_bg h1 { - font-size: 80px; -} - -.four_zero_four_bg h3 { - font-size: 80px; -} - -.link_404 { - color: #fff !important; - padding: 10px 20px; - background: #39ac31; - margin: 20px 0; - display: inline-block; -} -.contant_box_404 { - margin-top: -50px; -} diff --git a/src/pages/error-page/ErrorPage.tsx b/src/pages/error-page/ErrorPage.tsx deleted file mode 100644 index 15b4ba5d0c19fdbf9d3592641ef0b4fbd45bb9a8..0000000000000000000000000000000000000000 --- a/src/pages/error-page/ErrorPage.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import * as React from "react"; -import { ErrorPageProps } from "./ErrorPageProps"; -import "./ErrorPage.scss"; -import { Box, Button } from "@mui/material"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import { useNavigate } from "react-router-dom"; - -const ErrorPage: React.FC<ErrorPageProps> = (props: ErrorPageProps) => { - //const goBack = useNavigateGoBack(); - const navigate = useNavigate(); - const handleReturn = () => { - navigate(-1); - }; - - return ( - <div - style={{ - width: "100%", - display: "flex", - alignItems: "center", - flexDirection: "column", - justifyContent: "center", - }} - > - <Box - sx={{ - width: "100%", - display: "flex", - alignItems: "center", - flexDirection: "column", - justifyContent: "flex-start", - height:{sm: "400px", xs:"300px", lg:"600px"}, - //objectFit: "cover", - backgroundSize:"cover", - backgroundPosition:"center", - backgroundRepeat: "no-repeat", - backgroundImage: - "url(https://cdn.dribbble.com/users/285475/screenshots/2083086/dribbble_1.gif)", - }} - > - <MainTitle style={{ fontSize: "5rem", marginBottom: 0, marginTop:"10px" }}>404</MainTitle> - - {/* <img - src="https://cdn.dribbble.com/users/285475/screenshots/2083086/dribbble_1.gif" - alt="error_image" - width={"100%"} - style={{backgroundPosition:"center"}} - /> */} - </Box> - <MainParagraph>Looks like you're lost</MainParagraph> - <DescParagraph> - the page you are looking for is not avaible! - </DescParagraph> - <Button onClick={handleReturn} variant="outlined"> - Go back - </Button> - </div> - ); -}; -export default ErrorPage; diff --git a/src/pages/error-page/ErrorPageProps.ts b/src/pages/error-page/ErrorPageProps.ts deleted file mode 100644 index 1985bb722bb3ab22fa9bbed235fdc1da09a2cd6f..0000000000000000000000000000000000000000 --- a/src/pages/error-page/ErrorPageProps.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ErrorPageProps{ - darkMode?:boolean; -} \ No newline at end of file diff --git a/src/pages/file-icons/FileIconsPage.jsx b/src/pages/file-icons/FileIconsPage.jsx deleted file mode 100644 index 996e48628abb01252d50b364a12581376f57c1e4..0000000000000000000000000000000000000000 --- a/src/pages/file-icons/FileIconsPage.jsx +++ /dev/null @@ -1,100 +0,0 @@ -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import Paper from "@mui/material/Paper"; -import DemoFileMosaicFileIcons from "../../components/demo-components/filemosaic-demo/DemoFileMosaicFileIcons"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import FileCardMosaicSwitch from "../../components/switch/FileCardMosaicSwitch"; -import { scrollHandler } from "../../utils/scrollHandler"; -const FileIconsPage = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - const [component, setComponent] = React.useState("FileMosaic"); - const handleChangeComponent = (newVal) => { - setComponent(newVal); - }; - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={4}> - <MainContentContainer> - <MainTitle>File Icons (extensive list)</MainTitle> - <MainParagraph> - Both <CodeHighlight>{"<FileMosaic/>"}</CodeHighlight> and{" "} - <CodeHighlight>{"<FileCard/>"}</CodeHighlight> components diplay a - file icon according to the file mime type. A media type (also known - as a Multipurpose Internet Mail Extensions or MIME type) indicates - the nature and format of a document, file, or assortment of bytes. - You can find more information{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types"> - here - </AnchorToTab> - . Files UI supports at list the least this{" "} - <AnchorToTab href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types"> - Common MIME types - </AnchorToTab>{" "} - and some other extra file types. - </MainParagraph> - - <section id="complete-list"> - <SubTitle content="Complete list" /> - <DescParagraph> - Bellow you can see a preview of every file type supported: - </DescParagraph> - <FileCardMosaicSwitch - value={component} - onChange={handleChangeComponent} - /> - <Paper - variant="outlined" - style={{ - padding: "25px 0", - display: "flex", - alignItems: "center", - justifyContent: "center", - //flexDirection: "column", - gap: "10px", - flexWrap: "wrap", - }} - > - <DemoFileMosaicFileIcons card={component === "FileCard"} /> - </Paper> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </MainLayoutPage> - </React.Fragment> - ); -}; -export default FileIconsPage; - -const rightMenuItems = [ - { - id: 0, - label: "Complete list", - referTo: "/file-icons#complete-list", - }, -]; diff --git a/src/pages/getting-started/ClipBoardInstall.jsx b/src/pages/getting-started/ClipBoardInstall.jsx deleted file mode 100644 index 7cd3f9e0e719a22549fed396021d05082e1435e0..0000000000000000000000000000000000000000 --- a/src/pages/getting-started/ClipBoardInstall.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import * as React from "react"; - -const ClipBoardInstall = (props) => { - return ( - <div className="clipboard-container"> - <span style={{ color: "#60d2ff" }}> - <span style={{ color: "white" }}> - <b>{" > "}</b> - </span> - <span style={{ color: "#e2d487" }}>{"npm "} </span> - <span style={{ color: "white" }}>{"install "} </span> - <span>{"@files-ui/react"} </span> - {"axios"} - </span> - <Clipboard - style={{ backgroundColor: "grey" }} - code="npm install @dropzone-ui/react axios" - onCopyToClipboard={() => {}} - /> - </div> - ); -}; -export default ClipBoardInstall; diff --git a/src/pages/getting-started/GettingStartedPage.jsx b/src/pages/getting-started/GettingStartedPage.jsx deleted file mode 100644 index 1f5057c3ef2481832169f03f9d3dd9c5b89353ef..0000000000000000000000000000000000000000 --- a/src/pages/getting-started/GettingStartedPage.jsx +++ /dev/null @@ -1,110 +0,0 @@ -import * as React from "react"; - -import { Stack } from "@mui/material"; -import Overview from "../../components/getting-started/Overview"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import logoLight from "../../static/files-ui-logo-blue-wbg.png"; -import logo_blue from "../../static/files-ui-logo-blue.png"; -import "../../styles/GettingStartedPage.scss"; -import InstallationNPM from "../../components/getting-started/InstallationNPM"; -import InstallationYarn from "../../components/getting-started/InstallationYarn"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; - -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import { scrollHandler } from "../../utils/scrollHandler"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -const GettingStartedPage = ({ darkModeOn }) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - - return ( - <MainLayoutPage selectedIndex={0}> - <MainContentContainer> - <Stack sx={{ width: "100%", alignItems: "center" }}> - <img - className="fui-logo-img-getting-started" - src={!darkModeOn ? logo_blue : logoLight} - alt="files-ui-logo" - /> - <MainTitle>Files UI - Getting started!</MainTitle> - </Stack> - <section id="overview"> - <Overview /> - </section> - - <section id="installation"> - <SubTitle content="Installation" /> - - <MainParagraph> - Run one of the following commands to add Files UI to your project: - </MainParagraph> - <h3>npm:</h3> - <InstallationNPM /> - <h3>yarn:</h3> - <InstallationYarn /> - </section> - - <section id="peer-dependency"> - <SubTitle content="Peer dependency" /> - - <DescParagraph> - <CodeHighlight>react </CodeHighlight> {">= 17.0.0 "}and{" "} - <CodeHighlight>react-dom</CodeHighlight> - {" >= 17.0.0 "} are peer dependencies. - </DescParagraph> - </section> - <section id="default-font"> - <SubTitle content="Default font" /> - - <DescParagraph> - Files UI components use the Poppins font by default. However, you - can set your own font-family en each component. - </DescParagraph> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </MainLayoutPage> - ); -}; -export default GettingStartedPage; - -const rightMenuItems = [ - { - id: 0, - label: "Overview", - referTo: "/getting-started#overview", - }, - { - id: 1, - label: "Installation", - referTo: "/getting-started#installation", - }, - { - id: 2, - label: "Peer dependency", - referTo: "/getting-started#peer-dependency", - }, - { id: 3, label: "Default font", referTo: "/getting-started#default-font" }, -]; diff --git a/src/pages/global-config-page/GlobalConfigPage.tsx b/src/pages/global-config-page/GlobalConfigPage.tsx deleted file mode 100644 index 79e2f84db3a5dcc502f474fcd7be744831cb6056..0000000000000000000000000000000000000000 --- a/src/pages/global-config-page/GlobalConfigPage.tsx +++ /dev/null @@ -1,142 +0,0 @@ -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import { scrollHandler } from "../../utils/scrollHandler"; -import { Paper, Alert, AlertTitle } from "@mui/material"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import DemoGlobalConfig from "../../components/demo-components/global-demo/DemoGlobalConfig"; -import FileCardMosaicSwitch from "../../components/switch/FileCardMosaicSwitch"; -import CodeDemoGlobalConfig from "../../components/demo-components/global-demo/CodeDemoGlobalConfig"; - -interface GlobalConfigPageProps {} -const GlobalConfigPage: React.FC<GlobalConfigPageProps> = ( - props: GlobalConfigPageProps -) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - - const [component, setComponent] = React.useState("FileMosaic"); - const handleChangeComponent = (newVal: string) => { - setComponent(newVal); - }; - - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={10}> - <MainContentContainer> - <MainTitle>Global configuration</MainTitle> - <MainParagraph> - There are some params like <CodeHighlight>darkMode</CodeHighlight>{" "} - or localization that can be set through a global config. - <br /> - Also, you can add your custom icons sources. - </MainParagraph> - <DescParagraph> - This feature is possible thanks to the React{" "} - <AnchorToTab href="https://react.dev/reference/react#context-hooks"> - Context hooks - </AnchorToTab> - . - </DescParagraph> - <Alert severity="info"> - <AlertTitle> Context and Providers </AlertTitle> - When it comes to Context and Providers you can think that the - provider is just the in charge one to pass globally a "prop". So you - can avoid the set it individually on every component. - <br></br> - For using this feature you don't need to be an expert on{" "} - <TypeHighlight>React.Context</TypeHighlight>. - </Alert> - <section id="config"> - <SubTitle content="Config" /> - <DescParagraph> - In the following demo we will wrap the complete app and will set - the 3 allowed params: - <ul> - <li>darkMode</li> - <li>localization</li> - <li>icons</li> - </ul> - </DescParagraph> - - <FileCardMosaicSwitch - value={component} - onChange={handleChangeComponent} - withInput - row - /> - - <Paper - variant="outlined" - style={{ - padding: "25px 10px", - display: "flex", - alignItems: "center", - justifyContent: "center", - flexDirection: "column", - gap: "20px", - }} - > - <DemoGlobalConfig card={component === "FileCard"} /> - </Paper> - - <CodeDemoGlobalConfig /> - - <Alert severity="info"> - This demo is a combination of other samples that you can find in - their respective pages. For further information about the data - types involved you can visit: - <ul> - <li> - <AnchorToTab href="/types#filesuiconfig"> - FilesUIConfig type page - </AnchorToTab> - </li> - <li> - <AnchorToTab href="/types#iconsset"> - IconsSet type page - </AnchorToTab> - </li> - </ul> - </Alert> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </MainLayoutPage> - </React.Fragment> - ); -}; -export default GlobalConfigPage; - -const rightMenuItems = [ - { - id: 0, - label: "FilesUiProvider", - referTo: "/global-config#config", - }, -]; diff --git a/src/pages/localization/LocalizationPage.jsx b/src/pages/localization/LocalizationPage.jsx deleted file mode 100644 index e1885031556903f831a6af56c38eddbe0f04d333..0000000000000000000000000000000000000000 --- a/src/pages/localization/LocalizationPage.jsx +++ /dev/null @@ -1,116 +0,0 @@ -import * as React from "react"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import Paper from "@mui/material/Paper"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -// import AnchorToTab from "../../components/util-components/AnchorToTab"; -import FileCardMosaicSwitch from "../../components/switch/FileCardMosaicSwitch"; -import TypeHighlight from "../../components/typeHighlight/TypeHighlight"; -import DemoFileMosaicLocalization from "../../components/demo-components/localization/DemoFileMosaicLocalization"; -import CodeJSFileMosaicLocalization from "../../components/demo-components/localization/CodeJSFileMosaicLocalization"; -import { scrollHandler } from "../../utils/scrollHandler"; - -const LocalizationPage = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - const [component, setComponent] = React.useState("FileMosaic"); - const handleChangeComponent = (newVal) => { - setComponent(newVal); - }; - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={5}> - <MainContentContainer> - <MainTitle>Localization</MainTitle> - <MainParagraph> - Localization (also referred to as "l10n") is the process of adapting - a product or content to a specific locale or market. - <br /> - The default locale of Files UI is English. If you want to use other - locales, follow the instructions below. - </MainParagraph> - - <section id="locale-texts"> - <SubTitle content="Locale texts" /> - <DescParagraph> - Files UI components have multilanguage support. You can change the - language in wich the labels are displayed by setting the{" "} - <CodeHighlight>{"localization"}</CodeHighlight> prop. So far only - the following languages are supported: - <ul> - {[ - "English", - "Spanish", - "French", - "Italian", - "Portuguese", - "Russian", - "Chinnese (simplified)", - "Chinnese (traditional)", - ].map((x) => ( - <li> - <TypeHighlight key={x}>{x}</TypeHighlight> - </li> - ))} - </ul> - </DescParagraph> - <FileCardMosaicSwitch - value={component} - onChange={handleChangeComponent} - withInput - row - /> - <Paper - variant="outlined" - style={{ - padding: "25px 10px", - display: "flex", - alignItems: "center", - justifyContent: "center", - flexDirection: "column", - gap: "20px", - }} - > - <DemoFileMosaicLocalization card={component === "FileCard"} /> - </Paper> - <CodeJSFileMosaicLocalization card={component === "FileCard"} /> - </section> - - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </MainContentContainer> - </MainLayoutPage> - </React.Fragment> - ); -}; -export default LocalizationPage; - -const rightMenuItems = [ - { - id: 0, - label: "Locale texts", - referTo: "/file-icons#locale-texts", - }, -]; diff --git a/src/pages/server-side/ServerSidePage.tsx b/src/pages/server-side/ServerSidePage.tsx deleted file mode 100644 index 4252902e75ac3c9c6bb7ee31bce585b800495eba..0000000000000000000000000000000000000000 --- a/src/pages/server-side/ServerSidePage.tsx +++ /dev/null @@ -1,159 +0,0 @@ -import { Paper } from "@mui/material"; -import * as React from "react"; -import CodeDemoServerSideJava from "../../components/demo-components/demo-server-side/CodeDemoServerSideJava"; -import CodeDemoServerSideExpress from "../../components/demo-components/demo-server-side/CodeDemoServerSideExpress"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import { FileMosaic } from "../../files-ui"; -import { redirect } from "../../utils/redirect"; -import { scrollHandler } from "../../utils/scrollHandler"; -const ServerSidePage = () => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={6}> - <MainContentContainer> - <MainTitle>Server Side implementations</MainTitle> - <MainParagraph> - Some implementations to correctly handle uploaded files using Files - UI. - </MainParagraph> - <DescParagraph> - <ul> - <li> - If you think more server-side samples should be added or would - like to contribute by fixing or adding a new server-side sampler - in programming languages not yet covered, please contact us. - </li> - </ul> - </DescParagraph> - <section id="expressjs"> - <SubTitle content="Express JS" /> - <Paper - variant="outlined" - style={{ - display: "flex", - flexDirection: "row", - flexWrap: "nowrap", - alignItems: "center", - padding: "25px", - justifyContent: "space-evenly", - }} - > - <FileMosaic - {...logoExpress} - onClick={() => - redirect( - "https://github.com/files-ui/files-ui-web-test/tree/master/expressjs" - ) - } - //{...logoExpress.extraData} - //smartImgFit={"center"} - />{" "} - <DescParagraph> - The following code is just the main part of a project. - <br /> - Check it up in the following{" "} - <AnchorToTab href="https://github.com/files-ui/files-ui-web-test/tree/master/expressjs"> - link - </AnchorToTab> - . - </DescParagraph> - </Paper> - <CodeDemoServerSideExpress splittedOnly /> - </section> - <section id="springboot"> - <SubTitle content="Java - Spring boot" />{" "} - <Paper - variant="outlined" - style={{ - display: "flex", - flexDirection: "revert", - flexWrap: "nowrap", - alignItems: "center", - justifyContent: "space-evenly", - padding: "25px", - }} - > - <FileMosaic - {...logoJava} - onClick={() => - redirect( - "https://github.com/files-ui/files-ui-web-test/tree/master/springboot" - ) - } - />{" "} - <DescParagraph> - The following code is just the main part of a project. - <br /> - Check it up in the following{" "} - <AnchorToTab href="https://github.com/files-ui/files-ui-web-test/tree/master/springboot"> - link - </AnchorToTab> - . - </DescParagraph> - </Paper> - <CodeDemoServerSideJava splittedOnly /> - </section> - </MainContentContainer> - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - - </MainLayoutPage> - </React.Fragment> - ); -}; -export default ServerSidePage; - -const rightMenuItems = [ - { - id: 0, - label: "ExpressJS", - referTo: "/server-side#expressjs", - }, - { - id: 1, - label: "Spring Boot (Java)", - referTo: "/server-side#springboot", - }, -]; - -const logoExpress = { - id: ":0:", - //size: 28 * 1024 * 1024, - type: "image/png", - imageUrl: "/serverside/nodeexpress.jpg", - name: "Click me!", -}; - -const logoJava = { - id: ":1:", - //size: 28 * 1024 * 1024, - type: "image/png", - imageUrl: "/serverside/springbootjavalogo.png", - name: "Click me!", -}; diff --git a/src/pages/tutorials/TutorialPage.tsx b/src/pages/tutorials/TutorialPage.tsx deleted file mode 100644 index 136cddf76dd44b91989fae8a3bb8684496815a9b..0000000000000000000000000000000000000000 --- a/src/pages/tutorials/TutorialPage.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import * as React from "react"; -import { TutorialPageProps } from "./TutorialPageProps"; - -const TutorialPage:React.FC<TutorialPageProps> = (props:TutorialPageProps) =>{ - return( - <div> - TutorialPage - </div> - ) -} -export default TutorialPage; \ No newline at end of file diff --git a/src/pages/tutorials/TutorialPageProps.ts b/src/pages/tutorials/TutorialPageProps.ts deleted file mode 100644 index 3e4e57d37f2e795a69a20e7aa72514bc49eb859d..0000000000000000000000000000000000000000 --- a/src/pages/tutorials/TutorialPageProps.ts +++ /dev/null @@ -1 +0,0 @@ -export interface TutorialPageProps{} \ No newline at end of file diff --git a/src/pages/types-page/TypesPage.jsx b/src/pages/types-page/TypesPage.jsx deleted file mode 100644 index c33bd6ce5c79d23e84b38bda915c69b312c4b1cd..0000000000000000000000000000000000000000 --- a/src/pages/types-page/TypesPage.jsx +++ /dev/null @@ -1,340 +0,0 @@ -import { Highlighter } from "rc-highlight"; -import * as React from "react"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -//import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import AnchorToTab from "../../components/util-components/AnchorToTab"; -import { ActionButtonItemAPIRows } from "../../data/ActionButtonItemAPIRows"; -import { ActionButtonsAPIRows } from "../../data/ActionButtonsAPIRows"; -import { ExtFileAPIRows } from "../../data/ExtFileAPIRows"; -//import { FilesUiConfigAPIRows } from "../../data/FilesUiConfigAPIRows"; -import { FooterConfigAPIRows } from "../../data/FooterConfigAPIRows"; -import { HeaderConfigAPIRows } from "../../data/HeaderConfigAPIRows"; -//import { IconsMapAPIRows } from "../../data/IconsMapAPIRows"; -import { ServerResponseAPIRows } from "../../data/ServerResponseAPIRows"; -import { UploadConfigAPIRows } from "../../data/UploadConfigAPIRows"; -import { ValidateFileResponseAPIrows } from "../../data/ValidateFileResponseAPIrows"; -import { UserContext } from "../../globals/contexts/UserContext"; -import { scrollHandler } from "../../utils/scrollHandler"; -import PropsTableApi from "../api/PropsTableApi"; - -const rightMenuItems = [ - { - id: 0, - label: "ExtFile", - referTo: "/types#extfile", - }, - { - id: 1, - label: "ValidateFileResponse", - referTo: "/types#validatefileresponse", - }, - { - id: 2, - label: "UploadConfig", - referTo: "/types#uploadconfig", - }, - { - id: 3, - label: "ActionButtons", - referTo: "/types#actionbuttons", - }, - { - id: 4, - label: "ActionButtonItem", - referTo: "/types#actionbuttonitem", - }, - { - id: 5, - label: "HeaderConfig", - referTo: "/types#headerconfig", - }, - { - id: 6, - label: "FooterConfig", - referTo: "/types#footerconfig", - }, - { - id: 7, - label: "ServerResonse", - referTo: "/types#uploadconfig", - }, - { - id: 8, - label: "UPLOADSTATUS", - referTo: "/types#uploadstatus", - }, - { - id: 9, - label: "FilesUiConfig", - referTo: "/types#filesuiconfig", - }, - { - id: 10, - label: "IconsSet", - referTo: "/types#iconsset", - }, -]; - -const TypesPage = (props) => { - const [user, ] = React.useContext(UserContext); - const darkMode = user.darkMode; - - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={7}> - <MainContentContainer> - <MainTitle>Types</MainTitle> - <MainParagraph> - API reference docs for all the important types related to files UI - components. - </MainParagraph> - <section id="extfile"> - <PropsTableApi - title="ExtFile" - desc={ - <> - Data estructure that "extends" the{" "} - <AnchorToTab href="https://developer.mozilla.org/es/docs/Web/API/File"> - File - </AnchorToTab>{" "} - Object. This object is designed to allow the information - exchange between components. - </> - } - omitDefault - rows={ExtFileAPIRows(darkMode)} - /> - </section> - <section id="validatefileresponse"> - <PropsTableApi - rows={ValidateFileResponseAPIrows} - title="ValidateFileResponse" - omitDefault - desc="Response convention for file validation" - /> - </section> - <section id="uploadconfig"> - <PropsTableApi - rows={UploadConfigAPIRows} - title="UploadConfig" - desc="Configuration needed for performing the upload process" - /> - </section> - <section id="actionbuttons"> - <PropsTableApi - rows={ActionButtonsAPIRows} - title="ActionButtons" - omitDefault - desc="Advanced configuration for buttons after or before the component. (Dropzone and FileInputButton)" - /> - </section> - <section id="actionbuttonitem"> - <PropsTableApi - rows={ActionButtonItemAPIRows} - title="ActionButtonItem" - desc="Advanced configuration for each action button" - /> - </section> - <section id="headerconfig"> - <PropsTableApi - rows={HeaderConfigAPIRows} - title="HeaderConfig" - desc="Advanced configuration for dropzone header" - /> - </section> - <section id="footerconfig"> - <PropsTableApi - rows={FooterConfigAPIRows} - title="FooterConfig" - desc="Advanced configuration for dropzone footer" - /> - </section> - <section id="serverresponse"> - <PropsTableApi - rows={ServerResponseAPIRows} - title="ServerResponse" - omitDefault - desc="Convention for server response" - /> - </section> - <section id="uploadstatus"> - <SubTitle content={"UPLOADSTATUS"} />{" "} - <Highlighter - style={{ - margin: "20px 0", - fontSize: "15px", - lineHeight: "", - }} - onCopyToClipboard={(code_) => { - console.log("code copied to clipboard: "); - console.log(code_); - }} - > - {UPLOADSTATUSCODE} - </Highlighter> - </section> - <section id="filesuiconfig"> - <SubTitle content={"FilesUIConfig"} />{" "} - <DescParagraph> - Global configuration for Files UI components - </DescParagraph> - <Highlighter - style={{ - margin: "20px 0", - fontSize: "15px", - lineHeight: "", - }} - onCopyToClipboard={(code_) => { - console.log("code copied to clipboard: "); - console.log(code_); - }} - > - {FilesUIConfigCODE} - </Highlighter> - </section> - <section id="iconsset"> - - <SubTitle content={"IconsSet"} />{" "} - <DescParagraph> - Data type that keeps track of all keys of addmited mime types. - </DescParagraph> - <Highlighter - style={{ - margin: "20px 0", - fontSize: "15px", - lineHeight: "", - }} - onCopyToClipboard={(code_) => { - console.log("code copied to clipboard: "); - console.log(code_); - }} - > - {IconsSetCode} - </Highlighter> - </section> - </MainContentContainer> - </MainLayoutPage>{" "} - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default TypesPage; - -const UPLOADSTATUSCODE = `export type UPLOADSTATUS = "preparing" | "aborted" | "uploading" | "success" | "error";`; - -const FilesUIConfigCODE = `export type FilesUIConfig = { - // If true, dark mode colors are used in FileMosaic and FIleCard components. - darkMode?: boolean; - - // Set of icons to override the existing ones - icons?: IconsConfig; - - // The language in which text labels are shown. - localization?: Localization; -}`; - -const IconsSetCode= `export type IconsSet = { - aac?: string; - accdb?: string; - abw?: string; - arc?: string; - avi?: string; - azw?: string; - octet?: string; - bmp?: string; - bz?: string; - bz2?: string; - cda?: string; - csh?: string; - css?: string; - csv?: string; - docx?: string; - drawio?: string; - eot?: string; - epub?: string; - gzip?: string; - gif?: string; - html?: string; - icalendar?: string; - jar?: string; - jpeg?: string; - javascript?: string; - json?: string; - jsonld?: string; - midi?: string; - mp3?: string; - mp4?: string; - mpeg?: string; - mpkg?: string; - mp2t?: string; - odp?: string; - ods?: string; - odt?: string; - oga?: string; - ogv?: string; - ogx?: string; - opus?: string; - otf?: string; - png?: string; - pdf?: string; - php?: string; - pptx?: string; - psd?: string; - rar?: string; - rtf?: string; - sass?: string; - sh?: string; - swf?: string; - tar?: string; - tiff?: string; - ttf?: string; - typescript?: string; - text?: string; - vsd?: string; - wav?: string; - weba?: string; - webm?: string; - webp?: string; - woff?: string; - wma?: string; - wmv?: string; - xhtml?: string; - xlsx?: string; - xml?: string; - xul?: string; - zip?: string; - sevenzip?: string; - python?: string; - java?: string; - react?: string; - vue?: string; - //fallback when file type is not here - fallBack?: string; -}`; \ No newline at end of file diff --git a/src/pages/upload/UploadPage.jsx b/src/pages/upload/UploadPage.jsx deleted file mode 100644 index 0dd39100b870db32671eb0b614933eb2efb86915..0000000000000000000000000000000000000000 --- a/src/pages/upload/UploadPage.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; - -const UploadPage = (props) => { - return ( - <MainLayoutPage> - <MainContentContainer> - <MainTitle>pload with Files ui</MainTitle> - </MainContentContainer> - <RightMenuContainer> - <RightMenu width="240px" items={[]} /> - </RightMenuContainer> - </MainLayoutPage> - ); -}; -export default UploadPage; diff --git a/src/pages/usage/UsagePage.jsx b/src/pages/usage/UsagePage.jsx deleted file mode 100644 index 7e80ce46258e03039b7efd765d5e94bd8a7b8932..0000000000000000000000000000000000000000 --- a/src/pages/usage/UsagePage.jsx +++ /dev/null @@ -1,127 +0,0 @@ -import * as React from "react"; -import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph"; -import SubTitle from "../../components/demo-components/sub-title/SubTitle"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import MainParagraph from "../../components/paragraph-main/MainParagraph"; -import RightMenu from "../../components/RightMenu/RightMenu"; -import BasicDropzoneCodeJS from "../../components/demo-components/dropzone-demo/BasicDropzoneCodeJS"; -import Paper from "@mui/material/Paper"; -import AdvancedDropzoneDemo from "../../components/demo-components/dropzone-demo/AdvancedDropzoneDemo"; -import CodeHighlight from "../../components/codeHighlight/CodeHighlight"; -import AdvancedDropzoneCodeJS from "../../components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import { scrollHandler } from "../../utils/scrollHandler"; -const rightMenuItems = [ - { id: 0, label: "Quick start", referTo: "/usage#quick-start" }, - { - id: 1, - label: "Advanced examples", - referTo: "/usage#advanced-example", - }, -]; -const UsagePage = (props) => { - const [selectedItem, setSelectedItem] = React.useState(0); - - React.useEffect(() => { - window.addEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - return () => { - window.removeEventListener("scroll", () => - scrollHandler(rightMenuItems, setSelectedItem) - ); - }; - }, []); - return ( - <MainLayoutPage selectedIndex={1}> - <MainContentContainer> - <MainTitle>Usage</MainTitle> - <MainParagraph> - Learn the basics of working with Files UI components. - </MainParagraph> - - <section id="quick-start"> - <DescParagraph> - <SubTitle content="Quick start (Basic exaple)" /> - The following code snippet demonstrates a simple app that uses the - Files UI <a href="/components/dropzone">Dropzone</a> and{" "} - <a href="/components/filemosaic">FileMosaic</a> components: - </DescParagraph> - <DescParagraph> - In this demo we set dropzone with the minimun props that allows you - to get done fast. These props are{" "} - <CodeHighlight>onChange</CodeHighlight> and{" "} - <CodeHighlight>value</CodeHighlight> props. This example is the same - as the one you will find in the{" "} - <a href="/components/dropzone#basic-dropzone">Basic dropzone</a>{" "} - section. - </DescParagraph>{" "} - <BasicDropzoneCodeJS splittedOnly /> - {/* <Paper variant="outlined" style={{ padding: "25px" }}> - <BasicDemoDropzone /> - </Paper>{" "} */} - <DescParagraph> - You can play around with this code in the interactive Code Sandbox - demo below. Try adding the <CodeHighlight>accept</CodeHighlight>{" "} - prop to the Dropzone to see the changes: - </DescParagraph> - <iframe - title="codesandbox" - // add ".../embed/..." - src="https://codesandbox.io/embed/basic-demo-js-blssi1" - //src="https://codesandbox.io/embed/u9sy1h?hidenavigation=1&fontsize=14&view=preview" - //src="https://codesandbox.io/s/material-ui-u9sy1h" - style={{ - width: "100%", - height: "500px", - border: "0px none", - borderRadius: "4px", - overflow: "hidden", - }} - allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking" - sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts" - ></iframe> - </section> - - <section id="advanced-example"> - <SubTitle content="Advanced Example" /> - <DescParagraph> - In this example we set dropzone with the props that allows - validation and upload. These props are: - <ul> - <li> - For validating: <CodeHighlight>accept</CodeHighlight>,{" "} - <CodeHighlight>maxFiles</CodeHighlight> and{" "} - <CodeHighlight>maxFileSize</CodeHighlight> - </li> - <li> - For uploading: <CodeHighlight>uploadConfig</CodeHighlight> - </li> - <li> - For simulating the upload process:{" "} - <CodeHighlight>fakeUpload</CodeHighlight> - </li> - </ul> - </DescParagraph> - - <Paper variant="outlined" style={{ padding: "25px" }}> - <AdvancedDropzoneDemo /> - </Paper> - <AdvancedDropzoneCodeJS /> - </section> - </MainContentContainer> - - <RightMenuContainer> - <RightMenu - width="240px" - items={rightMenuItems} - selectedItemProp={selectedItem} - setSelected={setSelectedItem} - /> - </RightMenuContainer> - </MainLayoutPage> - ); -}; -export default UsagePage; diff --git a/src/pages/utilities/FileReaderPage.tsx b/src/pages/utilities/FileReaderPage.tsx deleted file mode 100644 index 7c6d87faa919f2c7d3f55298e102c1bceda5b1a9..0000000000000000000000000000000000000000 --- a/src/pages/utilities/FileReaderPage.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "react"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; - -const rightMenuItems = [ - { - id: 0, - label: "Read as URL", - referTo: "/utilities-methods/file-reader/#read-as-url", - }, -]; - -interface FileReaderPageProps {} -const FileReaderPage: React.FC<FileReaderPageProps> = ( - props: FileReaderPageProps -) => { - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={8}> - <MainContentContainer> - <MainTitle>File Reader</MainTitle> - </MainContentContainer> - </MainLayoutPage> - - - <RightMenuContainer> - <RightMenu width="240px" items={rightMenuItems} /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileReaderPage; diff --git a/src/pages/utilities/FileUploaderPage.tsx b/src/pages/utilities/FileUploaderPage.tsx deleted file mode 100644 index be02427c0ce4c09549eb7955d240d2c4187cd637..0000000000000000000000000000000000000000 --- a/src/pages/utilities/FileUploaderPage.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import * as React from "react"; -import MainContentContainer from "../../components/layout-pages/MainContentContainer"; -import MainLayoutPage from "../../components/layout-pages/MainLayoutPage"; -import RightMenuContainer from "../../components/layout-pages/RightMenuContainer"; -import MainTitle from "../../components/main-title/MainTitle"; -import RightMenu from "../../components/RightMenu/RightMenu"; - -const rightMenuItems = [ - { - id: 0, - label: "Upload to server", - referTo: "/file-upload/#uploadtoaws", - }, - { - id: 1, - label: "Upload to AWS", - referTo: "/file-upload/#uploadtoaws", - }, -]; - -interface FileUploaderPageProps {} -const FileUploaderPage: React.FC<FileUploaderPageProps> = ( - props: FileUploaderPageProps -) => { - return ( - <React.Fragment> - <MainLayoutPage selectedIndex={8}> - <MainContentContainer> - <MainTitle>File Upload</MainTitle> - </MainContentContainer> - </MainLayoutPage> - - <RightMenuContainer> - <RightMenu width="240px" items={rightMenuItems} /> - </RightMenuContainer> - </React.Fragment> - ); -}; -export default FileUploaderPage; diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js deleted file mode 100644 index 5253d3ad9e6be6690549cb255f5952337b02401d..0000000000000000000000000000000000000000 --- a/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/src/routes/MainRouter.jsx b/src/routes/MainRouter.jsx deleted file mode 100644 index 1c894051d89d565deb9e09c3747a22035afc5f0a..0000000000000000000000000000000000000000 --- a/src/routes/MainRouter.jsx +++ /dev/null @@ -1,165 +0,0 @@ -import * as React from "react"; -import MainPage from "./../pages/MainPage"; -import GettingStartedPage from "./../pages/getting-started/GettingStartedPage"; -import ErrorPage from "./../pages/error-page/ErrorPage"; -import DropzoneDemoPage from "./../pages/demo/DropzoneDemoPage"; -import FileMosaicDemoPage from "./../pages/demo/FileMosaicDemoPage"; -import FileCardDemoPage from "./../pages/demo/FileCardDemoPage"; -import ServerSidePage from "./../pages/server-side/ServerSidePage"; -//import CodeGeneratorPage from "./../pages/code-generator/CodeGeneratorPage"; -import DropzoneApi from "./../pages/api/DropzoneApi"; -import FileMosaicApi from "./../pages/api/FileMosaicApi"; -import FileCardApi from "./../pages/api/FileCardApi"; -import UsagePage from "./../pages/usage/UsagePage"; -import TypesPage from "./../pages/types-page/TypesPage"; -import { createBrowserRouter, Outlet, RouterProvider } from "react-router-dom"; -import MainLayoutPage from "../components/layout-pages/MainLayoutPage"; -import FileReaderPage from "../pages/utilities/FileReaderPage"; -//import FileUploaderPage from "../pages/utilities/FileUploaderPage"; -import AvatarDemoPage from "../pages/demo/AvatarDemoPage"; -import FileInputButtonApi from "../pages/api/FileInputButtonApi"; -import AvatarApi from "../pages/api/AvatarApi"; -import FileInputButtonDemoPage from "../pages/demo/FileInputButtonDemoPage"; -import FileDownloadPage from "../pages/download-page/FileDownloadPage"; -import FileIconsPage from "../pages/file-icons/FileIconsPage"; -import LocalizationPage from "../pages/localization/LocalizationPage"; -import VideoPreviewApi from "../pages/api/VideoPreviewApi"; -import ImagePreviewApi from "../pages/api/ImagePreviewApi"; -import FullScreenApi from "../pages/api/FullScreenApi"; -import FullScreenDemoPage from "../pages/demo/FullScreenDemoPage"; -import GlobalConfigPage from "../pages/global-config-page/GlobalConfigPage"; - -const router = createBrowserRouter([ - { - path: "/", - element: <MainPage />, - errorElement: ( - <MainLayoutPage> - <ErrorPage /> - </MainLayoutPage> - ), - }, - { - path: "/getting-started", - element: <GettingStartedPage />, - }, - { - path: "/usage", - element: <UsagePage />, - }, - { - path: "/components", - element: ( - <MainLayoutPage selectedIndex={2}> - <Outlet /> - </MainLayoutPage> - ), - children: [ - { - path: "/components/avatar", - element: <AvatarDemoPage />, - }, - { - path: "/components/dropzone", - element: <DropzoneDemoPage />, - }, - { - path: "/components/fileinputbutton", - element: <FileInputButtonDemoPage />, - }, - { - path: "/components/filemosaic", - element: <FileMosaicDemoPage />, - }, - { - path: "/components/filecard", - element: <FileCardDemoPage />, - }, - { - path: "/components/fullscreen", - element: <FullScreenDemoPage />, - }, - ], - }, - { - path: "/api", - element: ( - <MainLayoutPage selectedIndex={3}> - <Outlet /> - </MainLayoutPage> - ), - children: [ - { - path: "/api/avatar", - element: <AvatarApi />, - }, - { - path: "/api/fileinputbutton", - element: <FileInputButtonApi />, - }, - { - path: "/api/dropzone", - element: <DropzoneApi />, - }, - { - path: "/api/filemosaic", - element: <FileMosaicApi />, - }, - { - path: "/api/filecard", - element: <FileCardApi />, - }, - { - path: "/api/fullscreen", - element: <FullScreenApi />, - }, - { - path: "/api/imagepreview", - element: <ImagePreviewApi />, - }, - { - path: "/api/videopreview", - element: <VideoPreviewApi />, - }, - ], - }, - { - path: "/file-icons", - element: <FileIconsPage />, - }, - { - path: "/localization", - element: <LocalizationPage />, - }, - { - path: "/server-side", - element: <ServerSidePage />, - }, - /* { - path: "/code-generator", - element: <CodeGeneratorPage />, - }, */ - { - path: "/types", - element: <TypesPage />, - }, - /* { - path: "/file-reader", - element: <FileReaderPage />, - }, */ - { - path: "/file-download", - element: <FileDownloadPage />, - }, - /// - /* { - path: "/file-upload", - element: <FileUploaderPage />, - }, */ - { path: "/global-config", element: <GlobalConfigPage /> }, -]); - -const MainRouter = (props) => { - return <RouterProvider router={router} />; -}; -export default MainRouter; diff --git a/src/setupTests.js b/src/setupTests.js deleted file mode 100644 index 8f2609b7b3e0e3897ab3bcaad13caf6876e48699..0000000000000000000000000000000000000000 --- a/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/src/files-ui/skeleton/FuiSkeleton.scss b/src/skeleton/FuiSkeleton.scss similarity index 100% rename from src/files-ui/skeleton/FuiSkeleton.scss rename to src/skeleton/FuiSkeleton.scss diff --git a/src/files-ui/skeleton/FuiSkeleton.tsx b/src/skeleton/FuiSkeleton.tsx similarity index 100% rename from src/files-ui/skeleton/FuiSkeleton.tsx rename to src/skeleton/FuiSkeleton.tsx diff --git a/src/files-ui/skeleton/FuiSkeletonProps.ts b/src/skeleton/FuiSkeletonProps.ts similarity index 100% rename from src/files-ui/skeleton/FuiSkeletonProps.ts rename to src/skeleton/FuiSkeletonProps.ts diff --git a/src/static/dropzone/dz-d.png b/src/static/dropzone/dz-d.png deleted file mode 100644 index 0aededc93bc6840b7ece37390c55d1a77fcfb154..0000000000000000000000000000000000000000 Binary files a/src/static/dropzone/dz-d.png and /dev/null differ diff --git a/src/static/dropzone/dz-w.png b/src/static/dropzone/dz-w.png deleted file mode 100644 index 03bd60d8e8a7f70c3229b4ff7c6cb7d1df11b4cc..0000000000000000000000000000000000000000 Binary files a/src/static/dropzone/dz-w.png and /dev/null differ diff --git a/src/static/files-ui-logo-blue-dark.png b/src/static/files-ui-logo-blue-dark.png deleted file mode 100644 index 0177065c45133b82881090e1fe2accaf6774e228..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-blue-dark.png and /dev/null differ diff --git a/src/static/files-ui-logo-blue-shadow.png b/src/static/files-ui-logo-blue-shadow.png deleted file mode 100644 index 78cf1ee8e370abce2d69f6f0ec78463e0f5f0986..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-blue-shadow.png and /dev/null differ diff --git a/src/static/files-ui-logo-blue-wbg.png b/src/static/files-ui-logo-blue-wbg.png deleted file mode 100644 index 57ce4c6250bec94eb9c35bd60514b777108e1a4e..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-blue-wbg.png and /dev/null differ diff --git a/src/static/files-ui-logo-blue.png b/src/static/files-ui-logo-blue.png deleted file mode 100644 index f4ac6b1e98a4180dbb0ca2e342e0013c2f9b3351..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-blue.png and /dev/null differ diff --git a/src/static/files-ui-logo-text-med-dark.png b/src/static/files-ui-logo-text-med-dark.png deleted file mode 100644 index a245f8689750b8fe7ea539e686d2e18c99d632ae..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-text-med-dark.png and /dev/null differ diff --git a/src/static/files-ui-logo-text-med-white.png b/src/static/files-ui-logo-text-med-white.png deleted file mode 100644 index 55c9a315789fdba70e0bf2a899b446117ad9e004..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-text-med-white.png and /dev/null differ diff --git a/src/static/files-ui-logo-text-med.png b/src/static/files-ui-logo-text-med.png deleted file mode 100644 index 783dec6038a0c4a83c6b6599efc14bb82060ee48..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-text-med.png and /dev/null differ diff --git a/src/static/files-ui-logo-white-bbg.png b/src/static/files-ui-logo-white-bbg.png deleted file mode 100644 index 7e61d341b606edf80ae4c6df6f0df44f464ee79a..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-white-bbg.png and /dev/null differ diff --git a/src/static/files-ui-logo-white.png b/src/static/files-ui-logo-white.png deleted file mode 100644 index 194bdf2d6249d53c9f601aa5e6da69b104d4dee5..0000000000000000000000000000000000000000 Binary files a/src/static/files-ui-logo-white.png and /dev/null differ diff --git a/src/static/index.d.ts b/src/static/index.d.ts deleted file mode 100644 index a6d28473e39c4b37bc93fd456c80242a18a3511c..0000000000000000000000000000000000000000 --- a/src/static/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module '*.png'; -declare module '*.jpg'; -declare module '*.webp'; -declare module '*.mp4'; \ No newline at end of file diff --git a/src/static/new-icons/Microsoft.VisualStudio.Services.Icons.Default.png b/src/static/new-icons/Microsoft.VisualStudio.Services.Icons.Default.png deleted file mode 100644 index 386be5b3030db509f506f11abf97af66ab29c4ec..0000000000000000000000000000000000000000 Binary files a/src/static/new-icons/Microsoft.VisualStudio.Services.Icons.Default.png and /dev/null differ diff --git a/src/static/new-icons/gradle.jpg b/src/static/new-icons/gradle.jpg deleted file mode 100644 index 5a87d77a1058c57306cd434599ae6bd487489af7..0000000000000000000000000000000000000000 Binary files a/src/static/new-icons/gradle.jpg and /dev/null differ diff --git a/src/static/new-icons/images.png b/src/static/new-icons/images.png deleted file mode 100644 index ca61510a9d20959d3740958f27e0702b91fe1986..0000000000000000000000000000000000000000 Binary files a/src/static/new-icons/images.png and /dev/null differ diff --git a/src/static/new-icons/markdown-fill-1.png b/src/static/new-icons/markdown-fill-1.png deleted file mode 100644 index 37a31624e2eba4cfda902bea852d896680c881c4..0000000000000000000000000000000000000000 Binary files a/src/static/new-icons/markdown-fill-1.png and /dev/null differ diff --git a/src/static/new-icons/maven_logo.png b/src/static/new-icons/maven_logo.png deleted file mode 100644 index 990203c90a2fcdcffbdfc8b4de975ef237e0107c..0000000000000000000000000000000000000000 Binary files a/src/static/new-icons/maven_logo.png and /dev/null differ diff --git a/src/static/other/Captura de pantalla (3946).png b/src/static/other/Captura de pantalla (3946).png deleted file mode 100644 index e42ce40c63d0fdaaa55b7bb55d990e031b5c5670..0000000000000000000000000000000000000000 Binary files a/src/static/other/Captura de pantalla (3946).png and /dev/null differ diff --git a/src/static/other/ref mt.png b/src/static/other/ref mt.png deleted file mode 100644 index c53a224d58aec2f7f04299ce110a920d48564f02..0000000000000000000000000000000000000000 Binary files a/src/static/other/ref mt.png and /dev/null differ diff --git a/src/static/videos/NarutoEN.mp4 b/src/static/videos/NarutoEN.mp4 deleted file mode 100644 index 4b5a4ed9b91b9b0af0af8a5985ded2944c2f6792..0000000000000000000000000000000000000000 Binary files a/src/static/videos/NarutoEN.mp4 and /dev/null differ diff --git a/src/static/videos/NarutoES.mp4 b/src/static/videos/NarutoES.mp4 deleted file mode 100644 index 43777a67fdcc7838c8ca7ef3f6b11e51eee59e66..0000000000000000000000000000000000000000 Binary files a/src/static/videos/NarutoES.mp4 and /dev/null differ diff --git a/src/static/videos/ThorEN-1.mp4 b/src/static/videos/ThorEN-1.mp4 deleted file mode 100644 index 0f3344c31f37ed954c17d40c0a49f5d6532858fc..0000000000000000000000000000000000000000 Binary files a/src/static/videos/ThorEN-1.mp4 and /dev/null differ diff --git a/src/static/videos/ThorEN.mp4 b/src/static/videos/ThorEN.mp4 deleted file mode 100644 index 0f3344c31f37ed954c17d40c0a49f5d6532858fc..0000000000000000000000000000000000000000 Binary files a/src/static/videos/ThorEN.mp4 and /dev/null differ diff --git a/src/styles/GettingStarted.scss b/src/styles/GettingStarted.scss deleted file mode 100644 index 0d26ed16aa45c9e8353debdba0476995223041d0..0000000000000000000000000000000000000000 --- a/src/styles/GettingStarted.scss +++ /dev/null @@ -1,40 +0,0 @@ -.getting-started-container { - width: 100%; - display: flex; - flex-direction: column; - p, - h2 { - margin: 0; - padding: 0; - } - h2{ - margin-top: 10px; - } - .button-container { - margin: 10px 0; - display: flex; - flex-direction: row; - width: 100%; - box-sizing: border-box; - align-items: center; - gap: 10px; - .code-button-flex { - display: flex; - flex-direction: column; - align-items: center; - box-sizing: border-box; - width: 60%; - gap :10px - } - } - - @media screen and (max-width: 900px) { - .button-container { - flex-direction: column; - align-items: stretch; - .code-button-flex { - width: 100%; - } - } - } -} diff --git a/src/styles/GettingStartedPage.scss b/src/styles/GettingStartedPage.scss deleted file mode 100644 index 0f0848900b90f04ece0369b7a3329b04ff95f694..0000000000000000000000000000000000000000 --- a/src/styles/GettingStartedPage.scss +++ /dev/null @@ -1,39 +0,0 @@ -.fui-logo-img-getting-started { - width: 150px; - height: 150px; - - @media screen and (max-width: 900px) { - width: 30vw; - height: auto; - } -} -.clipboard-container { - background-color: #1e1e1e; - border-radius: 8px; - position: relative; - display: flex; - padding: 12px 7px; - width: calc(100% - 20px); - flex-direction: row; - align-items: center; - font-size: 0.9em; - margin-bottom: 15px; - justify-content: space-between; - .floating-copy-button { - box-sizing: border-box; - background-color: gray; - padding: 6px 5px; - border-radius: 8px; - cursor: pointer; - display: flex; - - &:hover { - border: 1px wheat solid; - padding: 5px 4px; - } - &.copied { - border: 1px solid greenyellow; - padding: 5px 4px; - } - } -} diff --git a/src/styles/MainPage.scss b/src/styles/MainPage.scss deleted file mode 100644 index a24f1954ebec1fa4652fa7440a78f2661e61fd0c..0000000000000000000000000000000000000000 --- a/src/styles/MainPage.scss +++ /dev/null @@ -1,334 +0,0 @@ -//@import url("https://fonts.googleapis.com/css2?family=Kalam:wght@700&display=swap"); - -$main-color-light: #0a1929; -$main-color-dark: #0a1929; - -$sec-color-light: #55b4f2; -$sec-color-dark: #0a1929; - -$text-color-light: #042354; -$text-color-dark: rgba(255, 255, 255, 0.7); - -$border-color-light: #0a1929; -$border-color-dark: #0a1929; - -.files-uimain-container { - transition: all 0.4s ease-in-out; - min-height: 100vh; - font-family: "Poppins", sans-serif; - font-size: 16px; - display: flex; - width: 100%; - align-items: center; - flex-direction: column; - justify-content: center; - color: #0a1929; - .filesui-nav { - transition: all 0.4s ease-in-out; - color: #042354; - height: 64px; - background-color: rgba(255, 255, 255, 0.559); - display: flex; - align-items: center; - justify-content: center; - box-shadow: rgb(234, 238, 243) 0px -1px 1px inset; - width: 100%; - font-weight: 300; - - .filesui-nav-container { - box-sizing: border-box; - padding: 0 10px; - width: 100%; - // background-color: aqua; - display: flex; - align-items: center; - justify-content: space-between; - box-sizing: border-box; - max-width: 1280px; - - p { - letter-spacing: 0em; - line-height: 1.334; - font-size: 1.6rem; - } - .filesui-nav-logo-container { - margin-right: 5px; - display: flex; - align-items: center; - justify-content: center; - - &.darkmode { - border-radius: 8px; - padding: 2px 0; - background-color: rgba(255, 255, 255, 0.8); - } - .filesui-nav-logo { - width: 45px; - height: 45px; - - width: 45px; - } - } - .left-part { - display: flex; - justify-content: flex-start; - align-items: center; - .filesui-nav-text-logo { - font-size: 1.4rem; - color: $main-color-light; - font-weight: 300; - } - } - .right-part { - display: flex; - justify-content: flex-start; - //align-items: center; - //justify-content: center; - gap: 10px; - //max-height: 500px; - } - } - } - .filesui-main { - margin: auto; - - width: 100%; - max-width: 1280px; - - min-height: calc(100vh - 64px); - display: flex; - flex-direction: row; - - align-items: flex-start; - gap: 30px; - box-sizing: border-box; - padding: 0 28px; - .fui-main-left { - width: 48%; - padding: 0 5px; - padding-top: 20px; - - box-sizing: border-box; - //background-color: bisque; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - min-height: calc(100vh - 64px); - .filesui-main-logo-container { - &.darkmode { - display: flex; - align-items: center; - justify-content: center; - border-radius: 20px; - background-color: rgba(255, 255, 255, 0.8); - padding: 10px 0px; - } - .fui-logo-img { - width: 156px; - height: 156px; - } - } - - .fui-logo-text { - font-size: 3.2rem; - font-weight: 700; - text-align: center; - letter-spacing: 1px; - margin: 20px 0; - padding: 0; - line-height: 3.5rem; - } - .fui-description { - margin: 0; - font-size: 1.5rem; - //text-align: center; - - font-weight: 300; - } - } - .fui-main-right { - padding: 0 5px; - //padding-top: 20px; - - box-sizing: border-box; - //background-color: bisque; - display: flex; - flex-direction: column; - //align-items: center; - justify-content: center; - width: 52%; - min-height: calc(100vh - 64px); - max-height: 1280px; - // overflow: auto; - } - } - .filesui-footer { - min-height: 64px; - background-color: #042354; - color: white; - width: 100%; - display: flex; - align-items: center; - justify-content: center; - gap: 10px; - } - .files-ui-secondary-container { - width: 100%; - background-color: #f3f6f9; - &.darkmode { - background-color: #001e3c; - } - padding-bottom: 28px; - .secondary-content { - margin: auto; - width: 100%; - max-width: 1280px; - //min-height: calc(100vh - 64px); - - .secondary-content-flex { - display: flex; - flex-direction: row; - align-items: stretch; - gap: 30px; - box-sizing: border-box; - padding: 0 28px; - flex-wrap: wrap; - .secondary-item { - flex-grow: 1; - min-width: 30%; - } - } - - @media (max-width: 900px) { - .secondary-right { - width: 100%; - } - .secondary-left { - width: 100%; - } - } - .secondary-right { - box-sizing: border-box; - width: 50%; - margin: auto; - } - .secondary-left { - box-sizing: border-box; - width: 50%; - display: flex; - flex-direction: column; - gap: 10px; - } - } - } - .gradient-span { - font-weight: 700; - background: linear-gradient( - to right, - #042354, - #042354, - $sec-color-light, - #042354, - #042354 - ); - -webkit-text-fill-color: transparent; - -webkit-background-clip: text; - background-clip: text; - } - &.darkmode { - background-color: $main-color-dark; - color: $text-color-dark; - .filesui-nav { - background-color: rgba(4, 35, 84, 0.559); - color: $text-color-dark; - box-shadow: rgba(234, 238, 243, 0.161) 0px -1px 1px inset; - } - - .gradient-span { - font-weight: 700; - background: linear-gradient(to right, $sec-color-light, $sec-color-light); - -webkit-text-fill-color: transparent; - -webkit-background-clip: text; - background-clip: text; - } - } - - @media screen and (max-width: 900px) { - width: 100%; - .filesui-nav { - transition: all 0.4s ease-in-out; - color: #042354; - height: 64px; - background-color: rgba(255, 255, 255, 0.559); - display: flex; - align-items: center; - justify-content: center; - box-shadow: rgb(234, 238, 243) 0px -1px 1px inset; - width: 100%; - font-weight: 300; - - .filesui-nav-container { - p { - letter-spacing: 0em; - line-height: 1.334; - font-size: 1rem; - } - .filesui-nav-logo-container { - margin-right: 7px; - - .filesui-nav-logo { - width: 35px; - height: 35px; - } - } - - .left-part { - display: flex; - justify-content: flex-start; - align-items: center; - p { - font-size: 1.1rem; - width: 150px; - } - } - } - } - .filesui-main { - flex-direction: column; - gap: 5px; - align-items: center; - width: 100%; - //padding: 15px; - .fui-main-left, - .fui-main-right { - width: 100%; - margin-bottom: 20px; - } - .fui-main-left { - //padding-top: 5vh; - min-height: auto; - .fui-logo-img { - width: 30vw; - height: auto; - } - .fui-logo-text { - font-size: 2.8em; - text-align: center; - } - .fui-description { - //font-size: 1.2em; - text-align: left; - } - } - } - .filesui-footer { - font-size: smaller; - } - } -} - -.rc-hl-code-line { - font-size: 16px !important; - line-height: 19px !important; -} diff --git a/src/templates/NavBarTemplate.jsx b/src/templates/NavBarTemplate.jsx deleted file mode 100644 index 5fe7b9a0b5f3ef8474dda5554cb6a17e2cdc2116..0000000000000000000000000000000000000000 --- a/src/templates/NavBarTemplate.jsx +++ /dev/null @@ -1,222 +0,0 @@ -import * as React from "react"; -import AppBar from "@mui/material/AppBar"; -import Box from "@mui/material/Box"; -import CssBaseline from "@mui/material/CssBaseline"; -import Divider from "@mui/material/Divider"; -import Drawer from "@mui/material/Drawer"; -import MenuIcon from "@mui/icons-material/Menu"; -import Toolbar from "@mui/material/Toolbar"; -import Typography from "@mui/material/Typography"; -import logoLight from "../static/files-ui-logo-blue-dark.png"; -import logo_blue from "../static/files-ui-logo-blue.png"; -import { IconButton, Stack, styled, Tooltip } from "@mui/material"; -import GitHubIcon from "@mui/icons-material/GitHub"; -import DarkModeLightModeButton from "../components/MainPage/DarkModeLightModeButton"; -import MainMenuSideBar from "../components/MainMenu/MainMenuSideBar"; -import logo_text_blue from "../static/files-ui-logo-text-med.png"; -import logo_text_blue_dark from "../static/files-ui-logo-text-med-dark.png"; -import { UserContext } from "../globals/contexts/UserContext"; -import AnchorToTab from "../components/util-components/AnchorToTab"; - -const drawerWidth = 280; -const StyledImage = styled("img")(({ theme }) => ({ - height: "100%", - maxHeight: "40px", - marginRight: "10px", - - [theme.breakpoints.up("sm")]: { - display: "none", - }, -})); -function NavBarTemplate(props) { - const [usuario, dispatch] = React.useContext(UserContext); - const darkModeOn = usuario.darkMode; - //const navigate = useNavigateToTop(); - const { - window, - children, - /* darkModeOn, */ /* handleDarkMode, */ selectedIndex, - } = props; - const [mobileOpen, setMobileOpen] = React.useState(false); - - //const [selectedIndex, setSelectedIndex] = React.useState(0); - const handleDarkMode = () => { - // setDarkModeOn((darkModeOn) => !darkModeOn); - if (!darkModeOn) dispatch({ type: "TURNOFFLIGHT" }); - else dispatch({ type: "TURNONLIGHT" }); - }; - - const handleGoGitRepo = () => { - alert("HAAA"); - window.open("https://github.com/files-ui", "_blank"); - }; - - const handleDrawerToggle = () => { - setMobileOpen(!mobileOpen); - }; - - const drawer = ( - <div> - <Toolbar> - <a href="/" style={{ textDecoration: "none" }}> - <Stack - direction={"row"} - alignItems="center" - sx={{ "&:hover": { cursor: "pointer" } }} - // onClick={() => navigate("/")} - > - <img - style={{ - height: "40px", - marginRight: "5px", - }} - className="filesui-nav-logo" - //src={logo_blue } - src={!darkModeOn ? logo_blue : logoLight} - alt="files-ui-main-logo" - /> - <img - src={darkModeOn ? logo_text_blue_dark : logo_text_blue} - // src={darkModeOn ? logo_text_blue_dark : logo_text_blue} - alt="files-ui-main-logo-text" - height={16} - /> - {/* <Typography variant="h6" noWrap component="div" color="primary"> - Files ui - </Typography> */} - </Stack> - </a> - </Toolbar> - - <Divider /> - - <MainMenuSideBar - //setSelectedIndex={setSelectedIndex} - selectedIndex={selectedIndex} - //items={} - /> - </div> - ); - - const container = - window !== undefined ? () => window().document.body : undefined; - - return ( - <Box sx={{ display: "flex", flexDirection: { xs: "column", sm: "row" } ,transition:"all 0.4s ease-in-out"}}> - <CssBaseline /> - <AppBar - className="section-container" - position="fixed" - sx={{ - width: { sm: `calc(100% - ${drawerWidth}px)` }, - ml: { sm: `${drawerWidth}px` }, - bgcolor: "rgba(255,255,255,0.7)", - //color: "skyblue", - }} - > - <Toolbar> - <IconButton - color="primary" - aria-label="open drawer" - edge="start" - onClick={handleDrawerToggle} - sx={{ mr: 2, display: { sm: "none" } }} - > - <MenuIcon /> - </IconButton> - - <StyledImage - src={ logo_blue } - //src={!darkModeOn ? logo_blue : logoLight} - alt="files-ui-main-logo" - /> - - <Typography - variant="h6" - noWrap - component="div" - color="primary" - sx={{ display: { sm: "none" } }} - > - Files ui - </Typography> - <Box style={{ flexGrow: 1 }} /> - <Stack direction="row" spacing={1}> - <AnchorToTab href="https://github.com/files-ui"> - <Tooltip title="Go to Files-ui GitHub repo"> - <IconButton - style={{ borderRadius: "8px", border: "0.5px solid #eaeef3" }} - //onClick={handleGoGitRepo} - color="secondary" - aria-label="upload picture" - component="label" - > - <GitHubIcon /* htmlColor="white" */ /> - </IconButton> - </Tooltip> - </AnchorToTab> - <DarkModeLightModeButton - darkModeOn={darkModeOn} - onChangeDarkMode={handleDarkMode} - /> - </Stack> - </Toolbar> - </AppBar> - <Box - component="nav" - sx={{ width: { sm: drawerWidth }, flexShrink: { sm: 0 } }} - aria-label="mailbox folders" - > - {/* The implementation can be swapped with js to avoid SEO duplication of links. */} - <Drawer - container={container} - variant="temporary" - open={mobileOpen} - onClose={handleDrawerToggle} - ModalProps={{ - keepMounted: true, // Better open performance on mobile. - }} - sx={{ - display: { xs: "block", sm: "none" }, - "& .MuiDrawer-paper": { - boxSizing: "border-box", - width: drawerWidth, - }, - }} - > - {drawer} - </Drawer> - <Drawer - variant="permanent" - sx={{ - display: { xs: "none", sm: "block" }, - "& .MuiDrawer-paper": { - boxSizing: "border-box", - width: drawerWidth, - }, - }} - open - > - {drawer} - </Drawer> - </Box> - <Box - component="main" - sx={{ - flexGrow: 1, - p: { xs: 1, sm: 3 }, - width: { - sm: `calc(100% - ${drawerWidth}px)`, - //md: `calc(100% - ${240}px)`, - }, - }} - > - <Toolbar /> - - {children} - </Box> - </Box> - ); -} - -export default NavBarTemplate; diff --git a/src/templates/TableTemplate.jsx b/src/templates/TableTemplate.jsx deleted file mode 100644 index c1cc183a6c061821c5564ab57dc47bb3be3dc7f6..0000000000000000000000000000000000000000 --- a/src/templates/TableTemplate.jsx +++ /dev/null @@ -1,58 +0,0 @@ -import * as React from "react"; -import Table from "@mui/material/Table"; -import TableBody from "@mui/material/TableBody"; -import TableCell from "@mui/material/TableCell"; -import TableContainer from "@mui/material/TableContainer"; -import TableHead from "@mui/material/TableHead"; -import TableRow from "@mui/material/TableRow"; -import Paper from "@mui/material/Paper"; - -function createData(name, calories, fat, carbs, protein) { - return { name, calories, fat, carbs, protein }; -} - -const rows = [ - createData("Frozen yoghurt", 159, 6.0, 24, 4.0), - createData("Ice cream sandwich", 237, 9.0, 37, 4.3), - createData("Eclair", 262, 16.0, 24, 6.0), - createData("Cupcake", 305, 3.7, 67, 4.3), - createData("Gingerbread", 356, 16.0, 49, 3.9) -]; - -export default function TableTemplate() { - return ( - <div style={{ display: "flex", flexDirection: "column" }}> - <div style={{ display: "flex", flexDirection: "column" }}> - <TableContainer component={Paper}> - <Table sx={{ minWidth: 650 }} aria-label="simple table"> - <TableHead> - <TableRow> - <TableCell>Dessert (100g serving)</TableCell> - <TableCell align="right">Calories</TableCell> - <TableCell align="right">Fat (g)</TableCell> - <TableCell align="right">Carbs (g)</TableCell> - <TableCell align="right">Protein (g)</TableCell> - </TableRow> - </TableHead> - <TableBody> - {rows.map((row) => ( - <TableRow - key={row.name} - sx={{ "&:last-child td, &:last-child th": { border: 0 } }} - > - <TableCell component="th" scope="row"> - {row.name} - </TableCell> - <TableCell align="right">{row.calories}</TableCell> - <TableCell align="right">{row.fat}</TableCell> - <TableCell align="right">{row.carbs}</TableCell> - <TableCell align="right">{row.protein}</TableCell> - </TableRow> - ))} - </TableBody> - </Table> - </TableContainer> - </div> - </div> - ); -} diff --git a/src/tester/AvatarTester.tsx b/src/tester/AvatarTester.tsx deleted file mode 100644 index fd8b8cdf87815abb668fd738da2dcb1a8b8c64cf..0000000000000000000000000000000000000000 --- a/src/tester/AvatarTester.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import * as React from "react"; -import { Avatar } from "../files-ui"; -import { ServerResponse, uploadFile } from "../files-ui"; - -export const resultURL: string = - "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ1YdE-2sQT4na6RwujeATyMBcCXqg0Gf76TYTplRkMkq0wIi_SewCDq6VeUGxPwpK_Qd8&usqp=CAU"; -export const initURL: string = - "https://sm.ign.com/ign_latam/screenshot/default/goku-ssj-blue-3_6qjv.jpg"; - -const rowStyle: React.CSSProperties = { - display: "flex", - flexDirection: "row", - padding: "20px", - border: "1px dotted orange", - borderRadius: "8px", - boxSizing: "border-box", - margin: "25px 0", - backgroundColor: "white", - gap: "15px", -}; - -const REMOTE = - "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503"; -const LOCAL = - "http://localhost/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503"; - -interface AvatarTesterProps {} -const AvatarTester: React.FC<AvatarTesterProps> = ( - props: AvatarTesterProps -) => { - const [avatarSrc, setAvatarSrc] = React.useState<string | undefined>( - undefined - ); - - /* const handleChange = async (file: File) => { - const endpoint: string = "http://localhost:2800/upload-avatar"; - const response: UploadPromiseResponse = await uploadPromiseXHR( - { id: 0, file: file, xhr: new XMLHttpRequest() }, - endpoint, - "POST", - { - Authorization: "bearer bJUKYIBVUKIBHUKYIBHVKULIUBHKLÑBJ", - "z-header": "HAAAAAAA", - } - ); - // const res: boolean = uploadFile(file, endpoint); - const serverResponse: ServerResponse = response.uploadResponse - .serverResponse as ServerResponse; - const { url } = serverResponse.payload; - setAvatarSrc(url); - console.log(serverResponse.payload); - }; */ - - const handleChange2 = async (file: File) => { - const endpoint: string = REMOTE + "/file/28048465460"; - const res: ServerResponse = await uploadFile(file, endpoint); - const { url } = res.payload; - setAvatarSrc(url); - }; - - return ( - <React.Fragment> - <div style={rowStyle}> - <Avatar - src={avatarSrc} - variant="circle" - style={{ width: "300px", height: "300px" }} - onChange={handleChange2} - /> - </div> - </React.Fragment> - ); -}; -export default AvatarTester; diff --git a/src/theme/mainTheme.js b/src/theme/mainTheme.js deleted file mode 100644 index abf5413b22021680cd4b54145ed9eb924d173f75..0000000000000000000000000000000000000000 --- a/src/theme/mainTheme.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createTheme } from "@mui/material/styles"; - -export const MUItheme = (modeLight = "light") => - createTheme({ - palette: { - mode: modeLight, - primary: { - // light: will be calculated from palette.primary.main, - main: modeLight === "light" ? "#042354" : "#55b4f2", - // dark: will be calculated from palette.primary.main, - // contrastText: will be calculated to contrast with palette.primary.main - }, - secondary: { - light: "#0066ff", - main: "#55b4f2", - // dark: will be calculated from palette.secondary.main, - //contrastText: '#ffcc00', - }, - }, - typography: { - fontFamily: ['"Poppins", sans-serif'], - }, - }); diff --git a/src/files-ui/tooltip/Tooltip.scss b/src/tooltip/Tooltip.scss similarity index 100% rename from src/files-ui/tooltip/Tooltip.scss rename to src/tooltip/Tooltip.scss diff --git a/src/files-ui/tooltip/Tooltip.tsx b/src/tooltip/Tooltip.tsx similarity index 100% rename from src/files-ui/tooltip/Tooltip.tsx rename to src/tooltip/Tooltip.tsx diff --git a/src/files-ui/tooltip/TooltipProps.ts b/src/tooltip/TooltipProps.ts similarity index 100% rename from src/files-ui/tooltip/TooltipProps.ts rename to src/tooltip/TooltipProps.ts diff --git a/src/files-ui/tooltip/index.ts b/src/tooltip/index.ts similarity index 100% rename from src/files-ui/tooltip/index.ts rename to src/tooltip/index.ts diff --git a/src/types/PageProps.ts b/src/types/PageProps.ts deleted file mode 100644 index 8fac0f2eaed7d43f2efa6ad80c1557266bcf625d..0000000000000000000000000000000000000000 --- a/src/types/PageProps.ts +++ /dev/null @@ -1,32 +0,0 @@ -export type PageList = - "Getting Started" | - "Usage" | - "Dropzone Demo" | - "FileMosaic Demo" | - "FileCard Demo" | - "FileInputButton Demo" | - "FullScreen Demo" | - "Avatar Demo" | - "Dropzone Api" | - "FileMosaic Api" | - "FileCard Api" | - "FileInputButton Api" | - "FullScreen Api" | - "Avatar Api" | - "ImagePreview Api" | - "VideoPreview Api" | - "File Icons" | - "Localization" | - "Server Side" | - "Types" | - "File Reders" | - "File Upload" | - "File Download" - ; - -export type PageProps = { - pageBefore: PageProps; - pageAfter: PageProps; - url?: string; - key: PageList; -} \ No newline at end of file diff --git a/src/utils.ts b/src/utils.ts deleted file mode 100644 index 392989b393e90dd8bcae14416e2027a181427d7d..0000000000000000000000000000000000000000 --- a/src/utils.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { ExtFile, ExtFileInstance } from "./files-ui"; - -export const print_manager = (extFileList: ExtFile[] | ExtFileInstance[] | undefined, message: string = ""): void => { - if (extFileList) - console.log(`FileManagerLog ${message}`, extFileList?.map(F => F.uploadStatus)); - else - console.log(`FileManagerLog ${message}`); - -} \ No newline at end of file diff --git a/src/files-ui/utils/click.utils.ts b/src/utils/click.utils.ts similarity index 100% rename from src/files-ui/utils/click.utils.ts rename to src/utils/click.utils.ts diff --git a/src/files-ui/utils/dragdrop.utils.ts b/src/utils/dragdrop.utils.ts similarity index 100% rename from src/files-ui/utils/dragdrop.utils.ts rename to src/utils/dragdrop.utils.ts diff --git a/src/files-ui/utils/index.ts b/src/utils/index.ts similarity index 100% rename from src/files-ui/utils/index.ts rename to src/utils/index.ts diff --git a/src/utils/redirect.js b/src/utils/redirect.js deleted file mode 100644 index ef57dfaaee9c4ac77e6a3eff3392569a52a4035d..0000000000000000000000000000000000000000 --- a/src/utils/redirect.js +++ /dev/null @@ -1,12 +0,0 @@ -export const redirect = (to = "") => { - console.log("redirectredirect", to); - if (to.length === 0) return; - const anchor = document.createElement("a"); - anchor.href = to; - anchor.target = "_blank"; - anchor.rel = "noopener noreferrer"; - anchor.style.display = "none"; - document.body.appendChild(anchor); - anchor.click(); - document.body.removeChild(anchor); -}; diff --git a/src/files-ui/utils/ripple/index.ts b/src/utils/ripple/index.ts similarity index 100% rename from src/files-ui/utils/ripple/index.ts rename to src/utils/ripple/index.ts diff --git a/src/files-ui/utils/ripple/ripple.ts b/src/utils/ripple/ripple.ts similarity index 100% rename from src/files-ui/utils/ripple/ripple.ts rename to src/utils/ripple/ripple.ts diff --git a/src/utils/scrollHandler.ts b/src/utils/scrollHandler.ts deleted file mode 100644 index 67725274acbd6901899b386eb32e2f3ddb90c634..0000000000000000000000000000000000000000 --- a/src/utils/scrollHandler.ts +++ /dev/null @@ -1,48 +0,0 @@ -export type RightMenuItemComplete = { - id: number; - label: string; - referTo: string; - element?: HTMLElement; -} - -export const scrollHandler = (rightMenuItems: RightMenuItemComplete[], - setSelectedItem: React.Dispatch<React.SetStateAction<number>>) => { - - if (rightMenuItems.length === 0) return; - let menu: HTMLElement | null = document.querySelector(".section-container"); - if (menu === null) return; - - const rightMenuItemsWithIdSec = rightMenuItems.map((x) => { - return { - ...x, - idSec: x.referTo.split("#")[1], - }; - }); - - const arrElements = rightMenuItemsWithIdSec.map((x) => { - return { ...x, element: document.getElementById(x.idSec) }; - }); - - let pos_menu = window.pageYOffset + menu.offsetHeight; - - const arrElementsEnhanced = arrElements.map((x) => { - const element = x.element; - const postElement = element ? element.offsetTop + element.offsetHeight : Infinity; - const distance = Math.round(postElement - pos_menu); - return { ...x, distance }; - }); - - let min = Math.min( - ...arrElementsEnhanced - .map((x) => Math.round(x.distance)) - .filter((x) => x > 0) - ); - - arrElementsEnhanced.forEach((x) => { - if (x.distance === min) { - setSelectedItem((_id) => { - return x.id; - }); - } - }); -}; diff --git a/tsconfig.json b/tsconfig.json index f1ef334c6e6d98983da8e8c074dd3a454b605f77..302e0326da537e9d4625b582fe111e21920ed706 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,17 @@ { "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, + "declaration": true, + "declarationDir": "build", "module": "esnext", + "target": "es5", + "lib": ["es6", "dom", "es2016", "es2017"], + "sourceMap": true, + "jsx": "react", "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" + "allowSyntheticDefaultImports": true, + "esModuleInterop": true }, - "include": [ - "src" -, "tests", "jest.config.js" ] -} + "include": ["src/**/*"], + "exclude": ["node_modules", "build"], + "baseUrl": "./", +} \ No newline at end of file diff --git a/use-cases.md b/use-cases.md deleted file mode 100644 index 8cc66f90d2dd1b2da13235ef7678d1b32841dab0..0000000000000000000000000000000000000000 --- a/use-cases.md +++ /dev/null @@ -1,2 +0,0 @@ -# Files -ui Use Cases -- set the thumbnail, after loads the hd image show loader \ No newline at end of file