diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..038f96f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,7 @@ +# builds +package +dist + +# legacy builds +/legacy/index.cjs +/legacy/index.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f42455d..06612ed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,5 +21,8 @@ jobs: cache: 'pnpm' - name: Install dependencies run: pnpm install + - name: Install dependencies to legacy folder + working-directory: legacy + run: pnpm install - name: Run tests run: pnpm test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 83a5d79..10eefd7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,6 +21,9 @@ jobs: registry-url: 'https://registry.npmjs.org' - name: Install dependencies run: pnpm install + - name: Install dependencies to legacy folder + working-directory: legacy + run: pnpm install - name: Publish run: pnpm publish --no-git-checks env: diff --git a/.gitignore b/.gitignore index b96de9b..ce56c43 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,9 @@ npm-debug.log* # testing coverage + +# legacy builds +/legacy/index.cjs +/legacy/index.cjs.map +/legacy/index.js +/legacy/index.js.map diff --git a/.storybook/main.js b/.storybook/main.js index f590e0f..8014bcb 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -3,7 +3,7 @@ const path = require('path'); module.exports = { stories: ['../stories/*.stories.(js|ts)'], addons: ['@storybook/addon-essentials'], - framework: '@storybook/vue', + framework: '@storybook/vue3', webpackFinal: async config => { config.resolve.alias['vue-google-charts'] = path.resolve( __dirname, diff --git a/jest.config.js b/jest.config.js index 5812169..8621c08 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,7 +3,7 @@ module.exports = { testMatch: ['/test/(*.)spec.(js|ts)'], moduleFileExtensions: ['js', 'ts', 'vue'], transform: { - '^.+\\.vue$': '@vue/vue2-jest', + '^.+\\.vue$': '@vue/vue3-jest', '^.+\\.(t|j)sx?$': [ '@swc/jest', { diff --git a/legacy/.babelrc b/legacy/.babelrc new file mode 100644 index 0000000..3eeb33a --- /dev/null +++ b/legacy/.babelrc @@ -0,0 +1,3 @@ +{ + "extends": "../.babelrc" +} diff --git a/legacy/jest.config.js b/legacy/jest.config.js new file mode 100644 index 0000000..5812169 --- /dev/null +++ b/legacy/jest.config.js @@ -0,0 +1,24 @@ +module.exports = { + testEnvironment: 'jsdom', + testMatch: ['/test/(*.)spec.(js|ts)'], + moduleFileExtensions: ['js', 'ts', 'vue'], + transform: { + '^.+\\.vue$': '@vue/vue2-jest', + '^.+\\.(t|j)sx?$': [ + '@swc/jest', + { + module: { + type: 'commonjs', + }, + env: { + targets: { + node: 12, + }, + }, + }, + ], + }, + collectCoverage: true, + collectCoverageFrom: ['/src/*'], + coverageReporters: ['lcovonly', 'text'], +}; diff --git a/legacy/package.json b/legacy/package.json new file mode 100644 index 0000000..65f12b8 --- /dev/null +++ b/legacy/package.json @@ -0,0 +1,24 @@ +{ + "main": "./legacy/src/index.ts", + "types": "./legacy/src/index.d.ts", + "publishConfig": { + "main": "./legacy/index.cjs", + "module": "./legacy/index.js" + }, + "scripts": { + "test:unit": "jest -c jest.config.js" + }, + "devDependencies": { + "@babel/core": "7.17.9", + "@swc/core": "^1.2.124", + "@swc/jest": "^0.2.20", + "@vue/test-utils": "1", + "@vue/vue2-jest": "27.0.0-alpha.4", + "babel-jest": "27.5.1", + "core-js": "^3.22.2", + "jest": "27.5.1", + "rollup-plugin-vue2": "^0.8.1", + "vue": "2.6.14", + "vue-template-compiler": "2.6.14" + } +} diff --git a/legacy/pnpm-lock.yaml b/legacy/pnpm-lock.yaml new file mode 100644 index 0000000..01ad790 --- /dev/null +++ b/legacy/pnpm-lock.yaml @@ -0,0 +1,3208 @@ +lockfileVersion: 5.3 + +specifiers: + '@babel/core': 7.17.9 + '@swc/core': ^1.2.124 + '@swc/jest': ^0.2.20 + '@vue/test-utils': '1' + '@vue/vue2-jest': 27.0.0-alpha.4 + babel-jest: 27.5.1 + core-js: ^3.22.2 + jest: 27.5.1 + rollup-plugin-vue2: ^0.8.1 + vue: 2.6.14 + vue-template-compiler: 2.6.14 + +devDependencies: + '@babel/core': 7.17.9 + '@swc/core': 1.2.172 + '@swc/jest': 0.2.20_@swc+core@1.2.172 + '@vue/test-utils': 1.3.0_9065e7474e033a8e4b95615fc8e6c36c + '@vue/vue2-jest': 27.0.0-alpha.4_46c8e00729d03ada6b77e9abfde099ff + babel-jest: 27.5.1_@babel+core@7.17.9 + core-js: 3.22.2 + jest: 27.5.1 + rollup-plugin-vue2: 0.8.1 + vue: 2.6.14 + vue-template-compiler: 2.6.14 + +packages: + + /@ampproject/remapping/2.1.2: + resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@babel/code-frame/7.16.7: + resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.17.9 + dev: true + + /@babel/compat-data/7.17.7: + resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.17.9: + resolution: {integrity: sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.1.2 + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.17.9 + '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 + '@babel/helper-module-transforms': 7.17.7 + '@babel/helpers': 7.17.9 + '@babel/parser': 7.17.9 + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.9 + '@babel/types': 7.17.0 + convert-source-map: 1.8.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.17.9: + resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + + /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.9: + resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.17.7 + '@babel/core': 7.17.9 + '@babel/helper-validator-option': 7.16.7 + browserslist: 4.20.3 + semver: 6.3.0 + dev: true + + /@babel/helper-environment-visitor/7.16.7: + resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-function-name/7.17.9: + resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.16.7 + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-hoist-variables/7.16.7: + resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-module-imports/7.16.7: + resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-module-transforms/7.17.7: + resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.16.7 + '@babel/helper-module-imports': 7.16.7 + '@babel/helper-simple-access': 7.17.7 + '@babel/helper-split-export-declaration': 7.16.7 + '@babel/helper-validator-identifier': 7.16.7 + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.9 + '@babel/types': 7.17.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-plugin-utils/7.16.7: + resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-simple-access/7.17.7: + resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-split-export-declaration/7.16.7: + resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option/7.16.7: + resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers/7.17.9: + resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.16.7 + '@babel/traverse': 7.17.9 + '@babel/types': 7.17.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.17.9: + resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.16.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.17.9: + resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} + engines: {node: '>=6.0.0'} + hasBin: true + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.9: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.17.9: + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.9: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.9: + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.9: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.9: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.9: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.9: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.9: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.9: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.9: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.9: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.9: + resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-plugin-utils': 7.16.7 + dev: true + + /@babel/plugin-transform-modules-commonjs/7.17.9_@babel+core@7.17.9: + resolution: {integrity: sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.9 + '@babel/helper-module-transforms': 7.17.7 + '@babel/helper-plugin-utils': 7.16.7 + '@babel/helper-simple-access': 7.17.7 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/template/7.16.7: + resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.16.7 + '@babel/parser': 7.17.9 + '@babel/types': 7.17.0 + dev: true + + /@babel/traverse/7.17.9: + resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.17.9 + '@babel/helper-environment-visitor': 7.16.7 + '@babel/helper-function-name': 7.17.9 + '@babel/helper-hoist-variables': 7.16.7 + '@babel/helper-split-export-declaration': 7.16.7 + '@babel/parser': 7.17.9 + '@babel/types': 7.17.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.17.0: + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.16.7 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage/0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console/27.5.1: + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + chalk: 4.1.2 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + dev: true + + /@jest/core/27.5.1: + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + 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': 17.0.27 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.5 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /@jest/create-cache-key-function/27.5.1: + resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + dev: true + + /@jest/environment/27.5.1: + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + jest-mock: 27.5.1 + dev: true + + /@jest/fake-timers/27.5.1: + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 17.0.27 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + + /@jest/globals/27.5.1: + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 + dev: true + + /@jest/reporters/27.5.1: + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + 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': 17.0.27 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.0 + graceful-fs: 4.2.10 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.0 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.4 + jest-haste-map: 27.5.1 + jest-resolve: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 8.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/source-map/27.5.1: + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.10 + source-map: 0.6.1 + dev: true + + /@jest/test-result/27.5.1: + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/types': 27.5.1 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + + /@jest/test-sequencer/27.5.1: + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.10 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/transform/27.5.1: + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.17.9 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.8.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.10 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types/27.5.1: + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 17.0.27 + '@types/yargs': 16.0.4 + chalk: 4.1.2 + dev: true + + /@jridgewell/resolve-uri/3.0.6: + resolution: {integrity: sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec/1.4.11: + resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==} + dev: true + + /@jridgewell/trace-mapping/0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.0.6 + '@jridgewell/sourcemap-codec': 1.4.11 + dev: true + + /@sinonjs/commons/1.8.3: + resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + dependencies: + '@sinonjs/commons': 1.8.3 + dev: true + + /@swc/core-android-arm-eabi/1.2.172: + resolution: {integrity: sha512-r0Jf/ZArqPDQ0zojA2IrI4/OZoWUu/Rti0dbO/f5lYJNzasNZwelhN7xrGrzTm39ZFL5ekDw66FLFPP0q0bMgw==} + engines: {node: '>=10'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@swc/core-android-arm64/1.2.172: + resolution: {integrity: sha512-l+D0nq6jR6FV8NwhWKIz1lwGbGBHAK8OnmyJfgiVnv+vMGm8LEocU7T2XBq+5ixWdeMtIYbD/g0zapbcaWbouw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@swc/core-darwin-arm64/1.2.172: + resolution: {integrity: sha512-8BnauUKiScAEXzS6Ldk8GNP2BnH8RS5nF93xaeO0cUgc7QuBarwH5Y+tSCY9Vy4uUkCBY1gKe8yaJUXsvT5C0w==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-darwin-x64/1.2.172: + resolution: {integrity: sha512-NlT+ginLBAYlGQzXiW+ZjlBD2/dTP5mo0ByF0nIdku4cFiTbIOfuTe6Uc0SrcIER1vuVBBvJkZmVrtgaV8DeAQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-freebsd-x64/1.2.172: + resolution: {integrity: sha512-TBDGbX9WInEAOCAYWJthqhCpqcETjTSYVNicKQsUMSbYbBOYqtOSeLBKxDTT7E4sP4owvUW8mzig5Iuz2vJseg==} + engines: {node: '>=10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm-gnueabihf/1.2.172: + resolution: {integrity: sha512-oe+py6WiWRi/IqmkQFfD7HEkGTv1AAYgTW0sxDbsQP7BM8FyKtMyJoey1umE5IumewSf5gAZ8Twf4h0YPvR5wQ==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-gnu/1.2.172: + resolution: {integrity: sha512-dlseuiwjR1/sDNOJtpLB/MxeyuPq+5M6gzB+E1IVHZNSDeexXt8jVF7pomTHLmIkKl8sm2uVwVKK6r2KUH9Gcg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-musl/1.2.172: + resolution: {integrity: sha512-gBGg7tgF3s5YZAUShHBs3LcQuZdFhlrwz5ixXnKy2p6dJjN9idMddj7sEV+e/O3q5jsL7T0aaIHE1/t24oLniQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-gnu/1.2.172: + resolution: {integrity: sha512-t1X3grtfEqLmEtBfsbOO/k/xBocVGhCh3jIeeko2ra1AYWH6KW3fboz8tLvLNyAVzbfzTHnUxcRfRvwIKQnFXg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-musl/1.2.172: + resolution: {integrity: sha512-lPlZg2zRiiVDSmrJZMvqjPHF69heekEXzN1t7k8jeHrL89c1KEOrTFN0ZMcGFkkjWgq04ba6o1RyubTI2B29rw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-arm64-msvc/1.2.172: + resolution: {integrity: sha512-pAMjBrWEhp33C1F1klvfN3ICU7keX70Ms22bTsobsghUIi1gFY3IUG3rd+BV7dmMpF0FomQRrHjcMoM3T4Urlw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-ia32-msvc/1.2.172: + resolution: {integrity: sha512-Z1inaIQSBETWm/r1kkQGa40g7UnEJRmaJm+qOUVjPPCeNNmmcD6bnDbb2SNv3NC0c6odtnn9yiOIWJTiZKyeCg==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-x64-msvc/1.2.172: + resolution: {integrity: sha512-q9nMpPpxgBG7j5p31YSag+fm6LjDzorUIRY22QMG/Os68q14sGITm0+B5bLzxa/VkfpqHXLZ48XdcyA3UkKXXw==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core/1.2.172: + resolution: {integrity: sha512-Jd3Czz46LUrBldXO1G9LUOoH/PxkRWxwsf2siUaX5arC2bkQsRt7i7czVHo0cbaCo78Nr84jvDN1gBr6e1aEtQ==} + engines: {node: '>=10'} + hasBin: true + optionalDependencies: + '@swc/core-android-arm-eabi': 1.2.172 + '@swc/core-android-arm64': 1.2.172 + '@swc/core-darwin-arm64': 1.2.172 + '@swc/core-darwin-x64': 1.2.172 + '@swc/core-freebsd-x64': 1.2.172 + '@swc/core-linux-arm-gnueabihf': 1.2.172 + '@swc/core-linux-arm64-gnu': 1.2.172 + '@swc/core-linux-arm64-musl': 1.2.172 + '@swc/core-linux-x64-gnu': 1.2.172 + '@swc/core-linux-x64-musl': 1.2.172 + '@swc/core-win32-arm64-msvc': 1.2.172 + '@swc/core-win32-ia32-msvc': 1.2.172 + '@swc/core-win32-x64-msvc': 1.2.172 + dev: true + + /@swc/jest/0.2.20_@swc+core@1.2.172: + resolution: {integrity: sha512-5qSUBYY1wyIMn7p0Vl9qqV4hMI69oJwZCIPUpBsTFWN2wlwn6RDugzdgCn+bLXVYh+Cxi8bJcZ1uumDgsoL+FA==} + engines: {npm: '>= 7.0.0'} + peerDependencies: + '@swc/core': '*' + dependencies: + '@jest/create-cache-key-function': 27.5.1 + '@swc/core': 1.2.172 + dev: true + + /@tootallnate/once/1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + + /@types/babel__core/7.1.19: + resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} + dependencies: + '@babel/parser': 7.17.9 + '@babel/types': 7.17.0 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.17.0 + dev: true + + /@types/babel__generator/7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@types/babel__template/7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.17.9 + '@babel/types': 7.17.0 + dev: true + + /@types/babel__traverse/7.17.0: + resolution: {integrity: sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==} + dependencies: + '@babel/types': 7.17.0 + dev: true + + /@types/graceful-fs/4.1.5: + resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} + dependencies: + '@types/node': 17.0.27 + dev: true + + /@types/istanbul-lib-coverage/2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + + /@types/istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + dev: true + + /@types/istanbul-reports/3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + dependencies: + '@types/istanbul-lib-report': 3.0.0 + dev: true + + /@types/node/17.0.27: + resolution: {integrity: sha512-4/Ke7bbWOasuT3kceBZFGakP1dYN2XFd8v2l9bqF2LNWrmeU07JLpp56aEeG6+Q3olqO5TvXpW0yaiYnZJ5CXg==} + dev: true + + /@types/prettier/2.6.0: + resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==} + dev: true + + /@types/stack-utils/2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + dev: true + + /@types/yargs-parser/21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs/16.0.4: + resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@vue/component-compiler-utils/3.3.0: + resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==} + dependencies: + consolidate: 0.15.1 + hash-sum: 1.0.2 + lru-cache: 4.1.5 + merge-source-map: 1.1.0 + postcss: 7.0.39 + postcss-selector-parser: 6.0.10 + source-map: 0.6.1 + vue-template-es2015-compiler: 1.9.1 + optionalDependencies: + prettier: 2.6.2 + dev: true + + /@vue/test-utils/1.3.0_9065e7474e033a8e4b95615fc8e6c36c: + resolution: {integrity: sha512-Xk2Xiyj2k5dFb8eYUKkcN9PzqZSppTlx7LaQWBbdA8tqh3jHr/KHX2/YLhNFc/xwDrgeLybqd+4ZCPJSGPIqeA==} + peerDependencies: + vue: 2.x + vue-template-compiler: ^2.x + dependencies: + dom-event-types: 1.1.0 + lodash: 4.17.21 + pretty: 2.0.0 + vue: 2.6.14 + vue-template-compiler: 2.6.14 + dev: true + + /@vue/vue2-jest/27.0.0-alpha.4_46c8e00729d03ada6b77e9abfde099ff: + resolution: {integrity: sha512-8dxGLYkHXyW1nP3EEveWx2xx5pQOEd2lEnykUYQfM+egNZOL04MLE/DnOAcwRwky8T+D8mu2hDIgUBFwUMx13g==} + peerDependencies: + '@babel/core': 7.x + babel-jest: '>= 27 < 28' + jest: 27.x + ts-jest: '>= 27 < 28' + vue: ^2.x + vue-template-compiler: ^2.x + peerDependenciesMeta: + ts-jest: + optional: true + dependencies: + '@babel/core': 7.17.9 + '@babel/plugin-transform-modules-commonjs': 7.17.9_@babel+core@7.17.9 + '@vue/component-compiler-utils': 3.3.0 + babel-jest: 27.5.1_@babel+core@7.17.9 + chalk: 2.4.2 + extract-from-css: 0.4.4 + jest: 27.5.1 + source-map: 0.5.6 + vue: 2.6.14 + vue-template-compiler: 2.6.14 + transitivePeerDependencies: + - supports-color + dev: true + + /abab/2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + dev: true + + /abbrev/1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: true + + /acorn-globals/6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-walk/7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn/8.7.1: + resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base/6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /asynckit/0.4.0: + resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} + dev: true + + /atob/2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /babel-jest/27.5.1_@babel+core@7.17.9: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.17.9 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.1.19 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1_@babel+core@7.17.9 + chalk: 4.1.2 + graceful-fs: 4.2.10 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-dynamic-import-node/2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + dependencies: + object.assign: 4.1.2 + dev: true + + /babel-plugin-istanbul/6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.16.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.0 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist/27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/template': 7.16.7 + '@babel/types': 7.17.0 + '@types/babel__core': 7.1.19 + '@types/babel__traverse': 7.17.0 + dev: true + + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.17.9: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.17.9 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.9 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.17.9 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.9 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.9 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.9 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.9 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.9 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.9 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.9 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.9 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.9 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.9 + dev: true + + /babel-preset-jest/27.5.1_@babel+core@7.17.9: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.17.9 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.9 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /bluebird/3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browser-process-hrtime/1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true + + /browserslist/4.20.3: + resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001332 + electron-to-chromium: 1.4.121 + escalade: 3.1.1 + node-releases: 2.0.3 + picocolors: 1.0.0 + dev: true + + /bser/2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite/1.0.30001332: + resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex/1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /ci-info/3.3.0: + resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} + dev: true + + /cjs-module-lexer/1.2.2: + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} + dev: true + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /co/4.6.0: + resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage/1.0.1: + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + dev: true + + /condense-newlines/0.2.1: + resolution: {integrity: sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-whitespace: 0.3.0 + kind-of: 3.2.2 + dev: true + + /config-chain/1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + + /consolidate/0.15.1: + resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} + engines: {node: '>= 0.10.0'} + dependencies: + bluebird: 3.7.2 + dev: true + + /convert-source-map/1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /core-js/3.22.2: + resolution: {integrity: sha512-Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==} + requiresBuild: true + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css/2.2.4: + resolution: {integrity: sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==} + dependencies: + inherits: 2.0.4 + source-map: 0.6.1 + source-map-resolve: 0.5.3 + urix: 0.1.0 + dev: true + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /cssom/0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom/0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: true + + /cssstyle/2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /data-urls/2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: true + + /de-indent/1.0.2: + resolution: {integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=} + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decimal.js/10.3.1: + resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} + dev: true + + /decode-uri-component/0.2.0: + resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} + engines: {node: '>=0.10'} + dev: true + + /dedent/0.7.0: + resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + + /define-properties/1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /delayed-stream/1.0.0: + resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + engines: {node: '>=0.4.0'} + dev: true + + /detect-newline/3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences/27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /dom-event-types/1.1.0: + resolution: {integrity: sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==} + dev: true + + /domexception/2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + dependencies: + webidl-conversions: 5.0.0 + dev: true + + /editorconfig/0.15.3: + resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} + hasBin: true + dependencies: + commander: 2.20.3 + lru-cache: 4.1.5 + semver: 5.7.1 + sigmund: 1.0.1 + dev: true + + /electron-to-chromium/1.4.121: + resolution: {integrity: sha512-N7OXhMr1p2oa9EkOhmHpmOm43DHzs55dep2FF6M7y6px5QJBheqEE3nwwZ+xJowlff+AEmMOdg3ARYGB+0kzbA==} + dev: true + + /emittery/0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escodegen/2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit/0.1.2: + resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} + engines: {node: '>= 0.8.0'} + dev: true + + /expect/27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + dev: true + + /extend-shallow/2.0.1: + resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extract-from-css/0.4.4: + resolution: {integrity: sha1-HqffLnx8brmSL6COitrqSG9vj5I=} + engines: {node: '>=0.10.0', npm: '>=2.0.0'} + dependencies: + css: 2.2.4 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + dev: true + + /fb-watchman/2.0.1: + resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} + dependencies: + bser: 2.1.1 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /form-data/3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic/1.1.1: + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + + /get-package-type/0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.1.1 + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /hash-sum/1.0.2: + resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=} + dev: true + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /html-encoding-sniffer/2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: true + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-proxy-agent/4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + engines: {node: '>=0.8.19'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + dev: true + + /is-buffer/1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-core-module/2.9.0: + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} + dependencies: + has: 1.0.3 + dev: true + + /is-extendable/0.1.1: + resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn/2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-potential-custom-element-name/1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-typedarray/1.0.0: + resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + dev: true + + /is-whitespace/0.3.0: + resolution: {integrity: sha1-Fjnssb4DauxppUy7QBz77XEUq38=} + engines: {node: '>=0.10.0'} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + dev: true + + /istanbul-lib-coverage/3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument/5.2.0: + resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.17.9 + '@babel/parser': 7.17.9 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report/3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps/4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports/3.1.4: + resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jest-changed-files/27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.1 + dev: true + + /jest-circus/27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.5 + throat: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli/27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + import-local: 3.1.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-config/27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.17.9 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1_@babel+core@7.17.9 + chalk: 4.1.2 + ci-info: 3.3.0 + deepmerge: 4.2.2 + glob: 7.2.0 + graceful-fs: 4.2.10 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-diff/27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-docblock/27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each/27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + jest-get-type: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-environment-jsdom/27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-environment-node/27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + + /jest-get-type/27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /jest-haste-map/27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.5 + '@types/node': 17.0.27 + anymatch: 3.1.2 + fb-watchman: 2.0.1 + graceful-fs: 4.2.10 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /jest-jasmine2/27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + 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': 17.0.27 + chalk: 4.1.2 + co: 4.6.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-leak-detector/27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-matcher-utils/27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-message-util/27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/code-frame': 7.16.7 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.10 + micromatch: 4.0.5 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.5 + dev: true + + /jest-mock/27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + dev: true + + /jest-pnp-resolver/1.2.2_jest-resolve@27.5.1: + resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 27.5.1 + dev: true + + /jest-regex-util/27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /jest-resolve-dependencies/27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve/27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.10 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.2_jest-resolve@27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.0 + resolve.exports: 1.1.0 + slash: 3.0.0 + dev: true + + /jest-runner/27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + 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': 17.0.27 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.10 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-runtime/27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + cjs-module-lexer: 1.2.2 + collect-v8-coverage: 1.0.1 + execa: 5.1.1 + glob: 7.2.0 + graceful-fs: 4.2.10 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-serializer/27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/node': 17.0.27 + graceful-fs: 4.2.10 + dev: true + + /jest-snapshot/27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.17.9 + '@babel/generator': 7.17.9 + '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.9 + '@babel/traverse': 7.17.9 + '@babel/types': 7.17.0 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__traverse': 7.17.0 + '@types/prettier': 2.6.0 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.9 + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.10 + 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.7 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util/27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + chalk: 4.1.2 + ci-info: 3.3.0 + graceful-fs: 4.2.10 + picomatch: 2.3.1 + dev: true + + /jest-validate/27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 + leven: 3.1.0 + pretty-format: 27.5.1 + dev: true + + /jest-watcher/27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 17.0.27 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 27.5.1 + string-length: 4.0.2 + dev: true + + /jest-worker/27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 17.0.27 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest/27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + import-local: 3.1.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /js-beautify/1.14.3: + resolution: {integrity: sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + config-chain: 1.1.13 + editorconfig: 0.15.3 + glob: 7.2.0 + nopt: 5.0.0 + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsdom/16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.7.1 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.3.1 + domexception: 2.0.1 + escodegen: 2.0.0 + form-data: 3.0.1 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.0 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.0.0 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.7 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json5/2.2.1: + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /kind-of/3.2.2: + resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn/0.3.0: + resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string/0.26.1: + resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} + engines: {node: '>=12'} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /makeerror/1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /merge-source-map/1.1.0: + resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} + dependencies: + source-map: 0.6.1 + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + dev: true + + /node-int64/0.4.0: + resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} + dev: true + + /node-releases/2.0.3: + resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==} + dev: true + + /nopt/5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nwsapi/2.2.0: + resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign/4.1.2: + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /optionator/0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.16.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse5/6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors/0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss/7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + dependencies: + picocolors: 0.2.1 + source-map: 0.6.1 + dev: true + + /prelude-ls/1.1.2: + resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier/2.6.2: + resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} + engines: {node: '>=10.13.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /pretty-format/27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /pretty/2.0.0: + resolution: {integrity: sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=} + engines: {node: '>=0.10.0'} + dependencies: + condense-newlines: 0.2.1 + extend-shallow: 2.0.1 + js-beautify: 1.14.3 + dev: true + + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /proto-list/1.2.4: + resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=} + dev: true + + /pseudomap/1.0.2: + resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} + dev: true + + /psl/1.8.0: + resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} + dev: true + + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + dev: true + + /react-is/17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-url/0.2.1: + resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve.exports/1.1.0: + resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} + engines: {node: '>=10'} + dev: true + + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true + dependencies: + is-core-module: 2.9.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.0 + dev: true + + /rollup-plugin-vue2/0.8.1: + resolution: {integrity: sha512-cvPM7Jn6SBrevNVryszkB9oRcok0Sa2kbp1rM/mtrQFWwLSaTXQOapdP0RFJlqRB9xgvxBpnFnPLYbp7F7cXgw==} + dependencies: + magic-string: 0.26.1 + rollup-pluginutils: 2.8.2 + vue-template-compiler: 2.6.14 + vue-template-es2015-compiler: 1.9.1 + dev: true + + /rollup-pluginutils/2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + dependencies: + estree-walker: 0.6.1 + dev: true + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /saxes/5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /sigmund/1.0.1: + resolution: {integrity: sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=} + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /source-map-resolve/0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.0 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-url/0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map/0.5.6: + resolution: {integrity: sha1-dc449SvwczxafwwRjYEzSiu19BI=} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.5.7: + resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.7.3: + resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} + engines: {node: '>= 8'} + dev: true + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + dev: true + + /stack-utils/2.0.5: + resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /string-length/4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks/2.2.0: + resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /symbol-tree/3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /terminal-link/2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.2.0 + dev: true + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.0 + minimatch: 3.1.2 + dev: true + + /throat/6.0.1: + resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} + dev: true + + /tmpl/1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + engines: {node: '>=4'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tough-cookie/4.0.0: + resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} + engines: {node: '>=6'} + dependencies: + psl: 1.8.0 + punycode: 2.1.1 + universalify: 0.1.2 + dev: true + + /tr46/2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.1.1 + dev: true + + /type-check/0.3.2: + resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + dev: true + + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /typedarray-to-buffer/3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /urix/0.1.0: + resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /util-deprecate/1.0.2: + resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + dev: true + + /v8-to-istanbul/8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.8.0 + source-map: 0.7.3 + dev: true + + /vue-template-compiler/2.6.14: + resolution: {integrity: sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-template-es2015-compiler/1.9.1: + resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} + dev: true + + /vue/2.6.14: + resolution: {integrity: sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==} + dev: true + + /w3c-hr-time/1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + dependencies: + browser-process-hrtime: 1.0.0 + dev: true + + /w3c-xmlserializer/2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: true + + /walker/1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /webidl-conversions/5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: true + + /webidl-conversions/6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: true + + /whatwg-encoding/1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: true + + /whatwg-mimetype/2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: true + + /whatwg-url/8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + dev: true + + /write-file-atomic/3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /ws/7.5.7: + resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} + 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 + dev: true + + /xml-name-validator/3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: true + + /xmlchars/2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist/2.1.2: + resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true diff --git a/legacy/rollup.config.js b/legacy/rollup.config.js new file mode 100644 index 0000000..e96545f --- /dev/null +++ b/legacy/rollup.config.js @@ -0,0 +1,33 @@ +import vue from 'rollup-plugin-vue2'; + +import pkg from './package.json'; + +import { external, plugins } from '../rollup.config'; + +export default [ + { + input: pkg.main, + plugins: plugins('defaults and supports es6-module', vue), + external, + output: { + format: 'es', + file: pkg.publishConfig.module, + sourcemap: true, + }, + }, + { + input: pkg.main, + plugins: plugins('defaults, not ie 11, not ie_mob 11', vue, { + template: { + optimizeSSR: true, + }, + }), + external, + output: { + format: 'cjs', + file: pkg.publishConfig.main, + exports: 'named', + sourcemap: true, + }, + }, +]; diff --git a/src/@types/shims-vue.d.ts b/legacy/src/@types/shims-vue.d.ts similarity index 100% rename from src/@types/shims-vue.d.ts rename to legacy/src/@types/shims-vue.d.ts diff --git a/src/components/GChart.vue b/legacy/src/components/GChart.vue similarity index 50% rename from src/components/GChart.vue rename to legacy/src/components/GChart.vue index f5d269a..174d464 100644 --- a/src/components/GChart.vue +++ b/legacy/src/components/GChart.vue @@ -3,8 +3,9 @@ diff --git a/legacy/src/index.ts b/legacy/src/index.ts new file mode 100644 index 0000000..5f58d75 --- /dev/null +++ b/legacy/src/index.ts @@ -0,0 +1,34 @@ +import Vue from 'vue'; + +import { loadGoogleCharts } from '../../src/lib/google-charts-loader'; +import GChart from './components/GChart.vue'; + +// Install the components +export function install(vue: typeof Vue) { + vue.component('GChart', GChart); +} + +// Expose the components +export { loadGoogleCharts, GChart }; + +/* -- Plugin definition & Auto-install -- */ +/* You shouldn't have to modify the code below */ + +// Plugin +const plugin = { + version: process.env.VERSION, + install, +}; + +export default plugin; + +// Auto-install +let GlobalVue = null; +if (typeof window !== 'undefined') { + GlobalVue = window.Vue; +} else if (typeof global !== 'undefined') { + GlobalVue = global.Vue; +} +if (GlobalVue) { + GlobalVue.use(plugin); +} diff --git a/legacy/test/.eslintrc b/legacy/test/.eslintrc new file mode 100644 index 0000000..55f121d --- /dev/null +++ b/legacy/test/.eslintrc @@ -0,0 +1,5 @@ +{ + "env": { + "jest": true + } +} diff --git a/legacy/test/AreaChart.spec.ts b/legacy/test/AreaChart.spec.ts new file mode 100644 index 0000000..f2a1ecb --- /dev/null +++ b/legacy/test/AreaChart.spec.ts @@ -0,0 +1,45 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('AreaChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'AreaChart'; + + const data = [ + ['Year', 'Sales', 'Expenses'], + ['2013', 1000, 400], + ['2014', 1170, 460], + ['2015', 660, 1120], + ['2016', 1030, 540], + ]; + + const options = { + title: 'Company Performance', + hAxis: { title: 'Year', titleTextStyle: { color: '#333' } }, + vAxis: { minValue: 0 }, + chartArea: { width: '50%', height: '70%' }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/BarChart.spec.ts b/legacy/test/BarChart.spec.ts new file mode 100644 index 0000000..6b8de4f --- /dev/null +++ b/legacy/test/BarChart.spec.ts @@ -0,0 +1,51 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('BarChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'BarChart'; + + const data = [ + ['City', '2010 Population', '2000 Population'], + ['New York City, NY', 8175000, 8008000], + ['Los Angeles, CA', 3792000, 3694000], + ['Chicago, IL', 2695000, 2896000], + ['Houston, TX', 2099000, 1953000], + ['Philadelphia, PA', 1526000, 1517000], + ]; + + const options = { + title: 'Population of Largest U.S. Cities', + chartArea: { width: '50%' }, + hAxis: { + title: 'Total Population', + minValue: 0, + }, + vAxis: { + title: 'City', + }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/BubbleChart.spec.ts b/legacy/test/BubbleChart.spec.ts new file mode 100644 index 0000000..53a8416 --- /dev/null +++ b/legacy/test/BubbleChart.spec.ts @@ -0,0 +1,53 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('BubbleChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'BubbleChart'; + + const data = [ + ['ID', 'Life Expectancy', 'Fertility Rate', 'Region', 'Population'], + ['CAN', 80.66, 1.67, 'North America', 33739900], + ['DEU', 79.84, 1.36, 'Europe', 81902307], + ['DNK', 78.6, 1.84, 'Europe', 5523095], + ['EGY', 72.73, 2.78, 'Middle East', 79716203], + ['GBR', 80.05, 2, 'Europe', 61801570], + ['IRN', 72.49, 1.7, 'Middle East', 73137148], + ['IRQ', 68.09, 4.77, 'Middle East', 31090763], + ['ISR', 81.55, 2.96, 'Middle East', 7485600], + ['RUS', 68.6, 1.54, 'Europe', 141850000], + ['USA', 78.09, 2.05, 'North America', 307007000], + ]; + + const options = { + title: + 'Correlation between life expectancy, fertility rate ' + + 'and population of some world countries (2010)', + hAxis: { title: 'Life Expectancy' }, + vAxis: { title: 'Fertility Rate' }, + bubble: { textStyle: { fontSize: 11 } }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/Candlestick.spec.ts b/legacy/test/Candlestick.spec.ts new file mode 100644 index 0000000..822f883 --- /dev/null +++ b/legacy/test/Candlestick.spec.ts @@ -0,0 +1,43 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('CandlestickChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'CandlestickChart'; + + const data = [ + ['day', 'a', 'b', 'c', 'd'], + ['Mon', 20, 28, 38, 45], + ['Tue', 31, 38, 55, 66], + ['Wed', 50, 55, 77, 80], + ['Thu', 50, 77, 66, 77], + ['Fri', 15, 66, 22, 68], + ]; + + const options = { + legend: 'none', + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/ColumnChart.spec.ts b/legacy/test/ColumnChart.spec.ts new file mode 100644 index 0000000..9f043f4 --- /dev/null +++ b/legacy/test/ColumnChart.spec.ts @@ -0,0 +1,45 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('ColumnChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'ColumnChart'; + + const data = [ + ['Year', 'Sales', 'Expenses', 'Profit'], + ['2014', 1000, 400, 200], + ['2015', 1170, 460, 250], + ['2016', 660, 1120, 300], + ['2017', 1030, 540, 350], + ]; + + const options = { + chart: { + title: 'Company Performance', + subtitle: 'Sales, Expenses, and Profit: 2014-2017', + }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/ComboChart.spec.ts b/legacy/test/ComboChart.spec.ts new file mode 100644 index 0000000..1ae1d43 --- /dev/null +++ b/legacy/test/ComboChart.spec.ts @@ -0,0 +1,55 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('ComboChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'ComboChart'; + + const data = [ + [ + 'Month', + 'Bolivia', + 'Ecuador', + 'Madagascar', + 'Papua New Guinea', + 'Rwanda', + 'Average', + ], + ['2004/05', 165, 938, 522, 998, 450, 614.6], + ['2005/06', 135, 1120, 599, 1268, 288, 682], + ['2006/07', 157, 1167, 587, 807, 397, 623], + ['2007/08', 139, 1110, 615, 968, 215, 609.4], + ['2008/09', 136, 691, 629, 1026, 366, 569.6], + ]; + + const options = { + title: 'Monthly Coffee Production by Country', + vAxis: { title: 'Cups' }, + hAxis: { title: 'Month' }, + seriesType: 'bars', + series: { 5: { type: 'line' } }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/Histogram.spec.ts b/legacy/test/Histogram.spec.ts new file mode 100644 index 0000000..e24e504 --- /dev/null +++ b/legacy/test/Histogram.spec.ts @@ -0,0 +1,67 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('Histogram', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'Histogram'; + + const data = [ + ['Dinosaur', 'Length'], + ['Acrocanthosaurus (top-spined lizard)', 12.2], + ['Albertosaurus (Alberta lizard)', 9.1], + ['Allosaurus (other lizard)', 12.2], + ['Apatosaurus (deceptive lizard)', 22.9], + ['Archaeopteryx (ancient wing)', 0.9], + ['Argentinosaurus (Argentina lizard)', 36.6], + ['Baryonyx (heavy claws)', 9.1], + ['Brachiosaurus (arm lizard)', 30.5], + ['Ceratosaurus (horned lizard)', 6.1], + ['Coelophysis (hollow form)', 2.7], + ['Compsognathus (elegant jaw)', 0.9], + ['Deinonychus (terrible claw)', 2.7], + ['Diplodocus (double beam)', 27.1], + ['Dromicelomimus (emu mimic)', 3.4], + ['Gallimimus (fowl mimic)', 5.5], + ['Mamenchisaurus (Mamenchi lizard)', 21.0], + ['Megalosaurus (big lizard)', 7.9], + ['Microvenator (small hunter)', 1.2], + ['Ornithomimus (bird mimic)', 4.6], + ['Oviraptor (egg robber)', 1.5], + ['Plateosaurus (flat lizard)', 7.9], + ['Sauronithoides (narrow-clawed lizard)', 2.0], + ['Seismosaurus (tremor lizard)', 45.7], + ['Spinosaurus (spiny lizard)', 12.2], + ['Supersaurus (super lizard)', 30.5], + ['Tyrannosaurus (tyrant lizard)', 15.2], + ['Ultrasaurus (ultra lizard)', 30.5], + ['Velociraptor (swift robber)', 1.8], + ]; + + const options = { + title: 'Lengths of dinosaurs, in meters', + legend: { position: 'none' }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/LineChart.spec.ts b/legacy/test/LineChart.spec.ts new file mode 100644 index 0000000..c6dc63c --- /dev/null +++ b/legacy/test/LineChart.spec.ts @@ -0,0 +1,44 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('LineChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'LineChart'; + + const data = [ + ['Year', 'Sales', 'Expenses'], + ['2004', 1000, 400], + ['2005', 1170, 460], + ['2006', 660, 1120], + ['2007', 1030, 540], + ]; + + const options = { + title: 'Company Performance', + curveType: 'function', + legend: { position: 'bottom' }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/PieChart.spec.ts b/legacy/test/PieChart.spec.ts new file mode 100644 index 0000000..e9e7ed4 --- /dev/null +++ b/legacy/test/PieChart.spec.ts @@ -0,0 +1,43 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('PieChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'PieChart'; + + const data = [ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7], + ]; + + const options = { + title: 'My Daily Activities', + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/ScatterChart.spec.ts b/legacy/test/ScatterChart.spec.ts new file mode 100644 index 0000000..d6995c7 --- /dev/null +++ b/legacy/test/ScatterChart.spec.ts @@ -0,0 +1,48 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('ScatterChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'ScatterChart'; + + const data = [ + ['Year', 'Sales', 'Expenses'], + ['2004', 1000, 400], + ['2005', 1170, 460], + ['2006', 660, 1120], + ['2008', 1030, 540], + ['2009', 1000, 400], + ['2010', 1170, 460], + ['2011', 660, 1120], + ['2012', 1030, 540], + ]; + + const options = { + title: 'Company Performance', + curveType: 'function', + legend: { position: 'bottom' }, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/SteppedAreaChart.spec.ts b/legacy/test/SteppedAreaChart.spec.ts new file mode 100644 index 0000000..9a166af --- /dev/null +++ b/legacy/test/SteppedAreaChart.spec.ts @@ -0,0 +1,44 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('SteppedAreaChart', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'SteppedAreaChart'; + + const data = [ + ['Director (Year)', 'Rotten Tomatoes', 'IMDB'], + ['Alfred Hitchcock (1935)', 8.4, 7.9], + ['Ralph Thomas (1959)', 6.9, 6.5], + ['Don Sharp (1978)', 6.5, 6.4], + ['James Hawes (2008)', 4.4, 6.2], + ]; + + const options = { + title: "The decline of 'The 39 Steps'", + vAxis: { title: 'Accumulated Rating' }, + isStacked: true, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/legacy/test/Table.spec.ts b/legacy/test/Table.spec.ts new file mode 100644 index 0000000..44b626f --- /dev/null +++ b/legacy/test/Table.spec.ts @@ -0,0 +1,45 @@ +import { shallowMount } from '@vue/test-utils'; + +import { GChart } from '../src'; + +describe('Table', () => { + const Component = { + template: + '
', + components: { GChart }, + props: ['type', 'data', 'options'], + }; + + const type = 'Table'; + + const data = [ + ['Name', 'Salary', 'Full time employee'], + ['Mike', { v: 10000, f: '$10,000' }, true], + ['Jim', { v: 8000, f: '$8,000' }, false], + ['Alice', { v: 12500, f: '$12,500' }, true], + ['Bob', { v: 7000, f: '$7,000' }, true], + ]; + + const options = { + title: 'Company Performance', + curveType: 'function', + legend: { position: 'bottom' }, + pageSize: 1, + width: 800, + height: 600, + }; + + it('should render a chart', () => { + const wrapper = shallowMount(Component, { + propsData: { + type, + data, + options, + }, + }); + + const chart = wrapper.find('gchart-stub'); + expect(chart.attributes('type')).toBe(type); + expect(chart.attributes('data')).toBe(data.flat().join(',')); + }); +}); diff --git a/package.json b/package.json index de40600..750005b 100644 --- a/package.json +++ b/package.json @@ -23,18 +23,23 @@ "directory": "package" }, "files": [ - "dist/" + "dist/", + "legacy/index.*" ], "scripts": { "prepublishOnly": "pnpm test && pnpm build && del ./package && clean-publish", "postpublish": "del ./package", "emitDeclarations": "tsc --emitDeclarationOnly", - "build": "rollup -c & pnpm emitDeclarations", - "lint": "eslint --ext .js,.vue src", + "build:latest": "rollup -c & pnpm emitDeclarations", + "build:legacy": "rollup -c legacy/rollup.config.js & pnpm emitDeclarations", + "build": "pnpm build:latest && pnpm build:legacy", + "lint": "eslint --ext .js,.vue,.ts src", "format": "prettier --write src rollup.config.js", "test:size": "size-limit", "test:typings": "tsd", - "test:unit": "jest -c jest.config.js", + "test:unit:latest": "jest -c jest.config.js", + "test:unit:legacy": "cd legacy && pnpm test:unit", + "test:unit": "pnpm test:unit:latest && pnpm test:unit:legacy", "test": "pnpm lint && pnpm test:unit", "commit": "cz", "bumpVersion": "standard-version", @@ -52,7 +57,7 @@ "charts component" ], "peerDependencies": { - "vue": "^2.6.0" + "vue": "^3.0.0-0 || ^2.6.0" }, "devDependencies": { "@babel/core": "^7.17.9", @@ -64,16 +69,17 @@ "@size-limit/preset-big-lib": "^7.0.8", "@storybook/addon-actions": "^6.4.20", "@storybook/addon-essentials": "^6.4.20", - "@storybook/vue": "^6.4.20", + "@storybook/vue3": "^6.4.22", "@swc/core": "^1.2.124", "@swc/helpers": "^0.3.2", "@swc/jest": "^0.2.20", "@types/jest": "^27.4.1", + "@vitejs/plugin-vue": "^2.3.1", "@vue/cli-plugin-babel": "^5.0.4", "@vue/compiler-sfc": "^3.2.26", "@vue/eslint-config-typescript": "^10.0.0", - "@vue/test-utils": "1", - "@vue/vue2-jest": "^27.0.0-alpha.4", + "@vue/test-utils": "^2.0.0-rc.21", + "@vue/vue3-jest": "^27.0.0", "babel-jest": "^27.5.1", "babel-loader": "^8.2.4", "browserslist": "^4.19.1", @@ -91,16 +97,15 @@ "prettier": "^2.5.1", "rollup": "^2.62.0", "rollup-plugin-swc": "^0.2.0", - "rollup-plugin-vue2": "^0.8.1", "simple-git-hooks": "^2.7.0", "simple-github-release": "^1.0.0", "size-limit": "^7.0.8", "standard-version": "^9.3.2", "tsd": "^0.20.0", "typescript": "^4.6.3", - "vue": "^2.6.14", - "vue-loader": "15.9.8", - "vue-template-compiler": "^2.6.14" + "vite": "^2.9.6", + "vue": "^3.2.33", + "vue-loader": "^17.0.0" }, "pnpm": { "overrides": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 60eae96..3437d90 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,16 +13,17 @@ specifiers: '@size-limit/preset-big-lib': ^7.0.8 '@storybook/addon-actions': ^6.4.20 '@storybook/addon-essentials': ^6.4.20 - '@storybook/vue': ^6.4.20 + '@storybook/vue3': ^6.4.22 '@swc/core': ^1.2.124 '@swc/helpers': ^0.3.2 '@swc/jest': ^0.2.20 '@types/jest': ^27.4.1 + '@vitejs/plugin-vue': ^2.3.1 '@vue/cli-plugin-babel': ^5.0.4 '@vue/compiler-sfc': ^3.2.26 '@vue/eslint-config-typescript': ^10.0.0 - '@vue/test-utils': '1' - '@vue/vue2-jest': ^27.0.0-alpha.4 + '@vue/test-utils': ^2.0.0-rc.21 + '@vue/vue3-jest': ^27.0.0 babel-jest: ^27.5.1 babel-loader: ^8.2.4 browserslist: ^4.19.1 @@ -40,16 +41,15 @@ specifiers: prettier: ^2.5.1 rollup: ^2.62.0 rollup-plugin-swc: ^0.2.0 - rollup-plugin-vue2: ^0.8.1 simple-git-hooks: ^2.7.0 simple-github-release: ^1.0.0 size-limit: ^7.0.8 standard-version: ^9.3.2 tsd: ^0.20.0 typescript: ^4.6.3 - vue: ^2.6.14 - vue-loader: 15.9.8 - vue-template-compiler: ^2.6.14 + vite: ^2.9.6 + vue: ^3.2.33 + vue-loader: ^17.0.0 devDependencies: '@babel/core': 7.17.9 @@ -60,17 +60,18 @@ devDependencies: '@rollup/plugin-replace': 3.0.1_rollup@2.67.2 '@size-limit/preset-big-lib': 7.0.8_769fc3b87d7280aabb76f1ebbcf7e3ef '@storybook/addon-actions': 6.4.20 - '@storybook/addon-essentials': 6.4.20_60a0a6c719abec74706deea489594baf - '@storybook/vue': 6.4.20_b813c9c3deefb2185ad489e57a875fab + '@storybook/addon-essentials': 6.4.20_9cf6770d2059c252527b3aa06da88482 + '@storybook/vue3': 6.4.22_73b6ef5ef8264f5a30778b61d79930e9 '@swc/core': 1.2.138 '@swc/helpers': 0.3.2 '@swc/jest': 0.2.20_@swc+core@1.2.138 '@types/jest': 27.4.1 - '@vue/cli-plugin-babel': 5.0.4_@swc+core@1.2.138+vue@2.6.14 + '@vitejs/plugin-vue': 2.3.1_vite@2.9.6+vue@3.2.33 + '@vue/cli-plugin-babel': 5.0.4_@swc+core@1.2.138+vue@3.2.33 '@vue/compiler-sfc': 3.2.30 '@vue/eslint-config-typescript': 10.0.0_8d3faa309c02778c0cbff9f5763527f3 - '@vue/test-utils': 1.3.0_9065e7474e033a8e4b95615fc8e6c36c - '@vue/vue2-jest': 27.0.0-alpha.4_46c8e00729d03ada6b77e9abfde099ff + '@vue/test-utils': 2.0.0-rc.21_vue@3.2.33 + '@vue/vue3-jest': 27.0.0_7183f7e612281d08a8e768742f049201 babel-jest: 27.5.1_@babel+core@7.17.9 babel-loader: 8.2.4_@babel+core@7.17.9 browserslist: 4.19.1 @@ -88,16 +89,15 @@ devDependencies: prettier: 2.5.1 rollup: 2.67.2 rollup-plugin-swc: 0.2.1_@swc+core@1.2.138+rollup@2.67.2 - rollup-plugin-vue2: 0.8.1 simple-git-hooks: 2.7.0 simple-github-release: 1.0.0 size-limit: 7.0.8 standard-version: 9.3.2 tsd: 0.20.0 typescript: 4.6.3 - vue: 2.6.14 - vue-loader: 15.9.8_vue-template-compiler@2.6.14 - vue-template-compiler: 2.6.14 + vite: 2.9.6 + vue: 3.2.33 + vue-loader: 17.0.0 packages: @@ -2648,7 +2648,7 @@ packages: - '@types/react' dev: true - /@storybook/addon-controls/6.4.20_c234479504b40bf654d5d729a04a563c: + /@storybook/addon-controls/6.4.20_eslint@8.8.0+typescript@4.6.3: resolution: {integrity: sha512-Tqq66SCbi2WIiKrkHu3edtg4r8QIdm/RbNB/PwnFuXwkJVt5mAoV9QQUt1zkbzdknU8xTwwgM4cEEfYLfBVm9Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -2663,7 +2663,7 @@ packages: '@storybook/api': 6.4.20 '@storybook/client-logger': 6.4.20 '@storybook/components': 6.4.20 - '@storybook/core-common': 6.4.20_c234479504b40bf654d5d729a04a563c + '@storybook/core-common': 6.4.20_eslint@8.8.0+typescript@4.6.3 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/node-logger': 6.4.20 '@storybook/store': 6.4.20 @@ -2681,7 +2681,7 @@ packages: - webpack-command dev: true - /@storybook/addon-docs/6.4.20_08f7b4610f471e66bc1b79c675c139a3: + /@storybook/addon-docs/6.4.20_e5780ced0c0295707b2e0b90869ef395: resolution: {integrity: sha512-Rz001irN1TRKLNKVhvNNSGVWRnFHJxOaRHDbY+4dr8kPCLKM+Abd2lGvj1VdxFo6/sB7H01ihc+ofm6fIv4T3w==} peerDependencies: '@storybook/angular': 6.4.20 @@ -2739,10 +2739,10 @@ packages: '@mdx-js/react': 1.6.22 '@storybook/addons': 6.4.20 '@storybook/api': 6.4.20 - '@storybook/builder-webpack4': 6.4.20_e150f0113017a435907096fef80d3a77 + '@storybook/builder-webpack4': 6.4.20_4248de102fca4f3427d43982432542d5 '@storybook/client-logger': 6.4.20 '@storybook/components': 6.4.20 - '@storybook/core': 6.4.20_e150f0113017a435907096fef80d3a77 + '@storybook/core': 6.4.20_4248de102fca4f3427d43982432542d5 '@storybook/core-events': 6.4.20 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/csf-tools': 6.4.20 @@ -2752,7 +2752,7 @@ packages: '@storybook/source-loader': 6.4.20 '@storybook/store': 6.4.20 '@storybook/theming': 6.4.20 - '@storybook/vue': 6.4.20_b813c9c3deefb2185ad489e57a875fab + '@storybook/vue3': 6.4.22_73b6ef5ef8264f5a30778b61d79930e9 acorn: 7.4.1 acorn-jsx: 5.3.2_acorn@7.4.1 acorn-walk: 7.2.0 @@ -2775,7 +2775,7 @@ packages: remark-slug: 6.1.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 - vue: 2.6.14 + vue: 3.2.33 transitivePeerDependencies: - '@storybook/builder-webpack5' - '@storybook/manager-webpack5' @@ -2791,7 +2791,7 @@ packages: - webpack-command dev: true - /@storybook/addon-essentials/6.4.20_60a0a6c719abec74706deea489594baf: + /@storybook/addon-essentials/6.4.20_9cf6770d2059c252527b3aa06da88482: resolution: {integrity: sha512-BiEICsj4uA5S/qUw7cBImiDB7Q0TNBd2PK3HkhRE7WOd4NxxPPzXwpE4FX/kPmejYo+cIzYPSiISevkdN6cCvw==} peerDependencies: '@babel/core': ^7.9.6 @@ -2819,8 +2819,8 @@ packages: '@babel/core': 7.17.9 '@storybook/addon-actions': 6.4.20 '@storybook/addon-backgrounds': 6.4.20 - '@storybook/addon-controls': 6.4.20_c234479504b40bf654d5d729a04a563c - '@storybook/addon-docs': 6.4.20_08f7b4610f471e66bc1b79c675c139a3 + '@storybook/addon-controls': 6.4.20_eslint@8.8.0+typescript@4.6.3 + '@storybook/addon-docs': 6.4.20_e5780ced0c0295707b2e0b90869ef395 '@storybook/addon-measure': 6.4.20 '@storybook/addon-outline': 6.4.20 '@storybook/addon-toolbars': 6.4.20 @@ -2828,7 +2828,6 @@ packages: '@storybook/addons': 6.4.20 '@storybook/api': 6.4.20 '@storybook/node-logger': 6.4.20 - '@storybook/vue': 6.4.20_b813c9c3deefb2185ad489e57a875fab babel-loader: 8.2.4_@babel+core@7.17.9 core-js: 3.21.1 regenerator-runtime: 0.13.9 @@ -2970,19 +2969,19 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@storybook/addons/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-NbsLjDSkE9v2fOr0M7r2hpdYnlYs789ALkXemdTz2y0NUYSPdRfzVVQNXWrgmXivWQRL0aJ3bOjCOc668PPYjg==} + /@storybook/addons/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/api': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/channels': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/core-events': 6.4.20 + '@storybook/api': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/router': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/theming': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/router': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/webpack-env': 1.16.3 core-js: 3.21.1 global: 4.4.0 @@ -3016,19 +3015,19 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/api/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-YatZjb8HlJFE9umDzd7aqabn5oXvAculX76pTZWMxm53GROMZVeICGOYtSasJZYlkv9fLx/Gy/ksrKQnA719ig==} + /@storybook/api/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/channels': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/core-events': 6.4.20 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/router': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/router': 6.4.22_react-dom@16.14.0+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.22_react-dom@16.14.0+react@16.14.0 core-js: 3.21.1 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -3043,7 +3042,7 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/builder-webpack4/6.4.20_663444d0f55696b2ff92c3ab7ebc3c30: + /@storybook/builder-webpack4/6.4.20_4248de102fca4f3427d43982432542d5: resolution: {integrity: sha512-Lekx2T0P5tLD0Xd2+6t2dicbZ2oTX/lW1bc+Uxz6QROLqh4/H84CTyofVLJYmZUtgnLQee/cqz5JVkpoA72ebA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -3074,22 +3073,22 @@ packages: '@babel/preset-env': 7.16.11_@babel+core@7.17.9 '@babel/preset-react': 7.16.7_@babel+core@7.17.9 '@babel/preset-typescript': 7.16.7_@babel+core@7.17.9 - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/api': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.4.20 + '@storybook/api': 6.4.20 '@storybook/channel-postmessage': 6.4.20 '@storybook/channels': 6.4.20 - '@storybook/client-api': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/client-api': 6.4.20 '@storybook/client-logger': 6.4.20 - '@storybook/components': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/core-common': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 + '@storybook/components': 6.4.20 + '@storybook/core-common': 6.4.20_eslint@8.8.0+typescript@4.6.3 '@storybook/core-events': 6.4.20 '@storybook/node-logger': 6.4.20 - '@storybook/preview-web': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/router': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/preview-web': 6.4.20 + '@storybook/router': 6.4.20 '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/theming': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/ui': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.20 + '@storybook/theming': 6.4.20 + '@storybook/ui': 6.4.20 '@types/node': 14.18.12 '@types/webpack': 4.41.32 autoprefixer: 9.8.8 @@ -3111,11 +3110,9 @@ packages: postcss-flexbugs-fixes: 4.2.1 postcss-loader: 4.3.0_postcss@7.0.39+webpack@4.46.0 raw-loader: 4.0.2_webpack@4.46.0 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 stable: 0.1.8 style-loader: 1.3.0_webpack@4.46.0 - terser-webpack-plugin: 4.2.3_webpack@4.46.0 + terser-webpack-plugin: 4.2.3_acorn@7.4.1+webpack@4.46.0 ts-dedent: 2.2.0 typescript: 4.6.3 url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 @@ -3135,8 +3132,8 @@ packages: - webpack-command dev: true - /@storybook/builder-webpack4/6.4.20_e150f0113017a435907096fef80d3a77: - resolution: {integrity: sha512-Lekx2T0P5tLD0Xd2+6t2dicbZ2oTX/lW1bc+Uxz6QROLqh4/H84CTyofVLJYmZUtgnLQee/cqz5JVkpoA72ebA==} + /@storybook/builder-webpack4/6.4.22_a801e691ccf4853663cf42af014a611f: + resolution: {integrity: sha512-A+GgGtKGnBneRFSFkDarUIgUTI8pYFdLmUVKEAGdh2hL+vLXAz9A46sEY7C8LQ85XWa8TKy3OTDxqR4+4iWj3A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -3166,22 +3163,22 @@ packages: '@babel/preset-env': 7.16.11_@babel+core@7.17.9 '@babel/preset-react': 7.16.7_@babel+core@7.17.9 '@babel/preset-typescript': 7.16.7_@babel+core@7.17.9 - '@storybook/addons': 6.4.20 - '@storybook/api': 6.4.20 - '@storybook/channel-postmessage': 6.4.20 - '@storybook/channels': 6.4.20 - '@storybook/client-api': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/components': 6.4.20 - '@storybook/core-common': 6.4.20_c234479504b40bf654d5d729a04a563c - '@storybook/core-events': 6.4.20 - '@storybook/node-logger': 6.4.20 - '@storybook/preview-web': 6.4.20 - '@storybook/router': 6.4.20 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/api': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.22 + '@storybook/channels': 6.4.22 + '@storybook/client-api': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.22 + '@storybook/components': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/core-common': 6.4.22_a801e691ccf4853663cf42af014a611f + '@storybook/core-events': 6.4.22 + '@storybook/node-logger': 6.4.22 + '@storybook/preview-web': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/router': 6.4.22_react-dom@16.14.0+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.20 - '@storybook/theming': 6.4.20 - '@storybook/ui': 6.4.20 + '@storybook/store': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/node': 14.18.12 '@types/webpack': 4.41.32 autoprefixer: 9.8.8 @@ -3203,9 +3200,11 @@ packages: postcss-flexbugs-fixes: 4.2.1 postcss-loader: 4.3.0_postcss@7.0.39+webpack@4.46.0 raw-loader: 4.0.2_webpack@4.46.0 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 stable: 0.1.8 style-loader: 1.3.0_webpack@4.46.0 - terser-webpack-plugin: 4.2.3_acorn@7.4.1+webpack@4.46.0 + terser-webpack-plugin: 4.2.3_webpack@4.46.0 ts-dedent: 2.2.0 typescript: 4.6.3 url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 @@ -3237,6 +3236,18 @@ packages: telejson: 5.3.3 dev: true + /@storybook/channel-postmessage/6.4.22: + resolution: {integrity: sha512-gt+0VZLszt2XZyQMh8E94TqjHZ8ZFXZ+Lv/Mmzl0Yogsc2H+6VzTTQO4sv0IIx6xLbpgG72g5cr8VHsxW5kuDQ==} + dependencies: + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 + core-js: 3.21.1 + global: 4.4.0 + qs: 6.10.3 + telejson: 5.3.3 + dev: true + /@storybook/channel-websocket/6.4.20: resolution: {integrity: sha512-PYQAX53oTaY2zmHzd+GuDjRVDg34Z9Igo648qmBmpbUypWj54QmHeAcLMN8/RZpcsmjtj/gGkS8TwHGew4soZA==} dependencies: @@ -3247,6 +3258,16 @@ packages: telejson: 5.3.3 dev: true + /@storybook/channel-websocket/6.4.22: + resolution: {integrity: sha512-Bm/FcZ4Su4SAK5DmhyKKfHkr7HiHBui6PNutmFkASJInrL9wBduBfN8YQYaV7ztr8ezoHqnYRx8sj28jpwa6NA==} + dependencies: + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + core-js: 3.21.1 + global: 4.4.0 + telejson: 5.3.3 + dev: true + /@storybook/channels/6.4.20: resolution: {integrity: sha512-BXvI2/bQIvtQ0LPJCEQwrYm0iMkXD0Pu4WuUGfRCbyqhyw6/VnxOP0x92mvFbtBvjHhyNwk9kZloHyI5zJ3STg==} dependencies: @@ -3255,6 +3276,14 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/channels/6.4.22: + resolution: {integrity: sha512-cfR74tu7MLah1A8Rru5sak71I+kH2e/sY6gkpVmlvBj4hEmdZp4Puj9PTeaKcMXh9DgIDPNA5mb8yvQH6VcyxQ==} + dependencies: + core-js: 3.21.1 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/client-api/6.4.20: resolution: {integrity: sha512-+AKAj+HoW2PVB58bDON+K484CHuywZegKMztoOzOltGP6c02gSf3Y/tiHg2ybRnq2qGNrypGgMKrX401yMEBmg==} peerDependencies: @@ -3283,19 +3312,19 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/client-api/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-+AKAj+HoW2PVB58bDON+K484CHuywZegKMztoOzOltGP6c02gSf3Y/tiHg2ybRnq2qGNrypGgMKrX401yMEBmg==} + /@storybook/client-api/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-sO6HJNtrrdit7dNXQcZMdlmmZG1k6TswH3gAyP/DoYajycrTwSJ6ovkarzkO+0QcJ+etgra4TEdTIXiGHBMe/A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/channel-postmessage': 6.4.20 - '@storybook/channels': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/core-events': 6.4.20 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.22 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/store': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/qs': 6.9.7 '@types/webpack-env': 1.16.3 core-js: 3.21.1 @@ -3320,6 +3349,13 @@ packages: global: 4.4.0 dev: true + /@storybook/client-logger/6.4.22: + resolution: {integrity: sha512-LXhxh/lcDsdGnK8kimqfhu3C0+D2ylCSPPQNbU0IsLRmTfbpQYMdyl0XBjPdHiRVwlL7Gkw5OMjYemQgJ02zlw==} + dependencies: + core-js: 3.21.1 + global: 4.4.0 + dev: true + /@storybook/components/6.4.20: resolution: {integrity: sha512-5JN1pqpkvFuwZNF8bKr+BHttmoCoIYL7TOB4tCb/O8Puu5IKXa0fuCGMGVwUNhheR3lKVmV3C+FdEdl1Gt3xXQ==} peerDependencies: @@ -3354,16 +3390,16 @@ packages: - '@types/react' dev: true - /@storybook/components/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-5JN1pqpkvFuwZNF8bKr+BHttmoCoIYL7TOB4tCb/O8Puu5IKXa0fuCGMGVwUNhheR3lKVmV3C+FdEdl1Gt3xXQ==} + /@storybook/components/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@popperjs/core': 2.11.5 - '@storybook/client-logger': 6.4.20 + '@storybook/client-logger': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/theming': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/color-convert': 2.0.0 '@types/overlayscrollbars': 1.12.1 '@types/react-syntax-highlighter': 11.0.5 @@ -3390,7 +3426,7 @@ packages: - '@types/react' dev: true - /@storybook/core-client/6.4.20_79f4143e5206804b7a4d4ceda3240034: + /@storybook/core-client/6.4.20_typescript@4.6.3: resolution: {integrity: sha512-pDaCGMdGD4OmC+YzghTXd86SLHfnX+/3lqprVtWSUzV2SbpCrdr0ySa01jbRmDaZIdA3YXxt+vW0VrMWnQ+20A==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -3401,35 +3437,32 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.4.20 '@storybook/channel-postmessage': 6.4.20 '@storybook/channel-websocket': 6.4.20 - '@storybook/client-api': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/client-api': 6.4.20 '@storybook/client-logger': 6.4.20 '@storybook/core-events': 6.4.20 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/preview-web': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/store': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/ui': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/preview-web': 6.4.20 + '@storybook/store': 6.4.20 + '@storybook/ui': 6.4.20 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.21.1 global: 4.4.0 lodash: 4.17.21 qs: 6.10.3 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 typescript: 4.6.3 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 4.46.0 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/core-client/6.4.20_typescript@4.6.3: + /@storybook/core-client/6.4.20_typescript@4.6.3+webpack@4.46.0: resolution: {integrity: sha512-pDaCGMdGD4OmC+YzghTXd86SLHfnX+/3lqprVtWSUzV2SbpCrdr0ySa01jbRmDaZIdA3YXxt+vW0VrMWnQ+20A==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -3461,12 +3494,13 @@ packages: typescript: 4.6.3 unfetch: 4.2.0 util-deprecate: 1.0.2 + webpack: 4.46.0 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/core-client/6.4.20_typescript@4.6.3+webpack@4.46.0: - resolution: {integrity: sha512-pDaCGMdGD4OmC+YzghTXd86SLHfnX+/3lqprVtWSUzV2SbpCrdr0ySa01jbRmDaZIdA3YXxt+vW0VrMWnQ+20A==} + /@storybook/core-client/6.4.22_79f4143e5206804b7a4d4ceda3240034: + resolution: {integrity: sha512-uHg4yfCBeM6eASSVxStWRVTZrAnb4FT6X6v/xDqr4uXCpCttZLlBzrSDwPBLNNLtCa7ntRicHM8eGKIOD5lMYQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -3476,22 +3510,24 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.4.20 - '@storybook/channel-postmessage': 6.4.20 - '@storybook/channel-websocket': 6.4.20 - '@storybook/client-api': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/core-events': 6.4.20 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.22 + '@storybook/channel-websocket': 6.4.22 + '@storybook/client-api': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/preview-web': 6.4.20 - '@storybook/store': 6.4.20 - '@storybook/ui': 6.4.20 + '@storybook/preview-web': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.22_react-dom@16.14.0+react@16.14.0 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.21.1 global: 4.4.0 lodash: 4.17.21 qs: 6.10.3 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 typescript: 4.6.3 @@ -3502,7 +3538,7 @@ packages: - '@types/react' dev: true - /@storybook/core-common/6.4.20_663444d0f55696b2ff92c3ab7ebc3c30: + /@storybook/core-common/6.4.20_eslint@8.8.0+typescript@4.6.3: resolution: {integrity: sha512-+jSPpMwWvoyDufLKhYslF9N2y/5gqbgE/bPnqy6TZhC1ia+Lr5S4uK60zAT1OpB6kgXWDbo203NP148uMxJ3VA==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -3545,7 +3581,7 @@ packages: express: 4.17.3 file-system-cache: 1.0.5 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.1_17e0ef6ff47b4a7df399dc24431d3467 + fork-ts-checker-webpack-plugin: 6.5.1_4c325efd23731de18216cda9bf49015c fs-extra: 9.1.0 glob: 7.2.0 handlebars: 4.7.7 @@ -3555,8 +3591,6 @@ packages: picomatch: 2.3.1 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 resolve-from: 5.0.0 slash: 3.0.0 telejson: 5.3.3 @@ -3572,8 +3606,8 @@ packages: - webpack-command dev: true - /@storybook/core-common/6.4.20_c234479504b40bf654d5d729a04a563c: - resolution: {integrity: sha512-+jSPpMwWvoyDufLKhYslF9N2y/5gqbgE/bPnqy6TZhC1ia+Lr5S4uK60zAT1OpB6kgXWDbo203NP148uMxJ3VA==} + /@storybook/core-common/6.4.22_a801e691ccf4853663cf42af014a611f: + resolution: {integrity: sha512-PD3N/FJXPNRHeQS2zdgzYFtqPLdi3MLwAicbnw+U3SokcsspfsAuyYHZOYZgwO8IAEKy6iCc7TpBdiSJZ/vAKQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -3603,7 +3637,7 @@ packages: '@babel/preset-react': 7.16.7_@babel+core@7.17.9 '@babel/preset-typescript': 7.16.7_@babel+core@7.17.9 '@babel/register': 7.17.7_@babel+core@7.17.9 - '@storybook/node-logger': 6.4.20 + '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 '@types/node': 14.18.12 '@types/pretty-hrtime': 1.0.1 @@ -3615,7 +3649,7 @@ packages: express: 4.17.3 file-system-cache: 1.0.5 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.1_17e0ef6ff47b4a7df399dc24431d3467 + fork-ts-checker-webpack-plugin: 6.5.1_4c325efd23731de18216cda9bf49015c fs-extra: 9.1.0 glob: 7.2.0 handlebars: 4.7.7 @@ -3625,6 +3659,8 @@ packages: picomatch: 2.3.1 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 resolve-from: 5.0.0 slash: 3.0.0 telejson: 5.3.3 @@ -3646,7 +3682,13 @@ packages: core-js: 3.21.1 dev: true - /@storybook/core-server/6.4.20_663444d0f55696b2ff92c3ab7ebc3c30: + /@storybook/core-events/6.4.22: + resolution: {integrity: sha512-5GYY5+1gd58Gxjqex27RVaX6qbfIQmJxcbzbNpXGNSqwqAuIIepcV1rdCVm6I4C3Yb7/AQ3cN5dVbf33QxRIwA==} + dependencies: + core-js: 3.21.1 + dev: true + + /@storybook/core-server/6.4.20_4248de102fca4f3427d43982432542d5: resolution: {integrity: sha512-AqpTjZE3/23IdDN5i6Srky3zdapQKSnHqlibl1mppRscf1IZe6OJJWtCHACpJKJwnOpPV/WxL8oron4mUjvrbA==} peerDependencies: '@storybook/builder-webpack5': 6.4.20 @@ -3663,16 +3705,16 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 - '@storybook/core-client': 6.4.20_79f4143e5206804b7a4d4ceda3240034 - '@storybook/core-common': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 + '@storybook/builder-webpack4': 6.4.20_4248de102fca4f3427d43982432542d5 + '@storybook/core-client': 6.4.20_typescript@4.6.3+webpack@4.46.0 + '@storybook/core-common': 6.4.20_eslint@8.8.0+typescript@4.6.3 '@storybook/core-events': 6.4.20 '@storybook/csf': 0.0.2--canary.87bc651.0 '@storybook/csf-tools': 6.4.20 - '@storybook/manager-webpack4': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 + '@storybook/manager-webpack4': 6.4.20_4248de102fca4f3427d43982432542d5 '@storybook/node-logger': 6.4.20 '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.20 '@types/node': 14.18.12 '@types/node-fetch': 2.6.1 '@types/pretty-hrtime': 1.0.1 @@ -3695,8 +3737,6 @@ packages: node-fetch: 2.6.7 pretty-hrtime: 1.0.3 prompts: 2.4.2 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 serve-favicon: 2.5.0 slash: 3.0.0 @@ -3720,11 +3760,11 @@ packages: - webpack-command dev: true - /@storybook/core-server/6.4.20_e150f0113017a435907096fef80d3a77: - resolution: {integrity: sha512-AqpTjZE3/23IdDN5i6Srky3zdapQKSnHqlibl1mppRscf1IZe6OJJWtCHACpJKJwnOpPV/WxL8oron4mUjvrbA==} + /@storybook/core-server/6.4.22_a801e691ccf4853663cf42af014a611f: + resolution: {integrity: sha512-wFh3e2fa0un1d4+BJP+nd3FVWUO7uHTqv3OGBfOmzQMKp4NU1zaBNdSQG7Hz6mw0fYPBPZgBjPfsJRwIYLLZyw==} peerDependencies: - '@storybook/builder-webpack5': 6.4.20 - '@storybook/manager-webpack5': 6.4.20 + '@storybook/builder-webpack5': 6.4.22 + '@storybook/manager-webpack5': 6.4.22 react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 typescript: '*' @@ -3737,16 +3777,16 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.4.20_e150f0113017a435907096fef80d3a77 - '@storybook/core-client': 6.4.20_typescript@4.6.3+webpack@4.46.0 - '@storybook/core-common': 6.4.20_c234479504b40bf654d5d729a04a563c - '@storybook/core-events': 6.4.20 + '@storybook/builder-webpack4': 6.4.22_a801e691ccf4853663cf42af014a611f + '@storybook/core-client': 6.4.22_79f4143e5206804b7a4d4ceda3240034 + '@storybook/core-common': 6.4.22_a801e691ccf4853663cf42af014a611f + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/csf-tools': 6.4.20 - '@storybook/manager-webpack4': 6.4.20_e150f0113017a435907096fef80d3a77 - '@storybook/node-logger': 6.4.20 + '@storybook/csf-tools': 6.4.22 + '@storybook/manager-webpack4': 6.4.22_a801e691ccf4853663cf42af014a611f + '@storybook/node-logger': 6.4.22 '@storybook/semver': 7.3.2 - '@storybook/store': 6.4.20 + '@storybook/store': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/node': 14.18.12 '@types/node-fetch': 2.6.1 '@types/pretty-hrtime': 1.0.1 @@ -3769,6 +3809,8 @@ packages: node-fetch: 2.6.7 pretty-hrtime: 1.0.3 prompts: 2.4.2 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 serve-favicon: 2.5.0 slash: 3.0.0 @@ -3792,7 +3834,7 @@ packages: - webpack-command dev: true - /@storybook/core/6.4.20_284638401ada07afcb8eb5b8001fce0b: + /@storybook/core/6.4.20_4248de102fca4f3427d43982432542d5: resolution: {integrity: sha512-CQ3aaTHoHVV9BRUjqdr33cKv+/q1DMWBrtvEuZpW6gKq/CUuDXLQrAUARD18H/I5BlIJGbP5ccwkZNiY34QWKg==} peerDependencies: '@storybook/builder-webpack5': 6.4.20 @@ -3806,12 +3848,9 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.4.20_79f4143e5206804b7a4d4ceda3240034 - '@storybook/core-server': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 + '@storybook/core-client': 6.4.20_typescript@4.6.3 + '@storybook/core-server': 6.4.20_4248de102fca4f3427d43982432542d5 typescript: 4.6.3 - webpack: 4.46.0 transitivePeerDependencies: - '@storybook/manager-webpack5' - '@types/react' @@ -3826,10 +3865,10 @@ packages: - webpack-command dev: true - /@storybook/core/6.4.20_e150f0113017a435907096fef80d3a77: - resolution: {integrity: sha512-CQ3aaTHoHVV9BRUjqdr33cKv+/q1DMWBrtvEuZpW6gKq/CUuDXLQrAUARD18H/I5BlIJGbP5ccwkZNiY34QWKg==} + /@storybook/core/6.4.22_6b330e37ed0d3270421e623ece8880d9: + resolution: {integrity: sha512-KZYJt7GM5NgKFXbPRZZZPEONZ5u/tE/cRbMdkn/zWN3He8+VP+65/tz8hbriI/6m91AWVWkBKrODSkeq59NgRA==} peerDependencies: - '@storybook/builder-webpack5': 6.4.20 + '@storybook/builder-webpack5': 6.4.22 react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 typescript: '*' @@ -3840,9 +3879,12 @@ packages: typescript: optional: true dependencies: - '@storybook/core-client': 6.4.20_typescript@4.6.3 - '@storybook/core-server': 6.4.20_e150f0113017a435907096fef80d3a77 + '@storybook/core-client': 6.4.22_79f4143e5206804b7a4d4ceda3240034 + '@storybook/core-server': 6.4.22_a801e691ccf4853663cf42af014a611f + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 typescript: 4.6.3 + webpack: 4.46.0 transitivePeerDependencies: - '@storybook/manager-webpack5' - '@types/react' @@ -3881,13 +3923,37 @@ packages: - supports-color dev: true + /@storybook/csf-tools/6.4.22: + resolution: {integrity: sha512-LMu8MZAiQspJAtMBLU2zitsIkqQv7jOwX7ih5JrXlyaDticH7l2j6Q+1mCZNWUOiMTizj0ivulmUsSaYbpToSw==} + dependencies: + '@babel/core': 7.17.9 + '@babel/generator': 7.17.9 + '@babel/parser': 7.17.9 + '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.9 + '@babel/preset-env': 7.16.11_@babel+core@7.17.9 + '@babel/traverse': 7.17.9 + '@babel/types': 7.17.0 + '@mdx-js/mdx': 1.6.22 + '@storybook/csf': 0.0.2--canary.87bc651.0 + core-js: 3.21.1 + fs-extra: 9.1.0 + global: 4.4.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + prettier: 2.3.0 + regenerator-runtime: 0.13.9 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /@storybook/csf/0.0.2--canary.87bc651.0: resolution: {integrity: sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==} dependencies: lodash: 4.17.21 dev: true - /@storybook/manager-webpack4/6.4.20_663444d0f55696b2ff92c3ab7ebc3c30: + /@storybook/manager-webpack4/6.4.20_4248de102fca4f3427d43982432542d5: resolution: {integrity: sha512-4Q9ZJNT64Omn0shD8JfXi1yccjQVWruBxKoELbn4zLOUtmb5/ETmBHkek/nBnLo7i5J6ZkyB66L9qokfC/WsxQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -3900,12 +3966,12 @@ packages: '@babel/core': 7.17.9 '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.9 '@babel/preset-react': 7.16.7_@babel+core@7.17.9 - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/core-client': 6.4.20_79f4143e5206804b7a4d4ceda3240034 - '@storybook/core-common': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 + '@storybook/addons': 6.4.20 + '@storybook/core-client': 6.4.20_typescript@4.6.3+webpack@4.46.0 + '@storybook/core-common': 6.4.20_eslint@8.8.0+typescript@4.6.3 '@storybook/node-logger': 6.4.20 - '@storybook/theming': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/ui': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.20 + '@storybook/ui': 6.4.20 '@types/node': 14.18.12 '@types/webpack': 4.41.32 babel-loader: 8.2.4_598a497cebab8e15ee8f9e5632178e63 @@ -3921,14 +3987,12 @@ packages: html-webpack-plugin: 4.5.2_webpack@4.46.0 node-fetch: 2.6.7 pnp-webpack-plugin: 1.6.4_typescript@4.6.3 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 style-loader: 1.3.0_webpack@4.46.0 telejson: 5.3.3 - terser-webpack-plugin: 4.2.3_webpack@4.46.0 + terser-webpack-plugin: 4.2.3_acorn@7.4.1+webpack@4.46.0 ts-dedent: 2.2.0 typescript: 4.6.3 url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 @@ -3947,8 +4011,8 @@ packages: - webpack-command dev: true - /@storybook/manager-webpack4/6.4.20_e150f0113017a435907096fef80d3a77: - resolution: {integrity: sha512-4Q9ZJNT64Omn0shD8JfXi1yccjQVWruBxKoELbn4zLOUtmb5/ETmBHkek/nBnLo7i5J6ZkyB66L9qokfC/WsxQ==} + /@storybook/manager-webpack4/6.4.22_a801e691ccf4853663cf42af014a611f: + resolution: {integrity: sha512-nzhDMJYg0vXdcG0ctwE6YFZBX71+5NYaTGkxg3xT7gbgnP1YFXn9gVODvgq3tPb3gcRapjyOIxUa20rV+r8edA==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -3960,12 +4024,12 @@ packages: '@babel/core': 7.17.9 '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.9 '@babel/preset-react': 7.16.7_@babel+core@7.17.9 - '@storybook/addons': 6.4.20 - '@storybook/core-client': 6.4.20_typescript@4.6.3+webpack@4.46.0 - '@storybook/core-common': 6.4.20_c234479504b40bf654d5d729a04a563c - '@storybook/node-logger': 6.4.20 - '@storybook/theming': 6.4.20 - '@storybook/ui': 6.4.20 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/core-client': 6.4.22_79f4143e5206804b7a4d4ceda3240034 + '@storybook/core-common': 6.4.22_a801e691ccf4853663cf42af014a611f + '@storybook/node-logger': 6.4.22 + '@storybook/theming': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/node': 14.18.12 '@types/webpack': 4.41.32 babel-loader: 8.2.4_598a497cebab8e15ee8f9e5632178e63 @@ -3981,12 +4045,14 @@ packages: html-webpack-plugin: 4.5.2_webpack@4.46.0 node-fetch: 2.6.7 pnp-webpack-plugin: 1.6.4_typescript@4.6.3 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 style-loader: 1.3.0_webpack@4.46.0 telejson: 5.3.3 - terser-webpack-plugin: 4.2.3_acorn@7.4.1+webpack@4.46.0 + terser-webpack-plugin: 4.2.3_webpack@4.46.0 ts-dedent: 2.2.0 typescript: 4.6.3 url-loader: 4.1.1_file-loader@6.2.0+webpack@4.46.0 @@ -4015,6 +4081,16 @@ packages: pretty-hrtime: 1.0.3 dev: true + /@storybook/node-logger/6.4.22: + resolution: {integrity: sha512-sUXYFqPxiqM7gGH7gBXvO89YEO42nA4gBicJKZjj9e+W4QQLrftjF9l+mAw2K0mVE10Bn7r4pfs5oEZ0aruyyA==} + dependencies: + '@types/npmlog': 4.1.4 + chalk: 4.1.2 + core-js: 3.21.1 + npmlog: 5.0.1 + pretty-hrtime: 1.0.3 + dev: true + /@storybook/postinstall/6.4.20: resolution: {integrity: sha512-BcDNLfW5F265VMntFfLzBnlOf/EYRWwM8puoQgjZGCHCEErJZ89BvWx/lOGY/t3yc5Go0QXp86Ybq30kNFHGwg==} dependencies: @@ -4045,18 +4121,18 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview-web/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-rn06XQRLdlwGtmbqTRRq6fEWaNruxA2pQzdOqBSww30u6PMV8IE7RiAHYDbGwJOk5DatliU+16duRNVR4QoHcw==} + /@storybook/preview-web/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-sWS+sgvwSvcNY83hDtWUUL75O2l2LY/GTAS0Zp2dh3WkObhtuJ/UehftzPZlZmmv7PCwhb4Q3+tZDKzMlFxnKQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/channel-postmessage': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/core-events': 6.4.20 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/store': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.22_react-dom@16.14.0+react@16.14.0 ansi-to-html: 0.6.15 core-js: 3.21.1 global: 4.4.0 @@ -4090,13 +4166,13 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/router/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-lwTBtuq9gNywkVs1rye50dPF6pJEGHhZ+2MOTMtASjuM8KIL/wI3OYwRDnDf/98FcinFAeBcEPrEHmV5sAW73w==} + /@storybook/router/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-zeuE8ZgFhNerQX8sICQYNYL65QEi3okyzw7ynF58Ud6nRw4fMxSOHcj2T+nZCIU5ufozRL4QWD/Rg9P2s/HtLw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/client-logger': 6.4.20 + '@storybook/client-logger': 6.4.22 core-js: 3.21.1 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -4161,15 +4237,15 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/store/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-TXrjlBnXgarqZ+Z8Apg8UVkHbKHRkBJmsrlTRucwf8N9mE6EQxRfpqvghcQW3yj2NR1QFdtn13WKF+ZBeHAqgQ==} + /@storybook/store/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-lrmcZtYJLc2emO+1l6AG4Txm9445K6Pyv9cGAuhOJ9Kks0aYe0YtvMkZVVry0RNNAIv6Ypz72zyKc/QK+tZLAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/client-logger': 6.4.20 - '@storybook/core-events': 6.4.20 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.22 + '@storybook/core-events': 6.4.22 '@storybook/csf': 0.0.2--canary.87bc651.0 core-js: 3.21.1 fast-deep-equal: 3.1.3 @@ -4206,8 +4282,8 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/theming/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-sVGpRYyJHbdme8ozd9AT70VZ24ug6eypAKT7P+cfzImlYJABjmcfaJ+V4rlavoJF1sGnmauJmGoOf40b1U5JZQ==} + /@storybook/theming/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -4215,7 +4291,7 @@ packages: '@emotion/core': 10.3.1_react@16.14.0 '@emotion/is-prop-valid': 0.8.8 '@emotion/styled': 10.3.0_864809d686fef2043b51d8d752270dc1 - '@storybook/client-logger': 6.4.20 + '@storybook/client-logger': 6.4.22 core-js: 3.21.1 deep-object-diff: 1.1.7 emotion-theming: 10.3.0_864809d686fef2043b51d8d752270dc1 @@ -4266,22 +4342,22 @@ packages: - '@types/react' dev: true - /@storybook/ui/6.4.20_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-QY077l+S79RtdIdBahF2zu1lKqGlBqHeyB3k4W2nCUKJpqmFyzEV6SihkOZyKKe6dX0xDLQvOHIgsSK9+rACfg==} + /@storybook/ui/6.4.22_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-UVjMoyVsqPr+mkS1L7m30O/xrdIEgZ5SCWsvqhmyMUok3F3tRB+6M+OA5Yy+cIVfvObpA7MhxirUT1elCGXsWQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@emotion/core': 10.3.1_react@16.14.0 - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/api': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/channels': 6.4.20 - '@storybook/client-logger': 6.4.20 - '@storybook/components': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/core-events': 6.4.20 - '@storybook/router': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/api': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/channels': 6.4.22 + '@storybook/client-logger': 6.4.22 + '@storybook/components': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/core-events': 6.4.22 + '@storybook/router': 6.4.22_react-dom@16.14.0+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.22_react-dom@16.14.0+react@16.14.0 copy-to-clipboard: 3.3.1 core-js: 3.21.1 core-js-pure: 3.21.1 @@ -4306,25 +4382,24 @@ packages: - '@types/react' dev: true - /@storybook/vue/6.4.20_b813c9c3deefb2185ad489e57a875fab: - resolution: {integrity: sha512-+qEQdBq347+8AY3b1wagvvzbGFxs+HgI44wuT55sjE4alVlNZutEIj1Wwkg8FrRerMLzojGfY6O4/rGYp6/vxA==} + /@storybook/vue3/6.4.22_73b6ef5ef8264f5a30778b61d79930e9: + resolution: {integrity: sha512-R7Teytwo85sibfDd8h5uo/c0an/lwSCzWBEa4ej3WCb8Y/OYSH8MZCTM7LxwO0Y7wPrzgTalQ//97qU1sF9jdQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: '@babel/core': '*' + '@vue/compiler-sfc': ^3.0.0 babel-loader: ^7.0.0 || ^8.0.0 - css-loader: '*' - vue: ^2.6.8 - vue-loader: ^15.7.0 - vue-template-compiler: ^2.6.8 + vue: ^3.0.0 dependencies: '@babel/core': 7.17.9 - '@storybook/addons': 6.4.20_react-dom@16.14.0+react@16.14.0 - '@storybook/core': 6.4.20_284638401ada07afcb8eb5b8001fce0b - '@storybook/core-common': 6.4.20_663444d0f55696b2ff92c3ab7ebc3c30 + '@storybook/addons': 6.4.22_react-dom@16.14.0+react@16.14.0 + '@storybook/core': 6.4.22_6b330e37ed0d3270421e623ece8880d9 + '@storybook/core-common': 6.4.22_a801e691ccf4853663cf42af014a611f '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/store': 6.4.20_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.22_react-dom@16.14.0+react@16.14.0 '@types/webpack-env': 1.16.3 + '@vue/compiler-sfc': 3.2.30 babel-loader: 8.2.4_@babel+core@7.17.9 core-js: 3.21.1 global: 4.4.0 @@ -4333,14 +4408,14 @@ packages: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 - ts-loader: 8.3.0_typescript@4.6.3+webpack@4.46.0 - vue: 2.6.14 - vue-docgen-api: 4.44.23_vue@2.6.14 - vue-docgen-loader: 1.5.0_f375cf12446d5a2c8b22a5b692d620fd - vue-loader: 15.9.8_vue-template-compiler@2.6.14 - vue-template-compiler: 2.6.14 + ts-loader: 8.4.0_typescript@4.6.3+webpack@4.46.0 + vue: 3.2.33 + vue-docgen-api: 4.44.23_vue@3.2.33 + vue-docgen-loader: 1.5.1_f375cf12446d5a2c8b22a5b692d620fd + vue-loader: 16.8.3_webpack@4.46.0 webpack: 4.46.0 transitivePeerDependencies: + - '@babel/preset-env' - '@storybook/builder-webpack5' - '@storybook/manager-webpack5' - '@types/react' @@ -4351,6 +4426,7 @@ packages: - supports-color - typescript - utf-8-validate + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -4754,6 +4830,14 @@ packages: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true + /@types/strip-bom/3.0.0: + resolution: {integrity: sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=} + dev: true + + /@types/strip-json-comments/0.0.30: + resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} + dev: true + /@types/tapable/1.0.8: resolution: {integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==} dev: true @@ -4941,6 +5025,17 @@ packages: eslint-visitor-keys: 3.2.0 dev: true + /@vitejs/plugin-vue/2.3.1_vite@2.9.6+vue@3.2.33: + resolution: {integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + vite: ^2.5.10 + vue: ^3.2.25 + dependencies: + vite: 2.9.6 + vue: 3.2.33 + dev: true + /@vue/babel-helper-vue-jsx-merge-props/1.2.1: resolution: {integrity: sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==} dev: true @@ -4980,7 +5075,7 @@ packages: svg-tags: 1.0.0 dev: true - /@vue/babel-preset-app/5.0.4_vue@2.6.14: + /@vue/babel-preset-app/5.0.4_vue@3.2.33: resolution: {integrity: sha512-vf4KqrmuOSnoEYGUiHPeMoxhh6wpiucLWXISn7xYFU80pK1lqcuhbl6tpurAanUIyRO/ENDUQBH7RAdbLNq1bA==} peerDependencies: vue: ^2 || ^3.2.13 @@ -5006,7 +5101,7 @@ packages: core-js: 3.21.1 core-js-compat: 3.21.1 semver: 7.3.5 - vue: 2.6.14 + vue: 3.2.33 transitivePeerDependencies: - supports-color dev: true @@ -5088,13 +5183,13 @@ packages: camelcase: 5.3.1 dev: true - /@vue/cli-plugin-babel/5.0.4_@swc+core@1.2.138+vue@2.6.14: + /@vue/cli-plugin-babel/5.0.4_@swc+core@1.2.138+vue@3.2.33: resolution: {integrity: sha512-413ZwOWLtgw5vWJoMbrv36crW3qTas4Iru8sU7cRb0IqEZbS28R9X4PVtO8Pek2NYFbrs2XKRYOB7GblB6hVqg==} peerDependencies: '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: '@babel/core': 7.17.9 - '@vue/babel-preset-app': 5.0.4_vue@2.6.14 + '@vue/babel-preset-app': 5.0.4_vue@3.2.33 '@vue/cli-shared-utils': 5.0.4 babel-loader: 8.2.4_946587f10136daa442676193756a53cb thread-loader: 3.0.4_webpack@5.68.0 @@ -5137,6 +5232,15 @@ packages: source-map: 0.6.1 dev: true + /@vue/compiler-core/3.2.33: + resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} + dependencies: + '@babel/parser': 7.17.9 + '@vue/shared': 3.2.33 + estree-walker: 2.0.2 + source-map: 0.6.1 + dev: true + /@vue/compiler-dom/3.2.30: resolution: {integrity: sha512-t7arHz2SXLCXlF2fdGDFVbhENbGMez254Z5edUqb//6WXJU1lC7GvSkUE7i5x8WSjgfqt60i0V8zdmk16rvLdw==} dependencies: @@ -5144,6 +5248,13 @@ packages: '@vue/shared': 3.2.30 dev: true + /@vue/compiler-dom/3.2.33: + resolution: {integrity: sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==} + dependencies: + '@vue/compiler-core': 3.2.33 + '@vue/shared': 3.2.33 + dev: true + /@vue/compiler-sfc/3.2.30: resolution: {integrity: sha512-P/5YpILtcQY92z72gxhkyOUPHVskEzhSrvYi91Xcr+csOxaDaYU5OqOxCzZKcf3Og70Tat404vO1OHrwprN90A==} dependencies: @@ -5159,6 +5270,21 @@ packages: source-map: 0.6.1 dev: true + /@vue/compiler-sfc/3.2.33: + resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} + dependencies: + '@babel/parser': 7.17.9 + '@vue/compiler-core': 3.2.33 + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-ssr': 3.2.33 + '@vue/reactivity-transform': 3.2.33 + '@vue/shared': 3.2.33 + estree-walker: 2.0.2 + magic-string: 0.25.7 + postcss: 8.4.6 + source-map: 0.6.1 + dev: true + /@vue/compiler-ssr/3.2.30: resolution: {integrity: sha512-OUh3MwAu/PsD7VN3UOdBbTkltkrUCNouSht47+CMRzpUR5+ta7+xyMAVHeq8wg4YZenWaJimbR5TL35Ka4Vk6g==} dependencies: @@ -5166,19 +5292,11 @@ packages: '@vue/shared': 3.2.30 dev: true - /@vue/component-compiler-utils/3.3.0: - resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==} + /@vue/compiler-ssr/3.2.33: + resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} dependencies: - consolidate: 0.15.1 - hash-sum: 1.0.2 - lru-cache: 4.1.5 - merge-source-map: 1.1.0 - postcss: 7.0.39 - postcss-selector-parser: 6.0.9 - source-map: 0.6.1 - vue-template-es2015-compiler: 1.9.1 - optionalDependencies: - prettier: 2.5.1 + '@vue/compiler-dom': 3.2.33 + '@vue/shared': 3.2.33 dev: true /@vue/eslint-config-typescript/10.0.0_8d3faa309c02778c0cbff9f5763527f3: @@ -5208,46 +5326,89 @@ packages: magic-string: 0.25.7 dev: true + /@vue/reactivity-transform/3.2.33: + resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} + dependencies: + '@babel/parser': 7.17.9 + '@vue/compiler-core': 3.2.33 + '@vue/shared': 3.2.33 + estree-walker: 2.0.2 + magic-string: 0.25.7 + dev: true + + /@vue/reactivity/3.2.33: + resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} + dependencies: + '@vue/shared': 3.2.33 + dev: true + + /@vue/runtime-core/3.2.33: + resolution: {integrity: sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==} + dependencies: + '@vue/reactivity': 3.2.33 + '@vue/shared': 3.2.33 + dev: true + + /@vue/runtime-dom/3.2.33: + resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} + dependencies: + '@vue/runtime-core': 3.2.33 + '@vue/shared': 3.2.33 + csstype: 2.6.20 + dev: true + + /@vue/server-renderer/3.2.33_vue@3.2.33: + resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} + peerDependencies: + vue: 3.2.33 + dependencies: + '@vue/compiler-ssr': 3.2.33 + '@vue/shared': 3.2.33 + vue: 3.2.33 + dev: true + /@vue/shared/3.2.30: resolution: {integrity: sha512-B3HouBtUxcfu2w2d+VhdLcVBXKYYhXiFMAfQ+hoe8NUhKkPRkWDIqhpuehCZxVQ3S2dN1P1WfKGlxGC+pfmxGg==} dev: true - /@vue/test-utils/1.3.0_9065e7474e033a8e4b95615fc8e6c36c: - resolution: {integrity: sha512-Xk2Xiyj2k5dFb8eYUKkcN9PzqZSppTlx7LaQWBbdA8tqh3jHr/KHX2/YLhNFc/xwDrgeLybqd+4ZCPJSGPIqeA==} + /@vue/shared/3.2.33: + resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} + dev: true + + /@vue/test-utils/2.0.0-rc.21_vue@3.2.33: + resolution: {integrity: sha512-wIJR4e/jISBKVKfiod3DV32BlDsoD744WVCuCaGtaSKvhvTL9gI5vl2AYSy00V51YaM8dCOFi3zcpCON8G1WqA==} peerDependencies: - vue: 2.x - vue-template-compiler: ^2.x + vue: ^3.0.1 dependencies: - dom-event-types: 1.1.0 - lodash: 4.17.21 - pretty: 2.0.0 - vue: 2.6.14 - vue-template-compiler: 2.6.14 + vue: 3.2.33 dev: true - /@vue/vue2-jest/27.0.0-alpha.4_46c8e00729d03ada6b77e9abfde099ff: - resolution: {integrity: sha512-8dxGLYkHXyW1nP3EEveWx2xx5pQOEd2lEnykUYQfM+egNZOL04MLE/DnOAcwRwky8T+D8mu2hDIgUBFwUMx13g==} + /@vue/vue3-jest/27.0.0_7183f7e612281d08a8e768742f049201: + resolution: {integrity: sha512-VL61CgZBoQqayXfzlZJHHpZuX4lsT8dmdZMJzADhdAJjKu26JBpypHr/2ppevxItljPiuALQW4MKhhCXZRXnLg==} peerDependencies: '@babel/core': 7.x - babel-jest: '>= 27 < 28' + babel-jest: 27.x jest: 27.x - ts-jest: '>= 27 < 28' - vue: ^2.x - vue-template-compiler: ^2.x + ts-jest: 27.x + typescript: '>= 3.x' + vue: ^3.0.0-0 peerDependenciesMeta: ts-jest: optional: true + typescript: + optional: true dependencies: '@babel/core': 7.17.9 '@babel/plugin-transform-modules-commonjs': 7.17.9_@babel+core@7.17.9 - '@vue/component-compiler-utils': 3.3.0 babel-jest: 27.5.1_@babel+core@7.17.9 chalk: 2.4.2 - extract-from-css: 0.4.4 + convert-source-map: 1.8.0 + css-tree: 2.1.0 jest: 27.5.1 source-map: 0.5.6 - vue: 2.6.14 - vue-template-compiler: 2.6.14 + tsconfig: 7.0.0 + typescript: 4.6.3 + vue: 3.2.33 transitivePeerDependencies: - supports-color dev: true @@ -5505,10 +5666,6 @@ packages: resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} dev: true - /abbrev/1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: true - /accepts/1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -5903,11 +6060,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /ast-types/0.13.3: - resolution: {integrity: sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==} - engines: {node: '>=4'} - dev: true - /ast-types/0.14.2: resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} engines: {node: '>=4'} @@ -6895,6 +7047,7 @@ packages: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} dev: true + optional: true /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -7014,22 +7167,6 @@ packages: typedarray: 0.0.6 dev: true - /condense-newlines/0.2.1: - resolution: {integrity: sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-whitespace: 0.3.0 - kind-of: 3.2.2 - dev: true - - /config-chain/1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - dev: true - /console-browserify/1.2.0: resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} dev: true @@ -7038,17 +7175,10 @@ packages: resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=} dev: true - /consolidate/0.15.1: - resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} - engines: {node: '>= 0.10.0'} - dependencies: - bluebird: 3.7.2 - dev: true - /constantinople/4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.17.0 + '@babel/parser': 7.17.9 '@babel/types': 7.17.0 dev: true @@ -7472,20 +7602,19 @@ packages: nth-check: 2.0.1 dev: true + /css-tree/2.1.0: + resolution: {integrity: sha512-PcysZRzToBbrpoUrZ9qfblRIRf8zbEAkU0AIpQFtgkFK0vSbzOmBCvdSAx2Zg7Xx5wiYJKUKk0NMP7kxevie/A==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.27 + source-map-js: 1.0.2 + dev: true + /css-what/6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} dev: true - /css/2.2.4: - resolution: {integrity: sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==} - dependencies: - inherits: 2.0.4 - source-map: 0.6.1 - source-map-resolve: 0.5.3 - urix: 0.1.0 - dev: true - /cssesc/3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -7562,10 +7691,6 @@ packages: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /de-indent/1.0.2: - resolution: {integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=} - dev: true - /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} dependencies: @@ -7814,10 +7939,6 @@ packages: utila: 0.4.0 dev: true - /dom-event-types/1.1.0: - resolution: {integrity: sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==} - dev: true - /dom-serializer/1.3.2: resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} dependencies: @@ -7935,16 +8056,6 @@ packages: engines: {node: '>=6.0.0'} dev: true - /editorconfig/0.15.3: - resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} - hasBin: true - dependencies: - commander: 2.20.3 - lru-cache: 4.1.5 - semver: 5.7.1 - sigmund: 1.0.1 - dev: true - /ee-first/1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true @@ -8015,110 +8126,318 @@ packages: engines: {node: '>= 0.8'} dev: true - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enhanced-resolve/4.5.0: + resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} + engines: {node: '>=6.9.0'} + dependencies: + graceful-fs: 4.2.9 + memory-fs: 0.5.0 + tapable: 1.1.3 + dev: true + + /enhanced-resolve/5.9.0: + resolution: {integrity: sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.9 + tapable: 2.2.1 + dev: true + + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /errno/0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract/1.19.2: + resolution: {integrity: sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + get-symbol-description: 1.0.0 + has: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.3 + is-callable: 1.2.4 + 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.0 + object-keys: 1.1.1 + object.assign: 4.1.2 + string.prototype.trimend: 1.0.4 + string.prototype.trimstart: 1.0.4 + unbox-primitive: 1.0.1 + dev: true + + /es-array-method-boxes-properly/1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-get-iterator/1.1.2: + resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.1 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + dev: true + + /es-module-lexer/0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.4 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /es5-shim/4.6.5: + resolution: {integrity: sha512-vfQ4UAai8szn0sAubCy97xnZ4sJVDD1gt/Grn736hg8D7540wemIb1YPrYZSTqlM2H69EQX1or4HU/tSwRTI3w==} + engines: {node: '>=0.4.0'} + dev: true + + /es6-shim/0.35.6: + resolution: {integrity: sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==} + dev: true + + /esbuild-android-64/0.14.38: + resolution: {integrity: sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.14.38: + resolution: {integrity: sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.14.38: + resolution: {integrity: sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.14.38: + resolution: {integrity: sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.14.38: + resolution: {integrity: sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.38: + resolution: {integrity: sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.14.38: + resolution: {integrity: sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.14.38: + resolution: {integrity: sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.14.38: + resolution: {integrity: sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /enhanced-resolve/4.5.0: - resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} - engines: {node: '>=6.9.0'} - dependencies: - graceful-fs: 4.2.9 - memory-fs: 0.5.0 - tapable: 1.1.3 + /esbuild-linux-arm64/0.14.38: + resolution: {integrity: sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /enhanced-resolve/5.9.0: - resolution: {integrity: sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.9 - tapable: 2.2.1 + /esbuild-linux-mips64le/0.14.38: + resolution: {integrity: sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true dev: true + optional: true - /entities/2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + /esbuild-linux-ppc64le/0.14.38: + resolution: {integrity: sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true dev: true + optional: true - /errno/0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true + /esbuild-linux-riscv64/0.14.38: + resolution: {integrity: sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] requiresBuild: true - dependencies: - prr: 1.0.1 dev: true + optional: true - /error-ex/1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 + /esbuild-linux-s390x/0.14.38: + resolution: {integrity: sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true dev: true + optional: true - /es-abstract/1.19.2: - resolution: {integrity: sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.1.1 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.3 - is-callable: 1.2.4 - 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.0 - object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.4 - string.prototype.trimstart: 1.0.4 - unbox-primitive: 1.0.1 + /esbuild-netbsd-64/0.14.38: + resolution: {integrity: sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true dev: true + optional: true - /es-array-method-boxes-properly/1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + /esbuild-openbsd-64/0.14.38: + resolution: {integrity: sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true dev: true + optional: true - /es-get-iterator/1.1.2: - resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.1 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 - isarray: 2.0.5 + /esbuild-sunos-64/0.14.38: + resolution: {integrity: sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true dev: true + optional: true - /es-module-lexer/0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /esbuild-windows-32/0.14.38: + resolution: {integrity: sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.4 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + /esbuild-windows-64/0.14.38: + resolution: {integrity: sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /es5-shim/4.6.5: - resolution: {integrity: sha512-vfQ4UAai8szn0sAubCy97xnZ4sJVDD1gt/Grn736hg8D7540wemIb1YPrYZSTqlM2H69EQX1or4HU/tSwRTI3w==} - engines: {node: '>=0.4.0'} + /esbuild-windows-arm64/0.14.38: + resolution: {integrity: sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /es6-shim/0.35.6: - resolution: {integrity: sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==} + /esbuild/0.14.38: + resolution: {integrity: sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-64: 0.14.38 + esbuild-android-arm64: 0.14.38 + esbuild-darwin-64: 0.14.38 + esbuild-darwin-arm64: 0.14.38 + esbuild-freebsd-64: 0.14.38 + esbuild-freebsd-arm64: 0.14.38 + esbuild-linux-32: 0.14.38 + esbuild-linux-64: 0.14.38 + esbuild-linux-arm: 0.14.38 + esbuild-linux-arm64: 0.14.38 + esbuild-linux-mips64le: 0.14.38 + esbuild-linux-ppc64le: 0.14.38 + esbuild-linux-riscv64: 0.14.38 + esbuild-linux-s390x: 0.14.38 + esbuild-netbsd-64: 0.14.38 + esbuild-openbsd-64: 0.14.38 + esbuild-sunos-64: 0.14.38 + esbuild-windows-32: 0.14.38 + esbuild-windows-64: 0.14.38 + esbuild-windows-arm64: 0.14.38 dev: true /escalade/3.1.1: @@ -8371,10 +8690,6 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-walker/0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - /estree-walker/1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: true @@ -8567,13 +8882,6 @@ packages: to-regex: 3.0.2 dev: true - /extract-from-css/0.4.4: - resolution: {integrity: sha1-HqffLnx8brmSL6COitrqSG9vj5I=} - engines: {node: '>=0.10.0', npm: '>=2.0.0'} - dependencies: - css: 2.2.4 - dev: true - /extract-zip/2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -8821,8 +9129,8 @@ packages: resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true - /flow-parser/0.175.1: - resolution: {integrity: sha512-gYes5/nxeLYiu02MMb+WH4KaOIYrVcTVIuV9M4aP/4hqJ+zULxxS/In+WEj/tEBsQ+8/wSHo9IDWKQL1FhrLmA==} + /flow-parser/0.176.3: + resolution: {integrity: sha512-KDzHEoEtc/kbW7NzujhfFkcTCdNi6VK91UpcdT3tc3yEAQdh4JXAEY/0TVJKipjRuVm8E2FxX/3B5Xpm3EFWXA==} engines: {node: '>=0.4.0'} dev: true @@ -8851,7 +9159,7 @@ packages: worker-rpc: 0.1.1 dev: true - /fork-ts-checker-webpack-plugin/6.5.1_17e0ef6ff47b4a7df399dc24431d3467: + /fork-ts-checker-webpack-plugin/6.5.1_4c325efd23731de18216cda9bf49015c: resolution: {integrity: sha512-x1wumpHOEf4gDROmKTaB6i4/Q6H3LwmjVO7fIX47vBwlZbtPjU33hgoMuD/Q/y6SU8bnuYSoN6ZQOLshGp0T/g==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -8880,7 +9188,6 @@ packages: semver: 7.3.5 tapable: 1.1.3 typescript: 4.6.3 - vue-template-compiler: 2.6.14 webpack: 4.46.0 dev: true @@ -9434,6 +9741,10 @@ packages: resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=} dev: true + /hash-sum/2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + dev: true + /hash.js/1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: @@ -10201,11 +10512,6 @@ packages: resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} dev: true - /is-whitespace/0.3.0: - resolution: {integrity: sha1-Fjnssb4DauxppUy7QBz77XEUq38=} - engines: {node: '>=0.10.0'} - dev: true - /is-window/1.0.2: resolution: {integrity: sha1-LIlspT25feRdPDMTOmXYyfVjSA0=} dev: true @@ -10848,17 +11154,6 @@ packages: '@sideway/pinpoint': 2.0.0 dev: true - /js-beautify/1.14.3: - resolution: {integrity: sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==} - engines: {node: '>=10'} - hasBin: true - dependencies: - config-chain: 1.1.13 - editorconfig: 0.15.3 - glob: 7.2.0 - nopt: 5.0.0 - dev: true - /js-message/1.0.7: resolution: {integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==} engines: {node: '>=0.6.0'} @@ -10892,26 +11187,29 @@ packages: argparse: 2.0.1 dev: true - /jscodeshift/0.7.1: - resolution: {integrity: sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA==} + /jscodeshift/0.13.1: + resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==} hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 dependencies: '@babel/core': 7.17.9 '@babel/parser': 7.17.9 '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.9 - '@babel/plugin-proposal-object-rest-spread': 7.17.3_@babel+core@7.17.9 - '@babel/preset-env': 7.16.11_@babel+core@7.17.9 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.17.9 + '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.9 + '@babel/plugin-transform-modules-commonjs': 7.17.9_@babel+core@7.17.9 '@babel/preset-flow': 7.16.7_@babel+core@7.17.9 '@babel/preset-typescript': 7.16.7_@babel+core@7.17.9 '@babel/register': 7.17.7_@babel+core@7.17.9 babel-core: 7.0.0-bridge.0_@babel+core@7.17.9 - colors: 1.4.0 - flow-parser: 0.175.1 + chalk: 4.1.2 + flow-parser: 0.176.3 graceful-fs: 4.2.9 micromatch: 3.1.10 neo-async: 2.6.2 node-dir: 0.1.17 - recast: 0.18.10 + recast: 0.20.5 temp: 0.8.4 write-file-atomic: 2.4.3 transitivePeerDependencies: @@ -11406,6 +11704,10 @@ packages: resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} dev: true + /mdn-data/2.0.27: + resolution: {integrity: sha512-kwqO0I0jtWr25KcfLm9pia8vLZ8qoAKhWZuZMbneJq3jjBD3gl5nZs8l8Tu3ZBlBAHVQtDur9rdDGyvtfVraHQ==} + dev: true + /mdurl/1.0.1: resolution: {integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=} dev: true @@ -11500,12 +11802,6 @@ packages: resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: true - /merge-source-map/1.1.0: - resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} - dependencies: - source-map: 0.6.1 - dev: true - /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -11778,6 +12074,12 @@ packages: hasBin: true dev: true + /nanoid/3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /nanomatch/1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} @@ -11891,14 +12193,6 @@ packages: resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} dev: true - /nopt/5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: true - /normalize-package-data/2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -12627,6 +12921,15 @@ packages: source-map: 0.6.1 dev: true + /postcss/8.4.12: + resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.3 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /postcss/8.4.6: resolution: {integrity: sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==} engines: {node: ^10 || ^12 || >=14} @@ -12686,25 +12989,11 @@ packages: engines: {node: '>= 0.8'} dev: true - /pretty/2.0.0: - resolution: {integrity: sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=} - engines: {node: '>=0.10.0'} - dependencies: - condense-newlines: 0.2.1 - extend-shallow: 2.0.1 - js-beautify: 1.14.3 - dev: true - /prismjs/1.27.0: resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} engines: {node: '>=6'} dev: true - /private/0.1.8: - resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==} - engines: {node: '>= 0.6'} - dev: true - /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true @@ -12772,10 +13061,6 @@ packages: xtend: 4.0.2 dev: true - /proto-list/1.2.4: - resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=} - dev: true - /protocols/1.4.8: resolution: {integrity: sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==} dev: true @@ -12903,7 +13188,6 @@ packages: /pug/3.0.2: resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} - requiresBuild: true dependencies: pug-code-gen: 3.0.2 pug-filters: 4.0.0 @@ -13443,16 +13727,6 @@ packages: picomatch: 2.3.1 dev: true - /recast/0.18.10: - resolution: {integrity: sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==} - engines: {node: '>= 4'} - dependencies: - ast-types: 0.13.3 - esprima: 4.0.1 - private: 0.1.8 - source-map: 0.6.1 - dev: true - /recast/0.20.5: resolution: {integrity: sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==} engines: {node: '>= 4'} @@ -13774,21 +14048,6 @@ packages: rollup: 2.67.2 dev: true - /rollup-plugin-vue2/0.8.1: - resolution: {integrity: sha512-cvPM7Jn6SBrevNVryszkB9oRcok0Sa2kbp1rM/mtrQFWwLSaTXQOapdP0RFJlqRB9xgvxBpnFnPLYbp7F7cXgw==} - dependencies: - magic-string: 0.25.7 - rollup-pluginutils: 2.8.2 - vue-template-compiler: 2.6.14 - vue-template-es2015-compiler: 1.9.1 - dev: true - - /rollup-pluginutils/2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - /rollup/2.67.2: resolution: {integrity: sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw==} engines: {node: '>=10.0.0'} @@ -14073,10 +14332,6 @@ packages: object-inspect: 1.12.0 dev: true - /sigmund/1.0.1: - resolution: {integrity: sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=} - dev: true - /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -14533,6 +14788,11 @@ packages: min-indent: 1.0.1 dev: true + /strip-json-comments/2.0.1: + resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + engines: {node: '>=0.10.0'} + dev: true + /strip-json-comments/3.0.1: resolution: {integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==} engines: {node: '>=8'} @@ -15005,8 +15265,8 @@ packages: engines: {node: '>=6.10'} dev: true - /ts-loader/8.3.0_typescript@4.6.3+webpack@4.46.0: - resolution: {integrity: sha512-MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag==} + /ts-loader/8.4.0_typescript@4.6.3+webpack@4.46.0: + resolution: {integrity: sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==} engines: {node: '>=10.0.0'} peerDependencies: typescript: '*' @@ -15068,6 +15328,15 @@ packages: typescript: 4.6.3 dev: true + /tsconfig/7.0.0: + resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} + dependencies: + '@types/strip-bom': 3.0.0 + '@types/strip-json-comments': 0.0.30 + strip-bom: 3.0.0 + strip-json-comments: 2.0.1 + dev: true + /tsd/0.20.0: resolution: {integrity: sha512-iba/JlyT3qtnA9t8VrX2Fipu3L31U48oRIf1PNs+lIwQ7n63GTkt9eQlB5bLtfb7nYfy9t8oZzs+K4QEoEIS8Q==} engines: {node: '>=12'} @@ -15546,6 +15815,30 @@ packages: vfile-message: 2.0.4 dev: true + /vite/2.9.6: + resolution: {integrity: sha512-3IffdrByHW95Yjv0a13TQOQfJs7L5dVlSPuTt432XLbRMriWbThqJN2k/IS6kXn5WY4xBLhK9XoaWay1B8VzUw==} + engines: {node: '>=12.2.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + dependencies: + esbuild: 0.14.38 + postcss: 8.4.12 + resolve: 1.22.0 + rollup: 2.67.2 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /vm-browserify/1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true @@ -15555,38 +15848,39 @@ packages: engines: {node: '>=0.10.0'} dev: true - /vue-docgen-api/4.44.23_vue@2.6.14: + /vue-docgen-api/4.44.23_vue@3.2.33: resolution: {integrity: sha512-6l/k+g+XS35ccCDNw8bGtbSqcDKh2kA6kSohAIY7EGihK1nrWWr3w8cLfLZn1dg/lI+sou+DQZwuHFLjFiiqhA==} dependencies: - '@babel/parser': 7.17.0 + '@babel/parser': 7.17.9 '@babel/types': 7.17.0 - '@vue/compiler-dom': 3.2.30 - '@vue/compiler-sfc': 3.2.30 + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-sfc': 3.2.33 ast-types: 0.14.2 hash-sum: 1.0.2 lru-cache: 4.1.5 pug: 3.0.2 recast: 0.20.5 ts-map: 1.0.3 - vue-inbrowser-compiler-utils: 4.44.23_vue@2.6.14 + vue-inbrowser-compiler-utils: 4.44.23_vue@3.2.33 transitivePeerDependencies: - vue dev: true - /vue-docgen-loader/1.5.0_f375cf12446d5a2c8b22a5b692d620fd: - resolution: {integrity: sha512-LKZ8mxeIQ44uSUMTplnwOXbC4bO4E2vyZDTbn7/1QlVwJPEIjk3ahL0DA1m27IEw6YTlHOwtWS0PrHmDkFgyAg==} + /vue-docgen-loader/1.5.1_f375cf12446d5a2c8b22a5b692d620fd: + resolution: {integrity: sha512-coMmQYsg+fy18SVtBNU7/tztdqEyrneFfwQFLmx8O7jaJ11VZ//9tRWXlwGzJM07cPRwMHDKMlAdWrpuw3U46A==} engines: {node: '>= 8.16'} peerDependencies: vue-docgen-api: '>=3' webpack: '>=4' dependencies: clone: 2.1.2 - jscodeshift: 0.7.1 + jscodeshift: 0.13.1 loader-utils: 1.4.0 querystring: 0.2.1 - vue-docgen-api: 4.44.23_vue@2.6.14 + vue-docgen-api: 4.44.23_vue@3.2.33 webpack: 4.46.0 transitivePeerDependencies: + - '@babel/preset-env' - supports-color dev: true @@ -15608,70 +15902,54 @@ packages: - supports-color dev: true - /vue-hot-reload-api/2.3.4: - resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} - dev: true - - /vue-inbrowser-compiler-demi/4.44.23_vue@2.6.14: + /vue-inbrowser-compiler-demi/4.44.23_vue@3.2.33: resolution: {integrity: sha512-/gZxAana4VTJWACNTi4RL5Zs5bVDIUDJ9XlaibzmY3Nf32WK43tvmjrUe+f5uGYLysCHE9SFjFvRKaAhXnzXgA==} requiresBuild: true peerDependencies: vue: '>=2' dependencies: - vue: 2.6.14 + vue: 3.2.33 dev: true - /vue-inbrowser-compiler-utils/4.44.23_vue@2.6.14: + /vue-inbrowser-compiler-utils/4.44.23_vue@3.2.33: resolution: {integrity: sha512-M2U6TPTU1QCiKFYUxgHy47xdZcKLPSbeTpeamHBtfIut1sjKOMtYmAOQ3IrX3W/v8A7j7jGadY4ieA1j3zQICw==} peerDependencies: vue: '>=2' dependencies: camelcase: 5.3.1 - vue: 2.6.14 - vue-inbrowser-compiler-demi: 4.44.23_vue@2.6.14 + vue: 3.2.33 + vue-inbrowser-compiler-demi: 4.44.23_vue@3.2.33 dev: true - /vue-loader/15.9.8_vue-template-compiler@2.6.14: - resolution: {integrity: sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==} + /vue-loader/16.8.3_webpack@4.46.0: + resolution: {integrity: sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==} peerDependencies: - cache-loader: '*' - css-loader: '*' - vue-template-compiler: '*' - webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 - peerDependenciesMeta: - cache-loader: - optional: true - vue-template-compiler: - optional: true + webpack: ^4.1.0 || ^5.0.0-0 dependencies: - '@vue/component-compiler-utils': 3.3.0 - hash-sum: 1.0.2 - loader-utils: 1.4.0 - vue-hot-reload-api: 2.3.4 - vue-style-loader: 4.1.3 - vue-template-compiler: 2.6.14 + chalk: 4.1.2 + hash-sum: 2.0.0 + loader-utils: 2.0.2 + webpack: 4.46.0 dev: true - /vue-style-loader/4.1.3: - resolution: {integrity: sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==} + /vue-loader/17.0.0: + resolution: {integrity: sha512-OWSXjrzIvbF2LtOUmxT3HYgwwubbfFelN8PAP9R9dwpIkj48TVioHhWWSx7W7fk+iF5cgg3CBJRxwTdtLU4Ecg==} + peerDependencies: + webpack: ^4.1.0 || ^5.0.0-0 dependencies: - hash-sum: 1.0.2 - loader-utils: 1.4.0 + chalk: 4.1.2 + hash-sum: 2.0.0 + loader-utils: 2.0.2 dev: true - /vue-template-compiler/2.6.14: - resolution: {integrity: sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==} + /vue/3.2.33: + resolution: {integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==} dependencies: - de-indent: 1.0.2 - he: 1.2.0 - dev: true - - /vue-template-es2015-compiler/1.9.1: - resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} - dev: true - - /vue/2.6.14: - resolution: {integrity: sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==} + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-sfc': 3.2.33 + '@vue/runtime-dom': 3.2.33 + '@vue/server-renderer': 3.2.33_vue@3.2.33 + '@vue/shared': 3.2.33 dev: true /w3c-hr-time/1.0.2: @@ -15953,7 +16231,7 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.17.0 + '@babel/parser': 7.17.9 '@babel/types': 7.17.0 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 diff --git a/rollup.config.js b/rollup.config.js index ea057ec..1dceae1 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,13 +1,13 @@ -import vue from 'rollup-plugin-vue2'; +import vue from '@vitejs/plugin-vue'; import swc from 'rollup-plugin-swc'; import replace from '@rollup/plugin-replace'; import { nodeResolve } from '@rollup/plugin-node-resolve'; import pkg from './package.json'; const extensions = ['.js', '.ts']; -const external = _ => /node_modules/.test(_) && !/@swc\/helpers/.test(_); -const plugins = (targets, vueOptions = {}) => [ - vue(vueOptions), +export const external = _ => /node_modules/.test(_) && !/@swc\/helpers/.test(_); +export const plugins = (targets, vueLib, vueOptions = {}) => [ + vueLib(vueOptions), nodeResolve({ extensions, }), @@ -31,7 +31,7 @@ const plugins = (targets, vueOptions = {}) => [ export default [ { input: pkg.main, - plugins: plugins('defaults and supports es6-module'), + plugins: plugins('defaults and supports es6-module', vue), external, output: { format: 'es', @@ -41,7 +41,7 @@ export default [ }, { input: pkg.main, - plugins: plugins('defaults, not ie 11, not ie_mob 11', { + plugins: plugins('defaults, not ie 11, not ie_mob 11', vue, { template: { optimizeSSR: true, }, diff --git a/src/components/GChart.ts b/src/components/GChart.ts new file mode 100644 index 0000000..bb86111 --- /dev/null +++ b/src/components/GChart.ts @@ -0,0 +1,162 @@ +import { + defineComponent, + ref, + h, + onMounted, + onBeforeUnmount, + watch, + PropType, +} from 'vue'; + +import { + GoogleViz, + GoogleChartWrapper, + GoogleChartWrapperChartType, + GoogleChartOptions, + GoogleChartVersion, + GoogleChartLoaderOptions, + GoogleVizEvents, + GoogleDataTable, +} from '../types'; + +import { + createChartObject, + getValidChartData, + ICreateChartFunction, +} from '../utils'; + +import { loadGoogleCharts } from '../lib/google-charts-loader'; +import { debounce } from '../lib/debounce'; + +let chartsLib: null | GoogleViz = null; + +export const GChart = defineComponent({ + name: 'GChart', + props: { + type: { + type: String as PropType, + required: true, + }, + data: { + type: [Array, Object, null] as PropType< + unknown[][] | GoogleDataTable | Record | null + >, + default: () => [], + }, + options: { + type: Object as PropType, + default: () => ({}), + }, + version: { + type: String as PropType, + default: 'current', + }, + settings: { + type: Object as PropType, + default: () => ({ + packages: ['corechart', 'table'], + }), + }, + events: { + type: Object as PropType, + default: null, + }, + createChart: { + type: Function as PropType, + default: undefined, + }, + resizeDebounce: { + type: Number, + default: 200, + }, + }, + setup(props, { emit }) { + const chartObject = ref(null); + const chartEl = ref(null); + + function drawChart(): void { + if (chartsLib === null || chartObject.value === null) { + return; + } + + const data = getValidChartData(chartsLib, props.data); + if (data !== null) { + chartObject.value?.draw(data, props.options); + } + } + + watch( + () => props.data, + () => drawChart(), + { deep: true } + ); + + watch( + () => props.options, + () => drawChart(), + { deep: true } + ); + + watch( + () => props.type, + () => { + chartObject.value = createChartObject( + chartsLib, + chartObject.value, + chartEl.value, + props.type, + props.events, + props.createChart + ); + + drawChart(); + } + ); + + onMounted(() => { + loadGoogleCharts(props.version, props.settings).then(api => { + if (api !== undefined) { + chartsLib = api; + + chartObject.value = createChartObject( + chartsLib, + chartObject.value, + chartEl.value, + props.type, + props.events, + props.createChart + ); + + emit('ready', chartObject.value, api); + + drawChart(); + } + }); + + if (props.resizeDebounce > 0) { + window.addEventListener( + 'resize', + debounce(drawChart, props.resizeDebounce) as EventListener + ); + } + }); + + onBeforeUnmount(() => { + if ( + chartObject.value !== null && + typeof chartObject.value.clearChart === 'function' + ) { + chartObject.value.clearChart(); + } + + if (props.resizeDebounce > 0) { + window.removeEventListener( + 'resize', + debounce(drawChart, props.resizeDebounce) as EventListener + ); + } + }); + + return () => h('div', { ref: chartEl }, []); + }, +}); diff --git a/src/index.ts b/src/index.ts index 1509c77..2be1996 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,13 @@ -import Vue from 'vue'; +import { createApp } from 'vue'; import { loadGoogleCharts } from './lib/google-charts-loader'; -import GChart from './components/GChart.vue'; +import { GChart } from './components/GChart'; + +const app = createApp({}); // Install the components -export function install(vue: typeof Vue) { - vue.component('GChart', GChart); +export function install() { + app.component('GChart', GChart); } // Expose the components @@ -26,9 +28,8 @@ export default plugin; let GlobalVue = null; if (typeof window !== 'undefined') { GlobalVue = window.Vue; -} else if (typeof global !== 'undefined') { - GlobalVue = global.Vue; } -if (GlobalVue) { - GlobalVue.use(plugin); + +if (GlobalVue !== null && GlobalVue !== undefined) { + app.use(plugin); } diff --git a/src/lib/google-charts-loader.ts b/src/lib/google-charts-loader.ts index 65484f4..a8a3b4c 100644 --- a/src/lib/google-charts-loader.ts +++ b/src/lib/google-charts-loader.ts @@ -9,17 +9,12 @@ */ import type { + GoogleViz, GoogleChartLoader, GoogleChartVersion, - GoogleChartPackages, + GoogleChartLoaderOptions, } from '../types'; -export interface ILoadGoogleChartsParams { - packages?: GoogleChartPackages[]; - language?: string; - mapsApiKey?: string; -} - const chartsScriptUrl = 'https://www.gstatic.com/charts/loader.js'; let chartsLoaderPromise: null | Promise = null; @@ -75,15 +70,15 @@ export async function loadGoogleCharts( packages = ['corechart', 'controls'], language = 'en', mapsApiKey, - }: ILoadGoogleChartsParams -): Promise { + }: GoogleChartLoaderOptions +): Promise { const loader = await getChartsLoader(); const settingsKey = `${version}_${packages.join('_')}_${language}`; if (loadedPackages.has(settingsKey)) return loadedPackages.get(settingsKey); - const loaderPromise = new Promise(resolve => { + const loaderPromise: Promise = new Promise(resolve => { loader.load(version, { packages, language, diff --git a/src/types.ts b/src/types.ts index 9c290e7..8c6dc74 100644 --- a/src/types.ts +++ b/src/types.ts @@ -5,6 +5,7 @@ export type GoogleViz = { ChartWrapper: GoogleChartWrapper; ChartEditor: GoogleChartEditor; DataTable: GoogleDataTable; + DataView: GoogleDataView; events: GoogleVizEvents; arrayToDataTable: GoogleArrayToDataTable; drawToolbar: GoogleVizDrawToolbar; @@ -21,40 +22,55 @@ export type GoogleChartLoader = { }; export type GoogleChartWrapper = { - new (chartWrapperOptions: Partial): GoogleChartWrapper; - draw: (chartArgs?: ChartWrapperProps) => any; - toJSON: () => string; - clone: () => GoogleChartWrapper; - getDataSourceUrl: () => string; - getDataTable: () => GoogleDataTable | null; // null if datasourceurl set or ref to DataTable - getChartType: () => GoogleChartWrapperChartType; - getChartName: () => string; - getChart: () => { - removeAction: (actionID: string) => void; - getSelection: () => { row?: any; column?: any }[]; - setAction: (ChartAction: GoogleChartAction) => void; - getImageURI: () => void; - clearChart: () => void; // Clears the chart, and releases all of its allocated resources. - }; // ref to chart - getContainerId: () => string; - getQuery: () => string; - getRefreshInterval: () => number; - getOption: (key: string, opt_default_value?: any) => any; // returns opt_default_value if key not found - getOptions: () => {}; - getSelection: () => { row?: any; column?: any }[]; - getView: () => {} | any[]; // Same format as toJSON - - setDataSourceUrl: (url: string) => void; - setDataTable: (table: any) => void; - setChartType: (chartType: GoogleChartWrapperChartType) => void; - setChartName: (name: string) => void; // Sets an arbitrary name for the chart. This is not shown anywhere on the chart, unless a custom chart is explicitly designed to use it. - setContainerId: (id: string) => void; // Sets the ID of the containing DOM element for the chart. - setQuery: (query_string: string) => void; // Sets a query string, if this chart queries a data source. You must also set the data source URL if specifying this value. - setRefreshInterval: (interval: number) => void; // Sets the refresh interval for this chart, if it queries a data source. You must also set a data source URL if specifying this value. Zero indicates no refresh. - setOption: (key: string, value: any) => void; // Sets a single chart option value, where key is the option name and value is the value. To unset an option, pass in null for the value. Note that key may be a qualified name, such as 'vAxis.title'. - setOptions: (options_obj: Partial) => void; // + new (element: Element): GoogleChartWrapper; + getContainer(): Element; + getSelection(): ChartSelection[]; + setSelection(selection?: ChartSelection[] | null): void; + draw: ( + data: GoogleDataTable | GoogleDataView, + options: GoogleChartOptions + ) => any; + clearChart(): void; + getImageURI(): string; + getAction(id: string | number): ChartAction; + getBoundingBox(id: string): ChartBoundingBox; + getChartAreaBoundingBox(): ChartBoundingBox; + getChartLayoutInterface(): ChartLayoutInterface; + getHAxisValue(position: number, axisIndex?: number): number; + getVAxisValue(position: number, axisIndex?: number): number; + getXLocation(position: number, axisIndex?: number): number; + getYLocation(position: number, axisIndex?: number): number; + removeAction(id: string | number): void; + setAction(action: ChartAction): void; }; +export interface ChartSelection { + column?: number | null | undefined; + row?: number | null | undefined; +} + +export interface ChartAction { + id: string | number; + text: string; + action: () => void; +} + +export interface ChartBoundingBox { + left: number; + top: number; + width: number; + height: number; +} + +export interface ChartLayoutInterface { + getBoundingBox(id: string): ChartBoundingBox; + getChartAreaBoundingBox(): ChartBoundingBox; + getHAxisValue(position: number, axisIndex?: number): number; + getVAxisValue(position: number, axisIndex?: number): number; + getXLocation(position: number, axisIndex?: number): number; + getYLocation(position: number, axisIndex?: number): number; +} + export type GoogleChartEditor = { new (): GoogleChartEditor; openDialog: ( @@ -401,3 +417,143 @@ export type GoogleChartPackages = | 'wordtree'; export type GoogleChartTicks = (number | Date)[]; + +export type GoogleChartOptions = { + width?: number; + height?: number; + is3D?: boolean; + backgroundColor?: string; + + title?: string; + hAxis?: { + minValue?: any; + maxValue?: any; + ticks?: GoogleChartTicks; + title?: string; + viewWindow?: { max?: any; min?: any; [otherOptionKey: string]: any }; + [otherOptionKey: string]: any; + }; + vAxis?: { + minValue?: any; + maxValue?: any; + ticks?: GoogleChartTicks; + title?: string; + viewWindow?: { max?: any; min?: any; [otherOptionKey: string]: any }; + [otherOptionKey: string]: any; + }; + bubble?: {}; + pieHole?: number; + redFrom?: number; + redTo?: number; + yellowFrom?: number; + yellowTo?: number; + minorTicks?: number; + legend?: + | string + | { + position?: string; + maxLines?: number; + [otherOptionKey: string]: any; + }; + curveType?: string; + showTooltip?: boolean; + showInfoWindow?: boolean; + allowHtml?: boolean; + isStacked?: string | boolean; + minColor?: string; + midColor?: string; + maxColor?: string; + headerHeight?: number; + fontColor?: string; + showScale?: boolean; + bar?: { groupWidth?: string }; // Remove space between bars. + candlestick?: { + fallingColor?: { strokeWidth?: number; fill?: string }; // red + risingColor?: { strokeWidth?: number; fill?: string }; // green + [otherOptionKey: string]: any; + }; + wordtree?: { + format?: string; + word?: string; + [otherOptionKey: string]: any; + }; + [otherOptionKey: string]: any; +}; + +export type GoogleDataView = { + new (dataParam: any): GoogleDataView; + getColumnId(columnIndex: number): String; + getColumnLabel(columnIndex: number): string; + getColumnPattern(columnIndex: number): string; + getColumnProperty(columnIndex: number, name: string): any; + getColumnRange(columnIndex: number): { min: any; max: any }; + getColumnType(columnIndex: number): string; + getDistinctValues(columnIndex: number): any[]; + getFilteredRows(filters: DataTableCellFilter[]): number[]; + getFormattedValue(rowIndex: number, columnIndex: number): string; + getNumberOfColumns(): number; + getNumberOfRows(): number; + getProperty(rowIndex: number, columnIndex: number, name: string): any; + getProperties(rowIndex: number, columnIndex: number): Properties; + getRowProperty(rowIndex: number, name: string): any; + getSortedRows(sortColumn: number): number[]; + getSortedRows(sortColumn: SortByColumn): number[]; + getSortedRows(sortColumns: number[]): number[]; + getSortedRows(sortColumns: SortByColumn[]): number[]; + getTableProperty(name: string): any; + getValue(rowIndex: number, columnIndex: number): any; + getTableColumnIndex(viewColumnIndex: number): number; + getTableRowIndex(viewRowIndex: number): number; + getViewColumnIndex(tableColumnIndex: number): number; + getViewColumns(): number[]; + getViewColumns(): ColumnSpec[]; + getViewRowIndex(tableRowIndex: number): number; + getViewRows(): number[]; + + hideColumns(columnIndexes: number[]): void; + hideRows(min: number, max: number): void; + hideRows(rowIndexes: number[]): void; + + setColumns(columnIndexes: number[]): void; + setColumns(columnIndexes: ColumnSpec[]): void; + setColumns(columnIndexes: any[]): void; + setRows(min: number, max: number): void; + setRows(rowIndexes: number[]): void; + + toDataTable(): GoogleDataTable; + toJSON(): string; +}; + +export interface DataTableCellFilter { + column: number; + value?: any; + minValue?: any; + maxValue?: any; + test?: + | (( + value: any, + row?: number, + column?: number, + data?: GoogleDataTable | GoogleDataView + ) => boolean) + | undefined; +} + +export interface Properties { + [property: string]: any; +} + +export interface SortByColumn { + column: number; + desc: boolean; +} + +export interface ColumnSpec { + calc?: ((data: GoogleDataTable, row: number) => any) | undefined; + type?: string | undefined; + label?: string | undefined; + id?: string | undefined; + sourceColumn?: number | undefined; + properties?: Properties | undefined; + role?: string | undefined; +} diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..5310a4f --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,97 @@ +import { + GoogleChartWrapper, + GoogleChartWrapperChartType, + GoogleDataTable, + GoogleDataView, + GoogleViz, + GoogleVizEventName, + GoogleVizEvents, +} from './types'; + +export interface ICreateChartFunction { + ( + el: HTMLElement, + google: GoogleViz, + type: GoogleChartWrapperChartType + ): GoogleChartWrapper; +} + +export function getValidChartData( + chartsLib: null | GoogleViz, + data: unknown[][] | GoogleDataTable | Record | null +): GoogleDataTable | GoogleDataView | null { + if (chartsLib !== null && data instanceof chartsLib.visualization.DataTable) { + return data; + } + + if (chartsLib !== null && data instanceof chartsLib.visualization.DataView) { + return data; + } + + if (chartsLib !== null && Array.isArray(data)) { + return chartsLib.visualization.arrayToDataTable(data); + } + + if (chartsLib !== null && data !== null && typeof data === 'object') { + return new chartsLib.visualization.DataTable(data); + } + + return null; +} + +export function createChartObject( + chartsLib: GoogleViz | null, + chartObject: GoogleChartWrapper | null, + chartEl: HTMLElement | null, + chartType: GoogleChartWrapperChartType, + chartEvents: GoogleVizEvents | null, + createChartFunction?: ICreateChartFunction +): GoogleChartWrapper | null { + const createChart: ICreateChartFunction = ( + el: HTMLElement, + google: GoogleViz, + type: GoogleChartWrapperChartType + ): GoogleChartWrapper => { + if (type === undefined) { + throw new Error('please, provide chart type property'); + } + + return new google.visualization[type](el); + }; + + if (chartsLib === null) { + throw new Error('please, provide charts lib property'); + } + + if (chartEl === null) { + throw new Error('please, provide chart element property'); + } + + const fn = createChartFunction || createChart; + + chartObject = fn(chartEl, chartsLib, chartType); + + attachListeners(chartsLib, chartObject, chartEvents); + + return chartObject; +} + +function attachListeners( + chartsLib: null | GoogleViz, + chartObject: GoogleChartWrapper | null, + chartEvents: GoogleVizEvents | null +): void { + if (chartEvents === null) { + return; + } + + for (const [event, listener] of Object.entries(chartEvents)) { + if (chartsLib !== null && chartObject !== null) { + chartsLib.visualization.events.addListener( + chartObject, + event as GoogleVizEventName, + listener as (chartWrapper: GoogleChartWrapper) => any + ); + } + } +} diff --git a/src/window.ts b/src/window.ts index 38f1dde..ee5d29a 100644 --- a/src/window.ts +++ b/src/window.ts @@ -1,7 +1,9 @@ import { GoogleViz } from './types'; +import Vue from 'vue'; declare global { interface Window { google?: GoogleViz; + Vue?: typeof Vue; } } diff --git a/stories/AreaChart.stories.ts b/stories/AreaChart.stories.ts index 38cee09..4972d50 100644 --- a/stories/AreaChart.stories.ts +++ b/stories/AreaChart.stories.ts @@ -2,14 +2,14 @@ import { GChart } from '../src'; const defaultArgs = { type: 'AreaChart', - chartData: [ + data: [ ['Year', 'Sales', 'Expenses'], ['2013', 1000, 400], ['2014', 1170, 460], ['2015', 660, 1120], ['2016', 1030, 540], ], - chartOptions: { + options: { title: 'Company Performance', hAxis: { title: 'Year', titleTextStyle: { color: '#333' } }, vAxis: { minValue: 0 }, @@ -28,10 +28,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultAreaChart = Template.bind({}); diff --git a/stories/BarChart.stories.ts b/stories/BarChart.stories.ts index 37a4f45..e12d72f 100644 --- a/stories/BarChart.stories.ts +++ b/stories/BarChart.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'BarChart', - chartData: [ + data: [ ['City', '2010 Population', '2000 Population'], ['New York City, NY', 8175000, 8008000], ['Los Angeles, CA', 3792000, 3694000], @@ -10,7 +10,7 @@ const defaultArgs = { ['Houston, TX', 2099000, 1953000], ['Philadelphia, PA', 1526000, 1517000], ], - chartOptions: { + options: { title: 'Population of Largest U.S. Cities', chartArea: { width: '50%' }, hAxis: { @@ -34,10 +34,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultBarChart = Template.bind({}); diff --git a/stories/BubbleChart.stories.ts b/stories/BubbleChart.stories.ts index 3b523f5..3961025 100644 --- a/stories/BubbleChart.stories.ts +++ b/stories/BubbleChart.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'BubbleChart', - chartData: [ + data: [ ['ID', 'Life Expectancy', 'Fertility Rate', 'Region', 'Population'], ['CAN', 80.66, 1.67, 'North America', 33739900], ['DEU', 79.84, 1.36, 'Europe', 81902307], @@ -15,7 +15,7 @@ const defaultArgs = { ['RUS', 68.6, 1.54, 'Europe', 141850000], ['USA', 78.09, 2.05, 'North America', 307007000], ], - chartOptions: { + options: { title: 'Correlation between life expectancy, fertility rate ' + 'and population of some world countries (2010)', @@ -36,10 +36,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultBubbleChart = Template.bind({}); diff --git a/stories/Candlestick.stories.ts b/stories/Candlestick.stories.ts index b629b35..4762e52 100644 --- a/stories/Candlestick.stories.ts +++ b/stories/Candlestick.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'CandlestickChart', - chartData: [ + data: [ ['day', 'a', 'b', 'c', 'd'], ['Mon', 20, 28, 38, 45], ['Tue', 31, 38, 55, 66], @@ -10,7 +10,7 @@ const defaultArgs = { ['Thu', 50, 77, 66, 77], ['Fri', 15, 66, 22, 68], ], - chartOptions: { + options: { legend: 'none', width: 800, height: 600, @@ -26,10 +26,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultCandlestick = Template.bind({}); diff --git a/stories/ColumnChart.stories.ts b/stories/ColumnChart.stories.ts index 5559cec..97dfa66 100644 --- a/stories/ColumnChart.stories.ts +++ b/stories/ColumnChart.stories.ts @@ -2,14 +2,14 @@ import { GChart } from '../src'; const defaultArgs = { type: 'ColumnChart', - chartData: [ + data: [ ['Year', 'Sales', 'Expenses', 'Profit'], ['2014', 1000, 400, 200], ['2015', 1170, 460, 250], ['2016', 660, 1120, 300], ['2017', 1030, 540, 350], ], - chartOptions: { + options: { chart: { title: 'Company Performance', subtitle: 'Sales, Expenses, and Profit: 2014-2017', @@ -28,10 +28,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultColumn = Template.bind({}); diff --git a/stories/ComboChart.stories.ts b/stories/ComboChart.stories.ts index 41e45de..386180f 100644 --- a/stories/ComboChart.stories.ts +++ b/stories/ComboChart.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'ComboChart', - chartData: [ + data: [ [ 'Month', 'Bolivia', @@ -18,7 +18,7 @@ const defaultArgs = { ['2007/08', 139, 1110, 615, 968, 215, 609.4], ['2008/09', 136, 691, 629, 1026, 366, 569.6], ], - chartOptions: { + options: { title: 'Monthly Coffee Production by Country', vAxis: { title: 'Cups' }, hAxis: { title: 'Month' }, @@ -38,10 +38,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultComboChart = Template.bind({}); diff --git a/stories/Histogram.stories.ts b/stories/Histogram.stories.ts index b704974..6686956 100644 --- a/stories/Histogram.stories.ts +++ b/stories/Histogram.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'Histogram', - chartData: [ + data: [ ['Dinosaur', 'Length'], ['Acrocanthosaurus (top-spined lizard)', 12.2], ['Albertosaurus (Alberta lizard)', 9.1], @@ -33,7 +33,7 @@ const defaultArgs = { ['Ultrasaurus (ultra lizard)', 30.5], ['Velociraptor (swift robber)', 1.8], ], - chartOptions: { + options: { title: 'Lengths of dinosaurs, in meters', legend: { position: 'none' }, width: 800, @@ -50,10 +50,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultHistogram = Template.bind({}); diff --git a/stories/LineChart.stories.ts b/stories/LineChart.stories.ts index 873f4dc..353b385 100644 --- a/stories/LineChart.stories.ts +++ b/stories/LineChart.stories.ts @@ -2,14 +2,14 @@ import { GChart } from '../src'; const defaultArgs = { type: 'LineChart', - chartData: [ + data: [ ['Year', 'Sales', 'Expenses'], ['2004', 1000, 400], ['2005', 1170, 460], ['2006', 660, 1120], ['2007', 1030, 540], ], - chartOptions: { + options: { title: 'Company Performance', curveType: 'function', legend: { position: 'bottom' }, @@ -27,10 +27,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultLineChart = Template.bind({}); diff --git a/stories/PieChart.stories.ts b/stories/PieChart.stories.ts index f9bbcb6..1c2bdde 100644 --- a/stories/PieChart.stories.ts +++ b/stories/PieChart.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'PieChart', - chartData: [ + data: [ ['Task', 'Hours per Day'], ['Work', 11], ['Eat', 2], @@ -10,7 +10,7 @@ const defaultArgs = { ['Watch TV', 2], ['Sleep', 7], ], - chartOptions: { + options: { title: 'My Daily Activities', width: 800, height: 600, @@ -26,10 +26,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultPieChart = Template.bind({}); diff --git a/stories/ScatterChart.stories.ts b/stories/ScatterChart.stories.ts index ebb30f7..4a89b89 100644 --- a/stories/ScatterChart.stories.ts +++ b/stories/ScatterChart.stories.ts @@ -2,7 +2,7 @@ import { GChart } from '../src'; const defaultArgs = { type: 'ScatterChart', - chartData: [ + data: [ ['Year', 'Sales', 'Expenses'], ['2004', 1000, 400], ['2005', 1170, 460], @@ -13,7 +13,7 @@ const defaultArgs = { ['2011', 660, 1120], ['2012', 1030, 540], ], - chartOptions: { + options: { title: 'Company Performance', curveType: 'function', legend: { position: 'bottom' }, @@ -31,10 +31,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultScatterChart = Template.bind({}); diff --git a/stories/SteppedAreaChart.stories.ts b/stories/SteppedAreaChart.stories.ts index 4d9c86b..9af816f 100644 --- a/stories/SteppedAreaChart.stories.ts +++ b/stories/SteppedAreaChart.stories.ts @@ -2,14 +2,14 @@ import { GChart } from '../src'; const defaultArgs = { type: 'SteppedAreaChart', - chartData: [ + data: [ ['Director (Year)', 'Rotten Tomatoes', 'IMDB'], ['Alfred Hitchcock (1935)', 8.4, 7.9], ['Ralph Thomas (1959)', 6.9, 6.5], ['Don Sharp (1978)', 6.5, 6.4], ['James Hawes (2008)', 4.4, 6.2], ], - chartOptions: { + options: { title: "The decline of 'The 39 Steps'", vAxis: { title: 'Accumulated Rating' }, isStacked: true, @@ -27,10 +27,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultSteppedAreaChart = Template.bind({}); diff --git a/stories/Table.stories.ts b/stories/Table.stories.ts index 2eab716..58b7e3a 100644 --- a/stories/Table.stories.ts +++ b/stories/Table.stories.ts @@ -2,14 +2,14 @@ import { GChart } from '../src'; const defaultArgs = { type: 'Table', - chartData: [ + data: [ ['Name', 'Salary', 'Full time employee'], ['Mike', { v: 10000, f: '$10,000' }, true], ['Jim', { v: 8000, f: '$8,000' }, false], ['Alice', { v: 12500, f: '$12,500' }, true], ['Bob', { v: 7000, f: '$7,000' }, true], ], - chartOptions: { + options: { title: 'Company Performance', curveType: 'function', legend: { position: 'bottom' }, @@ -28,10 +28,12 @@ export default { args: defaultArgs, }; -const Template = (_, { argTypes }) => ({ - props: Object.keys(argTypes), +const Template = args => ({ components: { GChart }, - template: '', + setup() { + return { args }; + }, + template: '', }); export const DefaultTable = Template.bind({}); diff --git a/test/@types/shims-vue.d.ts b/test/@types/shims-vue.d.ts deleted file mode 100644 index 8f6f410..0000000 --- a/test/@types/shims-vue.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module '*.vue' { - import Vue from 'vue'; - export default Vue; -} diff --git a/test/AreaChart.spec.ts b/test/AreaChart.spec.ts index f2a1ecb..43a19d6 100644 --- a/test/AreaChart.spec.ts +++ b/test/AreaChart.spec.ts @@ -38,7 +38,7 @@ describe('AreaChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/BarChart.spec.ts b/test/BarChart.spec.ts index 6b8de4f..bf61a2f 100644 --- a/test/BarChart.spec.ts +++ b/test/BarChart.spec.ts @@ -44,7 +44,7 @@ describe('BarChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/BubbleChart.spec.ts b/test/BubbleChart.spec.ts index 53a8416..c46564e 100644 --- a/test/BubbleChart.spec.ts +++ b/test/BubbleChart.spec.ts @@ -46,7 +46,7 @@ describe('BubbleChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/Candlestick.spec.ts b/test/Candlestick.spec.ts index 822f883..80c60eb 100644 --- a/test/Candlestick.spec.ts +++ b/test/Candlestick.spec.ts @@ -36,7 +36,7 @@ describe('CandlestickChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/ChartsTypes.test-d.ts b/test/ChartsTypes.test-d.ts index f38f088..776df0b 100644 --- a/test/ChartsTypes.test-d.ts +++ b/test/ChartsTypes.test-d.ts @@ -1,5 +1,6 @@ -//TODO: tune after migrate to Vue3 -import Vue from 'vue'; +import Vue, { h } from 'vue'; +import { expectError } from 'tsd'; + import { GChart } from '../src'; import { GoogleViz } from '../src/types'; @@ -7,6 +8,7 @@ import { GoogleViz } from '../src/types'; declare global { interface Window { google?: GoogleViz; + Vue?: typeof Vue; } } @@ -26,14 +28,38 @@ const options = { height: 600, }; -Vue.component('LineChart', { - render: function (createElement) { - return createElement(GChart, { - props: { - type: 'LineChart', - data, - options, - }, - }); - }, +h(GChart, { + type: 'AreaChart', +}); + +h(GChart, { + type: 'Histogram', +}); + +h(GChart, { + type: 'Timeline', +}); + +expectError( + h(GChart, { + type: 'UnknownChart', + }) +); + +h(GChart, { + type: 'AreaChart', + data: data, +}); + +expectError( + h(GChart, { + type: 'AreaChart', + data: 'data', + }) +); + +h(GChart, { + type: 'AreaChart', + data: data, + options: options, }); diff --git a/test/ColumnChart.spec.ts b/test/ColumnChart.spec.ts index 9f043f4..e212fa9 100644 --- a/test/ColumnChart.spec.ts +++ b/test/ColumnChart.spec.ts @@ -38,7 +38,7 @@ describe('ColumnChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/ComboChart.spec.ts b/test/ComboChart.spec.ts index 1ae1d43..f2de5aa 100644 --- a/test/ComboChart.spec.ts +++ b/test/ComboChart.spec.ts @@ -48,7 +48,7 @@ describe('ComboChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/Histogram.spec.ts b/test/Histogram.spec.ts index e24e504..6543381 100644 --- a/test/Histogram.spec.ts +++ b/test/Histogram.spec.ts @@ -60,7 +60,7 @@ describe('Histogram', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/LineChart.spec.ts b/test/LineChart.spec.ts index c6dc63c..70a57da 100644 --- a/test/LineChart.spec.ts +++ b/test/LineChart.spec.ts @@ -37,7 +37,7 @@ describe('LineChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/PieChart.spec.ts b/test/PieChart.spec.ts index e9e7ed4..9aa8d0a 100644 --- a/test/PieChart.spec.ts +++ b/test/PieChart.spec.ts @@ -36,7 +36,7 @@ describe('PieChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/ScatterChart.spec.ts b/test/ScatterChart.spec.ts index d6995c7..3cb7af2 100644 --- a/test/ScatterChart.spec.ts +++ b/test/ScatterChart.spec.ts @@ -41,7 +41,7 @@ describe('ScatterChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/SteppedAreaChart.spec.ts b/test/SteppedAreaChart.spec.ts index 9a166af..e97b24d 100644 --- a/test/SteppedAreaChart.spec.ts +++ b/test/SteppedAreaChart.spec.ts @@ -37,7 +37,7 @@ describe('SteppedAreaChart', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); }); diff --git a/test/Table.spec.ts b/test/Table.spec.ts index 44b626f..6ccfbe7 100644 --- a/test/Table.spec.ts +++ b/test/Table.spec.ts @@ -38,7 +38,7 @@ describe('Table', () => { }, }); - const chart = wrapper.find('gchart-stub'); + const chart = wrapper.find('g-chart-stub'); expect(chart.attributes('type')).toBe(type); expect(chart.attributes('data')).toBe(data.flat().join(',')); });