From 7179a61bb7b86c44d722795a04bcc27f98c8003a Mon Sep 17 00:00:00 2001 From: Andrew Davis <1709934+Savid@users.noreply.github.com> Date: Thu, 16 Mar 2023 09:02:01 +1000 Subject: [PATCH] feat(web): init --- web/package-lock.json | 2816 +++++++++++++---- web/package.json | 37 +- web/src/components/Graph.tsx | 345 ++ web/src/components/Header.tsx | 91 + web/src/components/SelectMenu.tsx | 108 + web/src/components/Slider.tsx | 221 ++ .../components/__tests__/Checkbox.test.tsx | 4 +- web/src/components/__tests__/Graph.test.tsx | 13 + .../components/__tests__/SelectMenu.test.tsx | 29 + web/src/pages/home.tsx | 82 +- .../components/Graph/Graph.stories.tsx | 26 + .../SelectMenu/SelectMenu.stories.tsx | 69 + .../components/Slider/Slider.stories.tsx | 26 + 13 files changed, 3150 insertions(+), 717 deletions(-) create mode 100644 web/src/components/Graph.tsx create mode 100644 web/src/components/Header.tsx create mode 100644 web/src/components/SelectMenu.tsx create mode 100644 web/src/components/Slider.tsx create mode 100644 web/src/components/__tests__/Graph.test.tsx create mode 100644 web/src/components/__tests__/SelectMenu.test.tsx create mode 100644 web/src/stories/components/Graph/Graph.stories.tsx create mode 100644 web/src/stories/components/SelectMenu/SelectMenu.stories.tsx create mode 100644 web/src/stories/components/Slider/Slider.stories.tsx diff --git a/web/package-lock.json b/web/package-lock.json index e60dda1..0d87b45 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -11,31 +11,34 @@ "@headlessui/react": "1.7.13", "@heroicons/react": "2.0.16", "@tanstack/react-query": "4.26.1", - "d3": "^7.8.2", + "classnames": "2.3.2", + "d3": "7.8.2", "react": "18.2.0", - "react-dom": "18.2.0" + "react-aria": "3.23.1", + "react-dom": "18.2.0", + "react-stately": "3.21.0" }, "devDependencies": { - "@babel/core": "7.21.0", - "@storybook/addon-actions": "7.0.0-rc.1", - "@storybook/addon-essentials": "7.0.0-rc.1", - "@storybook/addon-interactions": "7.0.0-rc.1", - "@storybook/addon-links": "7.0.0-rc.1", + "@babel/core": "7.21.3", + "@storybook/addon-actions": "7.0.0-rc.3", + "@storybook/addon-essentials": "7.0.0-rc.3", + "@storybook/addon-interactions": "7.0.0-rc.3", + "@storybook/addon-links": "7.0.0-rc.3", "@storybook/addon-postcss": "2.0.0", - "@storybook/blocks": "7.0.0-rc.1", + "@storybook/blocks": "7.0.0-rc.3", "@storybook/jest": "0.0.10", - "@storybook/react": "7.0.0-rc.1", - "@storybook/react-vite": "7.0.0-rc.1", + "@storybook/react": "7.0.0-rc.3", + "@storybook/react-vite": "7.0.0-rc.3", "@storybook/testing-library": "0.0.14-next.1", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.0.0", - "@types/d3": "^7.4.0", + "@types/d3": "7.4.0", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", - "@typescript-eslint/eslint-plugin": "5.54.1", - "@typescript-eslint/parser": "5.54.1", + "@typescript-eslint/eslint-plugin": "5.55.0", + "@typescript-eslint/parser": "5.55.0", "@vitejs/plugin-react": "3.1.0", - "@vitest/coverage-c8": "^0.29.2", + "@vitest/coverage-c8": "0.29.3", "autoprefixer": "10.4.14", "babel-loader": "9.1.2", "eslint-config-prettier": "8.7.0", @@ -50,13 +53,13 @@ "postcss": "8.4.21", "prettier": "2.8.4", "prop-types": "15.8.1", - "storybook": "7.0.0-rc.1", + "storybook": "7.0.0-rc.3", "tailwindcss": "3.2.7", "typescript": "4.9.5", "vite": "4.1.4", "vite-plugin-eslint": "1.8.1", - "vitest": "0.29.2", - "vitest-github-actions-reporter": "^0.10.0" + "vitest": "0.29.3", + "vitest-github-actions-reporter": "0.10.0" } }, "node_modules/@actions/core": { @@ -131,21 +134,21 @@ } }, "node_modules/@babel/core": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", - "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.0", + "@babel/generator": "^7.21.3", "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.21.0", + "@babel/helper-module-transforms": "^7.21.2", "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.0", + "@babel/parser": "^7.21.3", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -161,9 +164,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", - "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz", + "integrity": "sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==", "dev": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -188,12 +191,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", - "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", "dev": true, "dependencies": { - "@babel/types": "^7.21.0", + "@babel/types": "^7.21.3", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -567,9 +570,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", - "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1232,9 +1235,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" @@ -1486,9 +1489,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", + "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" @@ -1738,11 +1741,12 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.0.tgz", - "integrity": "sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", + "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", "dev": true, "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-typescript": "^7.20.0" @@ -2114,19 +2118,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", - "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.1", + "@babel/generator": "^7.21.3", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.2", - "@babel/types": "^7.21.2", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2135,9 +2139,9 @@ } }, "node_modules/@babel/types": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", - "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.19.4", @@ -2545,7 +2549,6 @@ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz", "integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==", "dev": true, - "peer": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -2561,7 +2564,6 @@ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.0.tgz", "integrity": "sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==", "dev": true, - "peer": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2655,6 +2657,50 @@ "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", "dev": true }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", + "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", + "dependencies": { + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.8.tgz", + "integrity": "sha512-PemNUObyoIZcqdQ1ixTPugzAzhEj7j6AHIyrq/qR6x5BFTvOQeXHYsVZUqBEFduAIscUaDfou+U+xTqOiunJ3Q==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", + "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-skeleton-parser": "1.3.18", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", + "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.2.32", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", + "integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@headlessui/react": { "version": "1.7.13", "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz", @@ -2714,6 +2760,39 @@ "dev": true, "peer": true }, + "node_modules/@internationalized/date": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.1.0.tgz", + "integrity": "sha512-wjeur7K4AecT+YwoBmBXQ/+n5lP69tuZc34hw09s44EozZK7FZHSyfPvRp5/xEb2D6abLboskDY4jG+Nt0TNUQ==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, + "node_modules/@internationalized/message": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.0.tgz", + "integrity": "sha512-Oo5m70FcBdADf7G8NkUffVSfuCdeAYVfsvNjZDi9ELpjvkc4YNJVTHt/NyTI9K7FgAVoELxiP9YmN0sJ+HNHYQ==", + "dependencies": { + "@swc/helpers": "^0.4.14", + "intl-messageformat": "^10.1.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.2.0.tgz", + "integrity": "sha512-GUXkhXSX1Ee2RURnzl+47uvbOxnlMnvP9Er+QePTjDjOPWuunmLKlEkYkEcLiiJp7y4l9QxGDLOlVr8m69LS5w==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, + "node_modules/@internationalized/string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.1.0.tgz", + "integrity": "sha512-TJQKiyUb+wyAfKF59UNeZ/kELMnkxyecnyPCnBI1ma4NaXReJW+7Cc2mObXAqraIBJUVv7rgI46RLKrLgi35ng==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -3111,102 +3190,1455 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@juggle/resize-observer": { + "node_modules/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "dev": true + }, + "node_modules/@mdx-js/react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", + "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "dev": true, + "dependencies": { + "@types/mdx": "^2.0.0", + "@types/react": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/@ndelangen/get-tarball": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.7.tgz", + "integrity": "sha512-NqGfTZIZpRFef1GoVaShSSRwDC3vde3ThtTeqFdcYd6ipKqnfEVhjK2hUeHjCQUcptyZr2TONqcloFXM+5QBrQ==", + "dev": true, + "dependencies": { + "gunzip-maybe": "^1.4.2", + "pump": "^3.0.0", + "tar-fs": "^2.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "is-glob": "^4.0.3", + "open": "^8.4.0", + "picocolors": "^1.0.0", + "tiny-glob": "^0.2.9", + "tslib": "^2.4.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@react-aria/breadcrumbs": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.0.tgz", + "integrity": "sha512-WiNMlk8COR+4zpJ8mFgTgWQqCxoFE6OMJ16anJzR8IgP1xMzUmIQ7l0s0Dv4D5qE+xVlgNF0ccDdw1x6A+WzPw==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/link": "^3.4.0", + "@react-aria/utils": "^3.15.0", + "@react-types/breadcrumbs": "^3.5.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/button": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.7.0.tgz", + "integrity": "sha512-4DSGXrAWflzT4cQe/x0KdrPzz7hv9vZgqYJuNXQkpmeIMs1EmUKuby2xC+W9GHuZ+8dMxjTWKy3XdwX2tCM42A==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/calendar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.1.0.tgz", + "integrity": "sha512-XWtoGMBTYpj5De2yfboAv60SMXa/T2BjPd0uSkiaPXAC0vPjdB0VPhGbSi6LKCYIiTAMs98mMP0P4WYhWyW4jA==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/calendar": "^3.1.0", + "@react-types/button": "^3.7.1", + "@react-types/calendar": "^3.1.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/checkbox": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.8.0.tgz", + "integrity": "sha512-VjezmSfDx1/A+Yz5naZ9xCxkasmtsO7uK+Ur+Z6bKmHwvoazRK5cATdRG4mj++0JUBYn6bvBGBEXFZHTkkGahw==", + "dependencies": { + "@react-aria/label": "^3.5.0", + "@react-aria/toggle": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/checkbox": "^3.4.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/combobox": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.5.1.tgz", + "integrity": "sha512-HyBX98TvQe8IscJlRz6TxgvMlYcwy9iTA/GWjy3bMNjUfxPaRZh5r69aG8JlTRvVDLE13cUSh0mKsTSjo8evvQ==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/listbox": "^3.8.1", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/menu": "^3.8.1", + "@react-aria/overlays": "^3.13.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/textfield": "^3.9.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/combobox": "^3.4.0", + "@react-stately/layout": "^3.11.0", + "@react-types/button": "^3.7.1", + "@react-types/combobox": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/datepicker": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.3.0.tgz", + "integrity": "sha512-76/5a2Dfe/SCcW0j4hqeSTnlh6SSW/AYPKPr5fNaiGnLFJ3oLsc9SAuUgTsOBglR/J3N/hqtH+UO2U8X1QC6Ng==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@internationalized/number": "^3.2.0", + "@internationalized/string": "^3.1.0", + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/spinbutton": "^3.3.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/datepicker": "^3.3.0", + "@react-types/button": "^3.7.1", + "@react-types/calendar": "^3.1.0", + "@react-types/datepicker": "^3.2.0", + "@react-types/dialog": "^3.5.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/dialog": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.0.tgz", + "integrity": "sha512-QcGwrNSn7hya6tcs0CTuYEMYBPk6YT1vaO6xMTfsSyRhJNCRvvtx/NJ3Bg26M7WvzbuC2aKaSDBw2c14ZeXr5g==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/overlays": "^3.13.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/overlays": "^3.5.0", + "@react-types/dialog": "^3.5.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/dnd": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.1.0.tgz", + "integrity": "sha512-SSkz9i7EcsoTrafDPpzlx+laYNfsUrCM7xX6yu68l9zO96kdoemZuv9OqbDBw2D1peqHT7kMoLreTLWsubb5bg==", + "dependencies": { + "@internationalized/string": "^3.1.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/overlays": "^3.13.0", + "@react-aria/utils": "^3.15.0", + "@react-aria/visually-hidden": "^3.7.0", + "@react-stately/dnd": "^3.1.0", + "@react-types/button": "^3.7.1", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/focus": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.11.0.tgz", + "integrity": "sha512-yPuWs9bAR9CMfIwyOPm2oXLPF19gNkUqW+ozSPhWbLMTEa8Ma09eHW1br4xbN+4ONOm/dCJsIkxTNPUkiLdQoA==", + "dependencies": { + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/grid": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.6.1.tgz", + "integrity": "sha512-8u5oSqHrMNg4GVoOE21CEDcoAbTVpDUNg1mpJqM/ww2LrPZdEMQlU0Ro7Uq+zNg2tzVcdAtgPkh7EEErESIb4Q==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/grid": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/virtualizer": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/gridlist": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.2.1.tgz", + "integrity": "sha512-EQxtKs2c3+kzy6q4nbJoYF7sP33yTsP9NitneRLHNWuT9rdTqKCDps+e0VyXa9ynZkW9Dm5mek0n36mS8NW1zw==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/grid": "^3.6.1", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/list": "^3.7.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/i18n": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.7.0.tgz", + "integrity": "sha512-PZCWmhO9mJvelwiYlsXLY6W4L2o+oza3xnDx0cZDVqp/Hf+OwMAPHWtZsFRTKdjk4TaOPB/ISc9HknWn6UpY4w==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@internationalized/message": "^3.1.0", + "@internationalized/number": "^3.2.0", + "@internationalized/string": "^3.1.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.14.0.tgz", + "integrity": "sha512-e1Tkr0UTuYFpV21PJrXy7jEY542Vl+C2Fo70oukZ1fN+wtfQkzodsTIzyepXb7kVMGmC34wDisMJUrksVkfY2w==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/label": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.5.0.tgz", + "integrity": "sha512-sNiPYiFg06s1zGuifEUeUqRiYje0lfHem+GIUh0Y5ZxfpqIyxEmyV9Aw+C7TTjjo8BAG4NZ4bR7iF9ujf9QvKQ==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/label": "^3.7.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/link": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.4.0.tgz", + "integrity": "sha512-d/h4y7SFO+KweMX5IRU99L1jz9AAwp6mNStkBjYGxCD29QYTVWClpZHjRlO1s6a9e2QTpk/LzsvjiytowzfHyA==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/link": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/listbox": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.8.1.tgz", + "integrity": "sha512-kTIQWms6nS//GWr63gSVcNgZv7uf5RULLTKH3DIpmaftS3Kf4Sds6rspWGYQ9PAeS1EqcuHozsXXlKBo1upYgg==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/list": "^3.7.0", + "@react-types/listbox": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/live-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.2.0.tgz", + "integrity": "sha512-uSqDDy+9CbmNTZh0Roi4dvWKWcbuMTYKh3RnUw3XBPw0aYxSkcFQeWGfxFoOwXCDcXez02cFJtAxpR2bShkrsw==", + "dependencies": { + "@swc/helpers": "^0.4.14" + } + }, + "node_modules/@react-aria/menu": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.8.1.tgz", + "integrity": "sha512-p8DF/muxbTr/SOZh3FDFPcWUcnXvpwMKyR+xKXQQPbCV/LAiSjVtwxbNVvubqvzR0Qk6/XV4/HUY2r+4tnT8tQ==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/overlays": "^3.13.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/tree": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/menu": "^3.8.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/meter": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.0.tgz", + "integrity": "sha512-2CqpTwkZ1Vnblqd+z+mP+3ZhQRg3oNkz7GxN9nRLTDrpxVLY+WtSeIGDK7x8EwmYrVo4q4wHl3DGa2VOLNNgVA==", + "dependencies": { + "@react-aria/progress": "^3.4.0", + "@react-types/meter": "^3.3.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/numberfield": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.4.0.tgz", + "integrity": "sha512-gZMZAjE+tcwtdDW5X5rlot7ihir1OCCEyzbIDFztte2h+I57b45ET9P4AmgrmqfOnyscPXI3kJn9eILNYHdZVw==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/spinbutton": "^3.3.0", + "@react-aria/textfield": "^3.9.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/numberfield": "^3.4.0", + "@react-types/button": "^3.7.1", + "@react-types/numberfield": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@react-types/textfield": "^3.7.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/overlays": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.13.0.tgz", + "integrity": "sha512-hRZyhAYzrlCcEWQ2k2jP24b0wc5/355Xl5w5FZHRmPeU1U4XlFwKX/eFlBs/li9Sprm1bTDXrCY480Kl6UsKDA==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-aria/visually-hidden": "^3.7.0", + "@react-stately/overlays": "^3.5.0", + "@react-types/button": "^3.7.1", + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/progress": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.0.tgz", + "integrity": "sha512-G8Wew/EjgzoBM6OOAtVinA0hEng/DXWZF7luCoMPuqSKOakFzzazHBMpmjcXku0GGoTGzLsqqOK1M5o3kDn4FA==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/progress": "^3.3.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/radio": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.5.0.tgz", + "integrity": "sha512-d/Hxdu+jUdi3wmyaWYRLTyN16vZxr2MOdkmw8tojTOIMLQj7zTaCFc0D4LR4KZEn3E0F5buGCUHL6o4CTqBeBA==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/radio": "^3.7.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/searchfield": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.5.0.tgz", + "integrity": "sha512-eAsOiTBUeD8OiRyXUbU6fWzkEO5ERAODZJtv4yGcMdTjtKJW4jxeRwc6GXMKF3hDvdz7Y9NV6YfMCICSiVSFYg==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/textfield": "^3.9.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/searchfield": "^3.4.0", + "@react-types/button": "^3.7.1", + "@react-types/searchfield": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/select": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.9.1.tgz", + "integrity": "sha512-SL+OZHhNLXAyX4FPP2uYj1+igB7t+pxoccO4qfrewbwPG8ext3bYx/gRQKc5A+chCY1ERIG9EQQo1vU/bZRQVA==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/listbox": "^3.8.1", + "@react-aria/menu": "^3.8.1", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-aria/visually-hidden": "^3.7.0", + "@react-stately/select": "^3.4.0", + "@react-types/button": "^3.7.1", + "@react-types/select": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/selection": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.13.1.tgz", + "integrity": "sha512-YI5mFkk3JI3Ec01SzyBFGrdPInkoW5B0AavwLkN5QtehBUgdw9A1gPKADW4tiLfKUOl0rkqstP13n+v/GcBoTg==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/separator": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.3.0.tgz", + "integrity": "sha512-AR3Pbik83dygOvmfBiCTRAHz+B13yyGz8nKyw521toT69RMtJTi8ha8qB6Iw1QP3YZWRv+Fn6WWrfGIvR+f2XQ==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/slider": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.3.0.tgz", + "integrity": "sha512-UgR2XEI3vrJAQU1RVC+1uHVr/vFcVh+Cjt/kaFUO7fdj8usqa4JOnIuX+QKCysiVLJc7IEXw4RCJBJYBSUYK6A==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/radio": "^3.7.0", + "@react-stately/slider": "^3.3.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@react-types/slider": "^3.4.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/spinbutton": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.3.0.tgz", + "integrity": "sha512-FXTFNz2RFClqGxQzMIHYdsjkm6fcWRObqelY+lXP5udk7Q8T9aQn+28QhqVpbOFXotLE2PltElbziJeuhkVgNA==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/utils": "^3.15.0", + "@react-types/button": "^3.7.1", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.5.0.tgz", + "integrity": "sha512-h0MJdSWOd1qObLnJ8mprU31wI8tmKFJMuwT22MpWq6psisOOZaga6Ml4u6Ee6M6duWWISjXvqO4Sb/J0PBA+nQ==", + "dependencies": { + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/switch": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.4.0.tgz", + "integrity": "sha512-FWbjqNcY+fAjRNXVQTvOx93udhaySgXLsMNLRAVUcFm45FqTaxAhHhNGtRnVhDvzHTJY/Y+kpcGzCcW2rXzPxg==", + "dependencies": { + "@react-aria/toggle": "^3.5.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/switch": "^3.3.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/table": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.8.1.tgz", + "integrity": "sha512-21cewiqA7Wmco6baAZKHEIXTmmtwAAPkmdXnua+Ysc+18ry3Sd1GaIvFkDRSwqIH43xWtXJhlHkWhJcKxle+Xg==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/grid": "^3.6.1", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/live-announcer": "^3.2.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/table": "^3.8.0", + "@react-stately/virtualizer": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/tabs": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.4.1.tgz", + "integrity": "sha512-0dS26zcmNq1ERKy3kHOD465UegOBCZEHsM3+jxrMBONyG76tACyNNRyMOm0sk5h3XLravBJR/uySRhAtvBEi0w==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/selection": "^3.13.1", + "@react-aria/utils": "^3.15.0", + "@react-stately/list": "^3.7.0", + "@react-stately/tabs": "^3.3.0", + "@react-types/shared": "^3.17.0", + "@react-types/tabs": "^3.2.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/textfield": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.9.0.tgz", + "integrity": "sha512-plX+/RDidTpz4kfQni2mnH10g9iARC5P7oi4XBXqwrVCIqpTUNoyGLUH952wObYOI9k7lG2QG0+b+3GyrV159g==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/label": "^3.5.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@react-types/textfield": "^3.7.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-K49OmHBmYW8pk0rXJU1TNRzR+PxLVvfL/ni6ifV5gcxoxV6DmFsNFj+5B/U3AMnCEQeyKQeiY6z9X7EBVX6j9Q==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/toggle": "^3.5.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@react-types/switch": "^3.3.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/tooltip": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.4.0.tgz", + "integrity": "sha512-b1E9m6WIPNV0TNRn9VNBnDn1FFt/pwKGtIGDDablLArEmSkkz0HJjwlUqC4+vL0U2dCaQA4TxWl9GDQE7Wzl8w==", + "dependencies": { + "@react-aria/focus": "^3.11.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/tooltip": "^3.3.0", + "@react-types/shared": "^3.17.0", + "@react-types/tooltip": "^3.3.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.15.0.tgz", + "integrity": "sha512-aJZBG++iz1UwTW5gXFaHicKju4p0MPhAyBTcf2awHYWeTUUslDjJcEnNg7kjBYZBOrOSlA2rAt7/7C5CCURQPg==", + "dependencies": { + "@react-aria/ssr": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/visually-hidden": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.7.0.tgz", + "integrity": "sha512-v/0ujJ67H6LjwY8J7mIGPVB1K8suBArLV+w8UGdX/wFXRL7H4r2fiqlrwAElWSmNbhDQl5BDm/Zh/ub9jB9yzA==", + "dependencies": { + "@react-aria/interactions": "^3.14.0", + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14", + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/calendar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.1.0.tgz", + "integrity": "sha512-PZXXHyrLoYEUAUL8oFoxHNc7mKrQXLxnYQkY9v3a6SxgST3J4tYoqIXrie0uqpm1LI+1JfKb2lyRGlVPRTBuNQ==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@react-stately/utils": "^3.6.0", + "@react-types/calendar": "^3.1.0", + "@react-types/datepicker": "^3.2.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/checkbox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.4.0.tgz", + "integrity": "sha512-zqwHMmlzza1exS6Bbqj4Mom3ygtG8pLguHweZ9OO7BFQLwBmzJsrFNqDcj7xh8iEWxXKQfZ2YOuhkaGvu4GRjA==", + "dependencies": { + "@react-stately/toggle": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/collections": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.6.0.tgz", + "integrity": "sha512-znkaqCPo7F1yyzEKDAB5MpX1Vw5UHcUQhDNrys5YOqAkX6/G/AChnBz0B63UxS3fjyqgnuJylRRmUp9nTqO21w==", + "dependencies": { + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/combobox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.4.0.tgz", + "integrity": "sha512-QVKNosNqSS7PnjrNVrGat9KKlCcv7e3nTehQuIu18ZE2JVH7Jdf/73zkSMurrnQfbPVeiHkGK1deWqrzoNzYQQ==", + "dependencies": { + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/select": "^3.4.0", + "@react-stately/utils": "^3.6.0", + "@react-types/combobox": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/data": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-stately/data/-/data-3.9.0.tgz", + "integrity": "sha512-67zP/QkVInsU9wtKVj1b0MwaogDCC15eEe9/ULRf6xmaw0m6VOfm/Rz4Y9OvR8cQd5o+ImuAeRYEorRJ59yK5w==", + "dependencies": { + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/datepicker": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.3.0.tgz", + "integrity": "sha512-HH/WPAMXwULyBKHICxTLGDk3cPGf9Yhf8sX2DES935aupd+6YqzQrh97buOedKsF5WKZfzMMtUVqy8uepo6S6g==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@internationalized/string": "^3.1.0", + "@react-stately/overlays": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/datepicker": "^3.2.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/dnd": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.1.0.tgz", + "integrity": "sha512-PctHJqRm37vdKs91vB18lfdas4CypStbgj6ENApUXSDLd8XrVgthH4sYrX1BX/RbZyCr7u+TG7qVKGcRfsvbTw==", + "dependencies": { + "@react-stately/selection": "^3.12.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/grid": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.5.0.tgz", + "integrity": "sha512-kCmO2KyHoIJWiCqUXJTD0I/4q/6h3pXGdyD4tWmqWdysxf+x09K/Mx/JwwFqee5LICZgt8MtBrfV+ijLZ8mQAg==", + "dependencies": { + "@react-stately/selection": "^3.12.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/layout": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-3.11.0.tgz", + "integrity": "sha512-QNupEFgIv5hqYEbLxDQfHgBkfk6t1VTTxWftBZMXXJEVCC1GH8vUJ35BJGO7hQNhPoTp3xc3X7yEcBlXy1ZmlA==", + "dependencies": { + "@react-stately/table": "^3.8.0", + "@react-stately/virtualizer": "^3.5.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/list": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.7.0.tgz", + "integrity": "sha512-/BxCqXFjX9P+OJWjIYmUWaOGJ2hlZHUdymVwZPkIWdO9K7069LWckdYFXRqLFMwIGLUcXVfw4jR0BIQqWlR4eA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/menu": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.0.tgz", + "integrity": "sha512-JL6TcT+SbYdlxNLOS84SXp6njDNZuXfkt05o4rS51evmjM2+hlYaB9+yUMqrCb/J2nW7vVAg51TDAhLgmGTYKg==", + "dependencies": { + "@react-stately/overlays": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/menu": "^3.8.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/numberfield": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.4.0.tgz", + "integrity": "sha512-R+LjwRpspttiO0tZ8KikXu184D3HZJG37jVcp/yM1jyMURmQHWfjjR6PHuD66PSV5PtM2KQlBj6PGvDLg1UwlQ==", + "dependencies": { + "@internationalized/number": "^3.2.0", + "@react-stately/utils": "^3.6.0", + "@react-types/numberfield": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/overlays": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.5.0.tgz", + "integrity": "sha512-r+U/G0Y4tCfI5wyBeIu+hmcZVRN8ChoK2zM1srPH9nDKsijQard2goX+9YmKng2LJ01Re/P6F8S8jYbpfEdLfQ==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/overlays": "^3.7.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/radio": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.7.0.tgz", + "integrity": "sha512-TKyR6RfX1qZRPAxVWIKMTt2s3J+IlxFZHykiEl85gHBmABSWW4JO4RjkgcmbaAGLAhu1pJU8ktJOyi+MyndpHA==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/radio": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/searchfield": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.4.0.tgz", + "integrity": "sha512-aaQLczPUIJwTGlllALT49RSvWY55oqmJWhLL7j3hnL1cNV0WmkmoSdAo7drDaux5vkgkurxuwMEZ8ymFYeZ+Nw==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/searchfield": "^3.4.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/select": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.4.0.tgz", + "integrity": "sha512-thSqD3apMCSgZgKtqHKGVIQRyvG8l0supIuzJicBwq6xg+J8X5muPCZgchCSNmU6im/l81XXE8LGuHGgMilORA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/select": "^3.7.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/selection": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.12.0.tgz", + "integrity": "sha512-qgUaPwqtAl7YaZxxGdb55ZaVuMB1rG+Vr+9fgG8dPtDYCNaPeIlg7ndC4ylzDhCWIx8D5qZotcrqCA4+93TwdA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/slider": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.3.0.tgz", + "integrity": "sha512-17aGJYHBRY3g4ZeiIgCNOvYl3HBARvSJhUKoNxZMRa2pqREW+WmBRRAXv5KTymW/KfcGb0RCq1ytYsderEgZAQ==", + "dependencies": { + "@react-aria/i18n": "^3.7.0", + "@react-aria/utils": "^3.15.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@react-types/slider": "^3.4.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/table": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.8.0.tgz", + "integrity": "sha512-WmOcW9+4zm6MQZxYEC77u5HMxTcvcotkFptohHd0YtHXx+z5iwClCVKKFG2mc5lE+K4iQE41Q56nVKLjAu+TsA==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/grid": "^3.5.0", + "@react-stately/selection": "^3.12.0", + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0", + "@react-types/table": "^3.5.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/tabs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.3.0.tgz", + "integrity": "sha512-Kf47+aXGf4NvnREMDqH+uuTa0QsYCxOp0poywR8lRPmYsL7V8yrTS2wXQnDL7cq8PXbL5v+ew0xmrV+BiUlNRg==", + "dependencies": { + "@react-stately/list": "^3.7.0", + "@react-stately/utils": "^3.6.0", + "@react-types/tabs": "^3.2.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/toggle": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.5.0.tgz", + "integrity": "sha512-vKwLLkFsiIve4pXIQC/dqLAz7Z+qtzJ8+D00EXXO1Nf8YHcyIMDkTmi3NTM8Qtvmt4xX2hbJFiPDF6WvF6mBIg==", + "dependencies": { + "@react-stately/utils": "^3.6.0", + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/tooltip": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.3.0.tgz", + "integrity": "sha512-cYg4zKUc0y71L5OO5DyaCoh248A7wvXAU6VGMhppPGx+iPoWJMLBBdEJjf8Oa12NGxNv9SC5lTcv6js2k4+WwQ==", + "dependencies": { + "@react-stately/overlays": "^3.5.0", + "@react-stately/utils": "^3.6.0", + "@react-types/tooltip": "^3.3.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/tree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.5.0.tgz", + "integrity": "sha512-5+MzMQUFq3+lbGkZC0SlcIDrYmPvxBKuC8xL5W6SuFekbrrxrS6IJexRe4QulaaAliDpX2/9DVZTt38eVfyf0A==", + "dependencies": { + "@react-stately/collections": "^3.6.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/utils": "^3.6.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.6.0.tgz", + "integrity": "sha512-rptF7iUWDrquaYvBAS4QQhOBQyLBncDeHF03WnHXAxnuPJXNcr9cXJtjJPGCs036ZB8Q2hc9BGG5wNyMkF5v+Q==", + "dependencies": { + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/virtualizer": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.5.0.tgz", + "integrity": "sha512-Jjk7V2T9uJ2+1EaVY+v1SJYeKb9dvZKayP35bcUq8/y9+I41kNE+qmgnkr5/SVzkExu4YeZTFxtuOm4l8UX5jg==", + "dependencies": { + "@react-aria/utils": "^3.15.0", + "@react-types/shared": "^3.17.0", + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/breadcrumbs": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.5.0.tgz", + "integrity": "sha512-Nd95NnLhrSw8Eaf2nsgAz23BT/ww6m2d2GS/gT7NxkCcqWK8Dpv8+e+JSbO7CUkHJApm76FtRz16JCdltj4CeQ==", + "dependencies": { + "@react-types/link": "^3.4.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/button": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.7.1.tgz", + "integrity": "sha512-c+8xjmqWSjI5/mEHVLbVSp0eh/z2UU8Ga+wqjbEUZUjm8uopYj1PaCAwZ7YgcAebyQrL/21GyjK6tFHKzuUdJQ==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/calendar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.1.0.tgz", + "integrity": "sha512-6VKBxG27cLKti8Ik+T2N1y6FqJSgIXuQPMehOA1ASqPQLtnRBEoSgLjuN5qj7RTWgmdTvQmofqVznVFoUe5ozQ==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/checkbox": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.4.2.tgz", + "integrity": "sha512-/NWFCEQLvVgo25afPt2jv4syxYvZeY/D/n2Y92IGtoNV4akdz4AuQ65+1X+JOhQc/ZbAblWw5fFWUZoQs3CLZg==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/combobox": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.6.0.tgz", + "integrity": "sha512-tfZtZ12Kf2bKt3EcFKWcUxrLNc61Y1CGynsOQ/KvHTFwlLTTtKnt/wWuf4kxdqlTK7dDqJzWRGWKlWx6eKlx3w==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/datepicker": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.2.0.tgz", + "integrity": "sha512-wcxLI6aW+r6nO2bsypxMIaWJHG5YYAD7WtJmhR5n5GK5juUCu/hzKBhdwxE1qtD3kMvIKTDJkMXLVNGmJP0mFw==", + "dependencies": { + "@internationalized/date": "^3.1.0", + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/dialog": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.0.tgz", + "integrity": "sha512-QsHqAK8zE4QSCQTJcRm/e6vweSE8S62o4GGvm+e+crMro/doA4it1Y4udE94Yy3WyDQEMFxyfd2P1Q6bI9JuyQ==", + "dependencies": { + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/grid": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.1.6.tgz", + "integrity": "sha512-j6dO5KgkuIbIhEZYSxd86ZomohCyv3VNQhY2qBHlRoxZs0976komauEOjOpMOu0PxwsFGUgUFqlKOtc34f1SHQ==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/label": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@react-types/label/-/label-3.7.2.tgz", + "integrity": "sha512-UlsIvxQjBMl9WwJw1bYoJMwiPvYwRsSLl2yoeeGfGr6IaYn5T/2kzBhDLwe5cpKrmi4Mehn1rbReFLGITOy8+g==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/link": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.4.0.tgz", + "integrity": "sha512-eImWLzxwzSmjOLa0Ow3HJaguyDCz98191v2pb7nT/zPzGDnhHhDjxB023hrXVUoCbsWrCb5QLp91Ts+VjiCyTA==", + "dependencies": { + "@react-aria/interactions": "^3.14.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/listbox": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.0.tgz", + "integrity": "sha512-OvHaX4EBRHxKrfFItdJXjY7dYomzejqJ87P5fTL1l1TbDX8gvEP014S3cI+VLQq+EsXeTZ8E/sx0tFUo7ilchA==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/menu": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.8.0.tgz", + "integrity": "sha512-1nwGUwKNHJf60vOsg7p48NPQIzMsSprxw8VXfStr8eE5uU4vvKfVNQNUgvpkRmHmel8BrYdh1WnERXJJ3yKUgQ==", + "dependencies": { + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/meter": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.3.0.tgz", + "integrity": "sha512-/IAHquSb+tC/YjcXdcYinFTb7puakkQWzNwS4lkhisIoZ0K0Ym/3fat/nzjgG9s2+sqQrW6f3Ndp9GCfSzvHLg==", + "dependencies": { + "@react-types/progress": "^3.3.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/numberfield": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.4.0.tgz", + "integrity": "sha512-3kKkCFJ9cqCHuoz2BWy3DZLg6SQzqjzbO3DvNTrORd2k7bsI0Ydlfsz1rkCU53GStqovgopX4jo6EZLeRfv05Q==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/overlays": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.7.0.tgz", + "integrity": "sha512-LstucncZ8dM+xJYEijI1V6jGH20w5XO/T60r7JTrgQElMC86phPeoWkMTN4c2lsRikybolDbvXL6XsF76YO56A==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/progress": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.3.0.tgz", + "integrity": "sha512-k4xivWiEYogsROLyNqVDVjl33rm+X9RKNbKQXg5pqjGikaC8T9hmIwE4tJr26XkMIIvQS6duEBCcuQN/U1+dGQ==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/radio": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.4.0.tgz", + "integrity": "sha512-klgEU+987xVUCRqBoxXJiPJvy0upfo76dFnK5eF7U7BzcxhuiFeLDUcqUHtK92Cy5QOiDAF2ML0vUYGIabKMPA==", + "dependencies": { + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/searchfield": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", - "dev": true - }, - "node_modules/@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", - "dev": true, + "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.4.0.tgz", + "integrity": "sha512-rYupNbyBAjycx6SXCALjINj/nOx7lIq9f4Dk1xo1dd8X6yYU0EF4WlahNua7UV8JC5oYlxN40G7yi4lAS+CdWQ==", "dependencies": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@react-types/shared": "^3.17.0", + "@react-types/textfield": "^3.7.0" }, "peerDependencies": { - "react": ">=16" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@ndelangen/get-tarball": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.7.tgz", - "integrity": "sha512-NqGfTZIZpRFef1GoVaShSSRwDC3vde3ThtTeqFdcYd6ipKqnfEVhjK2hUeHjCQUcptyZr2TONqcloFXM+5QBrQ==", - "dev": true, + "node_modules/@react-types/select": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.7.0.tgz", + "integrity": "sha512-BaynMuW0dQ9ModFzW291+3n1D9bwKSFh03g3+1PvhRcBg1EXq1vFyfFBj4uuBymI0T7oCbnjGh19xo0vKIYRrA==", "dependencies": { - "gunzip-maybe": "^1.4.2", - "pump": "^3.0.0", - "tar-fs": "^2.1.1" + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", - "dev": true, + "node_modules/@react-types/shared": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.17.0.tgz", + "integrity": "sha512-1SNZ/RhVrrQ1e6yE0bPV7d5Sfp+Uv0dfUEhwF9MAu2v5msu7AMewnsiojKNA0QA6Ing1gpDLjHCxtayQfuxqcg==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/slider": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.4.0.tgz", + "integrity": "sha512-Kj+B6njpm4ltiu3gCBOPRnbzllV21IVr0bCQdNnWcf5DX8aN4VdI8EFkTz0DSwMm2WPCwZop0MDWDoRwXJK1ng==", "dependencies": { - "eslint-scope": "5.1.1" + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "node_modules/@react-types/switch": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.3.0.tgz", + "integrity": "sha512-6h+s//PwWf7/WJQOZKT6k1vdOQCcvPmMZW333AqyxtZX8WV8Q0illgcLMYo5qxT3IWsjYNuPIqMCY+tRbSeA2Q==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@react-types/checkbox": "^3.4.2", + "@react-types/shared": "^3.17.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" + "node_modules/@react-types/table": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.5.0.tgz", + "integrity": "sha512-/Mvn1MQbdnk7i6ivam8kdIh2PKF9GD3A7KC8v1E4JNAgsbOzOkt5JC4PMc1EtAK2eppMEKTN+B84oHKMl1F8Hg==", + "dependencies": { + "@react-types/grid": "^3.1.6", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "node_modules/@react-types/tabs": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.2.0.tgz", + "integrity": "sha512-rOQm+JDYcGV+HE/EQ23vr6J3tqvXjFiDA107rU7n4B4mNjJ46k5gOhPdGTosv6wr1+Tp7XD5XMaFfqk+O0/ZZw==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@react-types/shared": "^3.17.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@pkgr/utils": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", - "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", - "dev": true, + "node_modules/@react-types/textfield": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.7.0.tgz", + "integrity": "sha512-4Rqld8VZG324hecw6bqGY2gta1gm5sDhO48nyChfdmjVlFHXLDKazAcrgP76uSmUI6tffUPj3eYxQyTp5uLhyQ==", "dependencies": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" + "@react-types/shared": "^3.17.0" }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/tooltip": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.3.0.tgz", + "integrity": "sha512-TMaKkjYbysZbMnY8zjI2Djh8QMHvB8LoN9EjOZX++3ZsO74CeCeOoGARh6+4c0Bu5rg4BXhNyi+y1JL3jtUEBg==", + "dependencies": { + "@react-types/overlays": "^3.7.0", + "@react-types/shared": "^3.17.0" }, - "funding": { - "url": "https://opencollective.com/unts" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, "node_modules/@rollup/pluginutils": { @@ -3235,19 +4667,19 @@ "dev": true }, "node_modules/@storybook/addon-actions": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.0-rc.1.tgz", - "integrity": "sha512-vnKcbsbJVCOsr7YHmInvZSuAxU4iUP+4CPqZbYuZ7MUN3hKLry2e8y41zZU7VbuVbPhxJf4o0HBtlsENxmsIVw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.0-rc.3.tgz", + "integrity": "sha512-kyPuSN/PzBnW3w9D/KBEmMqfeGpBeY6Ha2VVPz3BBqcWSHfw0AbHFqvnqluubaHZl1VokE88QT6RxkdyBg33uw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -3275,19 +4707,19 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.0-rc.1.tgz", - "integrity": "sha512-lXFpDzKuZwWhbbuCvWXcljpSOj1k4JlDgbwDJ29tqz3zpiagoHsvZDeHi7ef0HVDZngrhNWHT+9xisLq7mz1Ng==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.0-rc.3.tgz", + "integrity": "sha512-6qIwuNwzLFdsLCjj5rO6TCaBvAGUYbrLpw2EQyKg5J/5GxqhMU/HsinCViok2VEn/z45vji9FI1W6bmo7t4LNQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "memoizerific": "^1.11.3", "ts-dedent": "^2.0.0" }, @@ -3309,20 +4741,20 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.0.0-rc.1.tgz", - "integrity": "sha512-SpHBN+Ig5e3CpYXksv2KP0GQq5XkVUzuIPJZvA+nEhlCxWlMKFTW0zelJHgJd5OPHKokph/24TVhTgPiHFH35A==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.0.0-rc.3.tgz", + "integrity": "sha512-16E0AJ1+psFDbL6abOfLFg0zWhUQeJjcM3RKEzJjYZEBuKKL86LAvKhnlkyCUW3VlLN23V0akY6Gev81DR/BfA==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -3344,28 +4776,28 @@ } }, "node_modules/@storybook/addon-docs": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.0.0-rc.1.tgz", - "integrity": "sha512-cSVTlvVw9CGaJOVbHoth7swP4B2MDt2zhEw9/tOyBZd2hzhdktm2sS65X2lT+Pxc6HdNM6utivO0xrbl6Toizg==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.0.0-rc.3.tgz", + "integrity": "sha512-UPy+o7IBly2TgCQ7hviaExq++KQSPS7/+/8iLUdv81mtRm3hMBMARmom+wjXfciGHp1re1bazQQYoDsOcorDhA==", "dev": true, "dependencies": { "@babel/core": "^7.20.2", "@babel/plugin-transform-react-jsx": "^7.19.0", "@jest/transform": "^29.3.1", "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/csf-plugin": "7.0.0-rc.1", - "@storybook/csf-tools": "7.0.0-rc.1", + "@storybook/blocks": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/csf-plugin": "7.0.0-rc.3", + "@storybook/csf-tools": "7.0.0-rc.3", "@storybook/global": "^5.0.0", "@storybook/mdx2-csf": "next", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/postinstall": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/react-dom-shim": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/postinstall": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/react-dom-shim": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "fs-extra": "^11.1.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", @@ -3387,24 +4819,24 @@ } }, "node_modules/@storybook/addon-essentials": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.0.0-rc.1.tgz", - "integrity": "sha512-bEkSBQxoAhOazi0Aj1sa574z+EeUiLefUfOmsh0h5HilMwOBji/5nkw5bBJJIX74o8PUiIOTrsV8gZHF2vIruw==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.0.0-rc.1", - "@storybook/addon-backgrounds": "7.0.0-rc.1", - "@storybook/addon-controls": "7.0.0-rc.1", - "@storybook/addon-docs": "7.0.0-rc.1", - "@storybook/addon-highlight": "7.0.0-rc.1", - "@storybook/addon-measure": "7.0.0-rc.1", - "@storybook/addon-outline": "7.0.0-rc.1", - "@storybook/addon-toolbars": "7.0.0-rc.1", - "@storybook/addon-viewport": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.0.0-rc.3.tgz", + "integrity": "sha512-RLA1RgjwuDsRKp2QjBAx2XsgTZ+Dura2k8xCTyBLf0yxnleC8hiAxLwTJSSdDEUuiXxWsBbu0vhHzYnCCVTDnw==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.0.0-rc.3", + "@storybook/addon-backgrounds": "7.0.0-rc.3", + "@storybook/addon-controls": "7.0.0-rc.3", + "@storybook/addon-docs": "7.0.0-rc.3", + "@storybook/addon-highlight": "7.0.0-rc.3", + "@storybook/addon-measure": "7.0.0-rc.3", + "@storybook/addon-outline": "7.0.0-rc.3", + "@storybook/addon-toolbars": "7.0.0-rc.3", + "@storybook/addon-viewport": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", "ts-dedent": "^2.0.0" }, "funding": { @@ -3417,14 +4849,14 @@ } }, "node_modules/@storybook/addon-highlight": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.0.0-rc.1.tgz", - "integrity": "sha512-qQMntEFAikvS7RvRbeBFUIPN70sOi9f2byRFl6KMh7onrf+FfXWRPt38pk3Eq+t/kC55mu6m+8wHOiS63DM0BA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.0.0-rc.3.tgz", + "integrity": "sha512-MeFIKfDpFrF33TPdl2ko2rie485AhfG2n0MFXA73L8Yzj5JPV+LVNa5eIKUUFyOMUGSkVjfFS6n63F08eqHbCw==", "dev": true, "dependencies": { - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.0.0-rc.1" + "@storybook/preview-api": "7.0.0-rc.3" }, "funding": { "type": "opencollective", @@ -3432,21 +4864,21 @@ } }, "node_modules/@storybook/addon-interactions": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.0.0-rc.1.tgz", - "integrity": "sha512-/yQ6oSp3K9a19G1bf4AKapk2SkkUtw/wfuVzAXBNnBvajXgGyvXVul1Bo3AT/DRXeqEczjNXRQYZaadpwHMuyA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.0.0-rc.3.tgz", + "integrity": "sha512-OPkdKknNWqE0T9GtL0Yca7LMndBqiCge+0y+6yWj8yGfFdykW8hQjn4XJqyKL/YrIO8v4lwvg8XDPos0PgIMUA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "7.0.0-rc.1", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/instrumenter": "7.0.0-rc.3", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "jest-mock": "^27.0.6", "polished": "^4.2.2", "ts-dedent": "^2.2.0" @@ -3469,19 +4901,19 @@ } }, "node_modules/@storybook/addon-links": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.0.0-rc.1.tgz", - "integrity": "sha512-U/VEN/Vr3wKx3PtQA1DNXdeyRu41WPbqjub6NguGRVqeSTLYJoOT1HbXZS9Nl+/6E43hS/nfJARnwr3Q+FglZg==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.0.0-rc.3.tgz", + "integrity": "sha512-K2PMxVooGAgb8hCEU2oGUMzKjPLEPACH8NcRLs/fz9PKadepmijY0hBDC50SGkZd2HWSxXxyt6d5WaXTxhP8aw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/csf": "next", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/router": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/router": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "prop-types": "^15.7.2", "ts-dedent": "^2.0.0" }, @@ -3503,18 +4935,18 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.0.0-rc.1.tgz", - "integrity": "sha512-CxIsNzVD3BVvHK32C57TuuHRD+ZENNlk9fn6zOnQx448NRHASxoHDPurqpxbT0YCBmlxBA9vIbViPhHPK10VFQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.0.0-rc.3.tgz", + "integrity": "sha512-N0HjObHjktlgWvOQcOqyC6/vFXERHzH7aP8L1RRrSnz+mP0XDO+62eBZunlnDGu4uAECH+AV/7LO+bmTMohulg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1" + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3" }, "funding": { "type": "opencollective", @@ -3534,18 +4966,18 @@ } }, "node_modules/@storybook/addon-outline": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.0.0-rc.1.tgz", - "integrity": "sha512-BGGci/VjklLXe4gqX6wIoA7I/aCaVZ0cvrBAS82+8yoLg48wDHwEXq37F5uLUa5EEs6gnBZKacGZC4+JmpjlWw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.0.0-rc.3.tgz", + "integrity": "sha512-SocPRmzzu2wR3SiqMsPskfFumOd0Ph8MUTeJ2cwnaonqqHjjqxaEaFYio8AGmGaHLpY8PKtW0s75jU0oDh9Ezg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "ts-dedent": "^2.0.0" }, "funding": { @@ -3675,16 +5107,16 @@ } }, "node_modules/@storybook/addon-toolbars": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.0.0-rc.1.tgz", - "integrity": "sha512-8qO/LJ67EbfmANVfktaqnYKw82UePiAODRgotca55+GTfo/Ctr0eBrG4QQWF+I4Nr1ZiQ94NBlL3YceGVsgUyg==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.0.0-rc.3.tgz", + "integrity": "sha512-qnvMWZAa3ELRNiVjj1sy0dJb2GzE5fga9SbsbVQQT2zBvou2e8XbiPRw0WHdwUU2Zj9t9/PVjz2+av7P8B+Cqg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1" + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3" }, "funding": { "type": "opencollective", @@ -3704,18 +5136,18 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.0.0-rc.1.tgz", - "integrity": "sha512-vlwFATYKFlqFlLpWJU1NGPsja/t35wY39yeBEmrhE2Sm4CT7isFG4PEWMu0LpVt4dL9/dl6diYVIqEdF9LRmHw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.0.0-rc.3.tgz", + "integrity": "sha512-GXBi7f4WNeM4yvKXKYNAMLDHauTOcLpimzf1wtyVapBLpwzcJHBaJTCHQ02yIcm6mU2TFbKXMmzC1uBZcCa+5w==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", "memoizerific": "^1.11.3", "prop-types": "^15.7.2" }, @@ -3997,22 +5429,22 @@ } }, "node_modules/@storybook/blocks": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.0-rc.1.tgz", - "integrity": "sha512-zlvtCvfpMJn1++0kqQDgpbQaEykpIc/9+DKY1CxUURnaYPY2H24Nu4mXgFPHbpMcQ/KIqvJslZ5tNu6WPS6w8Q==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.0-rc.3.tgz", + "integrity": "sha512-mh4LQk2f/Q9n7Sqo6t02CspHubXmSgDY4S5vF3dTgVBM/sD0OxkAY3Pv+HTsXH36lQHYYUft7U7OfhZapgS4ng==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/components": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/channels": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/components": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/csf": "next", - "@storybook/docs-tools": "7.0.0-rc.1", + "@storybook/docs-tools": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/manager-api": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -4035,15 +5467,15 @@ } }, "node_modules/@storybook/builder-manager": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.0.0-rc.1.tgz", - "integrity": "sha512-oPnIST6erzi97U6+296J8bh7SPU+8v9mWvSqabXZqRsPpQ7nLlJK8ceCNrjfMXtgH2kI4SbSC13ORJ8DACBUjw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.0.0-rc.3.tgz", + "integrity": "sha512-aScwYA9MWtqgiD39SkcwUlrR9RFbngv7jPoOaVMdXuMgNabMNz9417L9bCwSPwgO4XZ5a/nSEbGNLfOHfBemsw==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/manager": "7.0.0-rc.1", - "@storybook/node-logger": "7.0.0-rc.1", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/manager": "7.0.0-rc.3", + "@storybook/node-logger": "7.0.0-rc.3", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -4064,21 +5496,21 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.0.0-rc.1.tgz", - "integrity": "sha512-2VQXguqZaUeToo03lY6pm/okonslO+wJl/godN1TitmDk5UQ/kWOocV3yMPQ+h+F+fShpkxSwz3nMNIVDS8+BQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.0.0-rc.3.tgz", + "integrity": "sha512-v2d04PWfcITD7zI68d7XbCbOd+5vl3gIMEX5Xdsmuw3WcaqYxvDSE8GhL6zsBhrUyygV/8xhSaaxyfv8ImM0+w==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.0.0-rc.1", - "@storybook/channel-websocket": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/csf-plugin": "7.0.0-rc.1", + "@storybook/channel-postmessage": "7.0.0-rc.3", + "@storybook/channel-websocket": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/csf-plugin": "7.0.0-rc.3", "@storybook/mdx2-csf": "next", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/preview": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/preview": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", "express": "^4.17.3", @@ -4116,14 +5548,14 @@ } }, "node_modules/@storybook/channel-postmessage": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.0-rc.1.tgz", - "integrity": "sha512-lIj0oDecEOSy6ZSNXBgWs0hqnjKudrDxuRyR0gAC5w5lZ8sMaj6er9caqaii61S4HRAcT5312RpA0V1J746hZw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.0-rc.3.tgz", + "integrity": "sha512-1uptuCjA4vAvvoxNoIJPTIpSARzJnLU7eahRhTPwELBnCH0ObqvgInge0cvbYsaTRDNV90oBbEKlxLf1Zb1BhQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/channels": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3" @@ -4134,13 +5566,13 @@ } }, "node_modules/@storybook/channel-websocket": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-7.0.0-rc.1.tgz", - "integrity": "sha512-oXUPNJWCC+IPzIlqi5aEhOH4IptP1YHF+JhwlOqznF+mlp7j3bLklu1ZaX98wq3BdxCdbwcxwvI7NUFGwFbx+w==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-7.0.0-rc.3.tgz", + "integrity": "sha512-706jopde+OZZkqsmrRuwd9utusqiKianiF8cvjAxrxogSx8LwHk8jxrEKHxHiZUEWDS3JxJoIYSV8gxH9hcjsA==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", + "@storybook/channels": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", "@storybook/global": "^5.0.0", "telejson": "^7.0.3" }, @@ -4150,9 +5582,9 @@ } }, "node_modules/@storybook/channels": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.0-rc.1.tgz", - "integrity": "sha512-hBER6gliJxsrYEbWlXNljf0/1ybIlYCtaK0Vcgqdw/zmTLG6hEbBpVnxJh56T3mD0Beng8ro9D4EkcLZGQ1LlA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.0-rc.3.tgz", + "integrity": "sha512-jaODIck+um16Fn2k1vwHK9RNk2J8hLVyzLSkoGM40TsMF5nichwI3rA6225pLk015itJbhCAi/RhaMFBI+ZtsA==", "dev": true, "funding": { "type": "opencollective", @@ -4160,21 +5592,21 @@ } }, "node_modules/@storybook/cli": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.0.0-rc.1.tgz", - "integrity": "sha512-XUIrDqMFDqtOz05laYWtWtDq2m3luFiEb0wJVbfiSBYVni0iQEzQCVzt+wiQYEwyuEkG4D84i19m5MgRAeq6yg==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.0.0-rc.3.tgz", + "integrity": "sha512-g1nWHLI1fiDK2dnLpmbhbrm6ZaAwuZkUgEGtlEQCPTHWVRZj2fJT0y5zjgBIhFpdkB/X8MZzgVxqhTJF0uX39Q==", "dev": true, "dependencies": { "@babel/core": "^7.20.2", "@babel/preset-env": "^7.20.2", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/core-server": "7.0.0-rc.1", - "@storybook/csf-tools": "7.0.0-rc.1", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/telemetry": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/codemod": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/core-server": "7.0.0-rc.3", + "@storybook/csf-tools": "7.0.0-rc.3", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/telemetry": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "@types/semver": "^7.3.4", "boxen": "^5.1.2", "chalk": "^4.1.0", @@ -4308,9 +5740,9 @@ "dev": true }, "node_modules/@storybook/client-logger": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.0-rc.1.tgz", - "integrity": "sha512-ltdDjd5wwq1xyFmA7Q7PT0Rx4Jrd0u8m0hnjnlou7qjKd7J+tqi8019oC4t5CSWRhl8lDg0QbI11LUM2SmkRMA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.0-rc.3.tgz", + "integrity": "sha512-cC7lq+S4n5fFooDCyefgTAOfipadiZskNuzsQF7drE9nQLZ8GflLdmTKK//5NQUHKPzF7r+4Q5DAK4I3nqIkxA==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -4321,18 +5753,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.0.0-rc.1.tgz", - "integrity": "sha512-JTE4voYG89p+rZsw8ZzHERxG6YfsLqKlHhB3MgPB6FQer1BPQWeC3yu67AmdLocM6hSmQXrFnmnfNBIVnrOm0g==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.0.0-rc.3.tgz", + "integrity": "sha512-P965X5g4WIBfrYMLYPQIvwp9wfIf5bnUIVgwjeGUDLDLIst6RXmHGik9MHLy2Ic/MXTsf/kwK5qY9pj95t8DZg==", "dev": true, "dependencies": { "@babel/core": "~7.21.0", "@babel/preset-env": "~7.20.2", "@babel/types": "~7.21.2", "@storybook/csf": "next", - "@storybook/csf-tools": "7.0.0-rc.1", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/csf-tools": "7.0.0-rc.3", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "cross-spawn": "^7.0.3", "globby": "^11.0.2", "jscodeshift": "^0.14.0", @@ -4346,16 +5778,16 @@ } }, "node_modules/@storybook/components": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.0-rc.1.tgz", - "integrity": "sha512-Y2j7r2OsW0pcYHumzQKn24EYHCriOO7K4a/KQ0Ed+Lr4UlOs4S2FrJiKEg1F1a7xVWAFCMZRJKYMXxCc+xRiIw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.0-rc.3.tgz", + "integrity": "sha512-PeQFr2hZvLnxLswKihw1Ro5wCqmNZeSE4q+tFdifhLVIqP/OwHG+ShiLCHQ1aEa0Z3Ub+80m7uPzg69+y9m+bQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", "@storybook/csf": "next", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -4370,13 +5802,13 @@ } }, "node_modules/@storybook/core-client": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.0.0-rc.1.tgz", - "integrity": "sha512-1m+s5Tw/DVcw6f8kWKkg8/y96neFzvuC6Xwc+J8UAe+gO0WswiyjOoDpQSipclgMAL2HkPdvUv3SlWQeizPmog==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.0.0-rc.3.tgz", + "integrity": "sha512-epUiHzFQNoEr5PYq9069SliQzHl5fVQj94aWdGZWCQPGldxiFtCNB7o32NzwwIVzXOKPzU38qg2B4738jt/1XQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1" + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3" }, "funding": { "type": "opencollective", @@ -4384,13 +5816,13 @@ } }, "node_modules/@storybook/core-common": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.0-rc.1.tgz", - "integrity": "sha512-nYgbUD2ziq6b29rh1FOu42/VtxWBl9lmfYsaqbuH94bHqvHTsOsv9AsWaZoFmMU4Sg0K4KpW9O6kbJoZgj4j2g==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.0-rc.3.tgz", + "integrity": "sha512-uUIs14+35ubRcpYwuX0OHW05tSDC5jeNEY8gv2EjcexBLeNozfGV4Tf5/ncG8glVbp8jGUlu2S3XJZoHKHDSqQ==", "dev": true, "dependencies": { - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", "chalk": "^4.1.0", @@ -4416,9 +5848,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.14.tgz", - "integrity": "sha512-wvzClDGQXOCVNU4APPopC2KtMYukaF1MN/W3xAmslx22Z4/IF1/izDMekuyoUlwfnDHYCIZGaj7jMwnJKBTxKw==", + "version": "16.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.16.tgz", + "integrity": "sha512-ZOzvDRWp8dCVBmgnkIqYCArgdFOO9YzocZp8Ra25N/RStKiWvMOXHMz+GjSeVNe5TstaTmTWPucGJkDw0XXJWA==", "dev": true }, "node_modules/@storybook/core-common/node_modules/ansi-styles": { @@ -4474,9 +5906,9 @@ } }, "node_modules/@storybook/core-events": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.0-rc.1.tgz", - "integrity": "sha512-kp5p7U8H4X+XnJwzm3S9UM1vOREZ/bziQ34882FevPq7HaAQ5JI7p9gQO50JdTbDoe8gtn8cgfzxSkqO6FlY1w==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.0-rc.3.tgz", + "integrity": "sha512-EBihNmxxiIJbPt6OhCTXFPl2T/9OXNVKtsy8hchBNEzp+UJGyeHx+t9K6tRvbcmt5TG/y7C7ZsYx9U28JTwNkg==", "dev": true, "funding": { "type": "opencollective", @@ -4484,25 +5916,25 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.0.0-rc.1.tgz", - "integrity": "sha512-2V+U8xouwTjTyrlvw8BRz0oY1pAlSTPBmesC7tGLPeSStG21dDPYy95a4jyTnOmfW2KqmIER4sFKNPID8/BwFA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.0.0-rc.3.tgz", + "integrity": "sha512-211514C7w8hvu/bLP97KdF7TM8FpcchgDAhldODDvKFyxFTHMcQFj3ABlptsWFO6JxZsy32hG8qi6phFUtceQA==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.88", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/builder-manager": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/csf": "next", - "@storybook/csf-tools": "7.0.0-rc.1", + "@storybook/csf-tools": "7.0.0-rc.3", "@storybook/docs-mdx": "next", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.0.0-rc.1", - "@storybook/node-logger": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/telemetry": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/manager": "7.0.0-rc.3", + "@storybook/node-logger": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/telemetry": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", "@types/node-fetch": "^2.5.7", @@ -4539,9 +5971,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.14.tgz", - "integrity": "sha512-wvzClDGQXOCVNU4APPopC2KtMYukaF1MN/W3xAmslx22Z4/IF1/izDMekuyoUlwfnDHYCIZGaj7jMwnJKBTxKw==", + "version": "16.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.16.tgz", + "integrity": "sha512-ZOzvDRWp8dCVBmgnkIqYCArgdFOO9YzocZp8Ra25N/RStKiWvMOXHMz+GjSeVNe5TstaTmTWPucGJkDw0XXJWA==", "dev": true }, "node_modules/@storybook/core-server/node_modules/ansi-styles": { @@ -4639,12 +6071,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.0.0-rc.1.tgz", - "integrity": "sha512-AqJr1KFz737T9YghcqPbJKhAvGgi0tgxbtvD/PpMAk2l9xdgHMdce+NGM9lsh20Xl3s6nt/gmBkjWVQtiu3pTQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.0.0-rc.3.tgz", + "integrity": "sha512-+r2m09o/5B846Q8ykDWjwPJSZXc3i4Z6vLc04SxIR/VJffF7K0Z/vFmTcPz8Qg5wFdfvy/HFqTLpaOJtVwWBdA==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.0.0-rc.1", + "@storybook/csf-tools": "7.0.0-rc.3", "unplugin": "^0.10.2" }, "funding": { @@ -4653,9 +6085,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.0.0-rc.1.tgz", - "integrity": "sha512-f76OVEwTZFTcstiy390mXRBTwh3dmJ26vpjXKsZivfN2R2atcNNbgrZAzpFbp2uIH9CB/Cv1dLpKNxS9d+zBag==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.0.0-rc.3.tgz", + "integrity": "sha512-I3QG2buAswIYVbYlstmZAamwLopW6daHj2+wrod+whTmeKShp0rbOrVkU0M3Hpj9CVzFM1/4YqCNOBkS2XTnsw==", "dev": true, "dependencies": { "@babel/generator": "~7.21.1", @@ -4663,7 +6095,7 @@ "@babel/traverse": "~7.21.2", "@babel/types": "~7.21.2", "@storybook/csf": "next", - "@storybook/types": "7.0.0-rc.1", + "@storybook/types": "7.0.0-rc.3", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -4680,15 +6112,15 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.0-rc.1.tgz", - "integrity": "sha512-lzxEYrdkL3TQZk7+1IpIlMicCOxF+2Vnn8vz9m9zQhkx/sqgGuHMzZdukaV6SPkXFqr8PljW+r+qPLLD+PHRwA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.0-rc.3.tgz", + "integrity": "sha512-1uGIMq0+t8AUJyj0jkta7Imr3vFLkX8oRXhX5zi7znjWMhgeXKskEFujvCcz7eI1NIU9x2WvFwbtSzWDpdC/0g==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", - "@storybook/core-common": "7.0.0-rc.1", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/core-common": "7.0.0-rc.3", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" @@ -4714,16 +6146,16 @@ "dev": true }, "node_modules/@storybook/instrumenter": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.0.0-rc.1.tgz", - "integrity": "sha512-spihMm1Xb+lw1Vac5Uo+06m2jdDEhGGkM/nesXO3ZkYyNatC0IGXgU9NyELI6YCkhEprwK3MIXoo8in97Kjk+w==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.0.0-rc.3.tgz", + "integrity": "sha512-LgFLh7v4wHgalThho8BjHd0xq2Tz8EACIbKOJO/qkSvpupfE6FDROrCYGJpQHsTKWAVdZZwVIMd6A+OnPHOLyg==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/channels": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.0.0-rc.1" + "@storybook/preview-api": "7.0.0-rc.3" }, "funding": { "type": "opencollective", @@ -4787,9 +6219,9 @@ } }, "node_modules/@storybook/manager": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.0.0-rc.1.tgz", - "integrity": "sha512-8mchcpaDBZJKMoCfb2+IF6/waOQLR/7Xeish3ff8TAGTE9tD2s+S3s/z3lCiEXnBiYeW1ZEUlK3F2NTNdHfH2Q==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.0.0-rc.3.tgz", + "integrity": "sha512-8Q/vpHkvWQ/fZHRPFOgGC4Qhgpmafe9GV2QKk3yRA/p9zcW4UzP9fbL4qw6tq+5GLM/kFKArBu28ZA7L7sKB9A==", "dev": true, "funding": { "type": "opencollective", @@ -4797,19 +6229,19 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.0-rc.1.tgz", - "integrity": "sha512-1QB7H7BZeyD5hwqdYcKDm5nYTf3OyWjCL6Ggxbd4OdJHvS9h1Oz6B1cftz8YUqS8hSLGAzsffVMQBdknNj8MQw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.0-rc.3.tgz", + "integrity": "sha512-Pa+LabGYakPd9RuS8G7tCp3hPjZwGZL95Dj+yef0bM9WmYBimNjaUsqVJOGttuE4TLXjUIU9+58YImN7QrGfbQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/channels": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/csf": "next", "@storybook/global": "^5.0.0", - "@storybook/router": "7.0.0-rc.1", - "@storybook/theming": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/router": "7.0.0-rc.3", + "@storybook/theming": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -4867,9 +6299,9 @@ "dev": true }, "node_modules/@storybook/node-logger": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.0.0-rc.1.tgz", - "integrity": "sha512-I9EnR4JT2ROKx7Aa2nSMoZxwi5kPg21GFCjt6Xo3SHFIzoSaeFNAV0tCZobE5aBOZuNEAwLbwKqvgd7gh19Iig==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.0.0-rc.3.tgz", + "integrity": "sha512-ViWIJUdFUTrFtcoO88T3h55ryjl73aMNyn8vPvIgejJoJfYMTB5ErI4zLquN23HNc+H9AKKm/qMFFSf9xjGORQ==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -4935,9 +6367,9 @@ } }, "node_modules/@storybook/postinstall": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.0.0-rc.1.tgz", - "integrity": "sha512-MdIgQw26uVMd5Z5DrbTsb3ObsRhISc7vpY32dF5bdW0acXZA61bjHp4FG/UlHEJ6sqiWXrA7PSUIGUUR9TOtcQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.0.0-rc.3.tgz", + "integrity": "sha512-kOCJjixFwdnZxR6K45XR+6Q4UBzOLdabzh3aednQ/piiqj7ZdldaF75ZfoDhKPK4cjrd5AGU6/OWbsJQ+DLVMg==", "dev": true, "funding": { "type": "opencollective", @@ -4945,9 +6377,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.0.0-rc.1.tgz", - "integrity": "sha512-y0ebNh8NAuIJGThmgu37POSEeJ547ocJ8HyCmjUMw6GQHsB00pXy5Kr0yM5NMZWqYwO0vrK6VG1pMxsrwyGVBQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.0.0-rc.3.tgz", + "integrity": "sha512-7FeJjOV2pNVesdNljzy1DvzhhShZ/pjQOmhFs4GXBXTJCPNQP5iZTSR6b3ehN8L96yVPT5JsdjX4MiyGw2QPnQ==", "dev": true, "funding": { "type": "opencollective", @@ -4955,18 +6387,18 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.0-rc.1.tgz", - "integrity": "sha512-KrXMxCffKsXLsWb8ptXmLcbetZOPLbPpnKU43S1iHnvc5Jp89lrJBpztHZsUnuwGMJ1K5ajdZd+l/kGs75ru6Q==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.0-rc.3.tgz", + "integrity": "sha512-iIifbFRmrFIlLzApTZyCWmI3JNt2IxfM8Dm4rNlMJBifjtgHfpxA+DsQI8mW8UGM64a8N1wF7azkN6cnRz6v2w==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.0.0-rc.1", - "@storybook/channels": "7.0.0-rc.1", - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-events": "7.0.0-rc.1", + "@storybook/channel-postmessage": "7.0.0-rc.3", + "@storybook/channels": "7.0.0-rc.3", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-events": "7.0.0-rc.3", "@storybook/csf": "next", "@storybook/global": "^5.0.0", - "@storybook/types": "7.0.0-rc.1", + "@storybook/types": "7.0.0-rc.3", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -4983,18 +6415,18 @@ } }, "node_modules/@storybook/react": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.0.0-rc.1.tgz", - "integrity": "sha512-4gP74wOpftw229Yu0TYcG4ED8gpQNYYlt3dsGh5pbHfgQVGjCaSt9PKEK86rH2j1AZEwKLrlIdfzLE4SZvBqOw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.0.0-rc.3.tgz", + "integrity": "sha512-9zGKKj/pK5dPNSt/U+5zjkBRwEt4SWUL6P6c+Yx6odgI7Z5O4lMG4fhYrtF8EV3ZSD8Qn1kW+TPI0zCipW54cg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-client": "7.0.0-rc.1", - "@storybook/docs-tools": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-client": "7.0.0-rc.3", + "@storybook/docs-tools": "7.0.0-rc.3", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.0.0-rc.1", - "@storybook/react-dom-shim": "7.0.0-rc.1", - "@storybook/types": "7.0.0-rc.1", + "@storybook/preview-api": "7.0.0-rc.3", + "@storybook/react-dom-shim": "7.0.0-rc.3", + "@storybook/types": "7.0.0-rc.3", "@types/escodegen": "^0.0.6", "@types/estree": "^0.0.51", "@types/node": "^16.0.0", @@ -5028,9 +6460,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.0.0-rc.1.tgz", - "integrity": "sha512-Vc778SXbtSdJQ0bF78ZUBk0aBj2lyStbAB94+cXq3eZrkp9F3gMEK8Cfgot1kVhz62/Zi/yYxBXaFwWrRlpriQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.0.0-rc.3.tgz", + "integrity": "sha512-3rQsOPwNlHyV93311GaGP28BFobEaNfw+djxDBxocNrL07xvY3u/XE6bShKOJ6R28ATaGwXUxmj2Cwtd2GxASg==", "dev": true, "funding": { "type": "opencollective", @@ -5042,15 +6474,15 @@ } }, "node_modules/@storybook/react-vite": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.0.0-rc.1.tgz", - "integrity": "sha512-2BpQvp86hyIF36f/Xm7TcpNheFCK4VDR+cnuGYaJ/AN52u7jja4otP8UTL3furwhROM8kUIwUw/EjyZnshNZ8Q==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.0.0-rc.3.tgz", + "integrity": "sha512-/m4N+FkcLuEZ9fvsvm0FMDumAzgk8T+akK36n5wxl8gob37qJzY7F7EeyXLDVHNQQ59wTxEETE9oqv7khV9ivw==", "dev": true, "dependencies": { "@joshwooding/vite-plugin-react-docgen-typescript": "^0.2.1", "@rollup/pluginutils": "^4.2.0", - "@storybook/builder-vite": "7.0.0-rc.1", - "@storybook/react": "7.0.0-rc.1", + "@storybook/builder-vite": "7.0.0-rc.3", + "@storybook/react": "7.0.0-rc.3", "@vitejs/plugin-react": "^3.0.1", "ast-types": "^0.14.2", "magic-string": "^0.27.0", @@ -5070,18 +6502,18 @@ } }, "node_modules/@storybook/react/node_modules/@types/node": { - "version": "16.18.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.14.tgz", - "integrity": "sha512-wvzClDGQXOCVNU4APPopC2KtMYukaF1MN/W3xAmslx22Z4/IF1/izDMekuyoUlwfnDHYCIZGaj7jMwnJKBTxKw==", + "version": "16.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.16.tgz", + "integrity": "sha512-ZOzvDRWp8dCVBmgnkIqYCArgdFOO9YzocZp8Ra25N/RStKiWvMOXHMz+GjSeVNe5TstaTmTWPucGJkDw0XXJWA==", "dev": true }, "node_modules/@storybook/router": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.0-rc.1.tgz", - "integrity": "sha512-9bBeBDwRVETJW945WiOP4rD4ahxfoMuX53wKz1dz5mXij2+t7+kAUYXYbvhCNSMQp2JOU3gKBzovQSqtd+pfJw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.0-rc.3.tgz", + "integrity": "sha512-D3Uoz1WRFWH3QUjyrDObwCVRYXdSGZGpCN2eh6gjlKC9VQ9ohaGerEdXSsYnAj2lovhfze8oXp+PS1VKJTlpgg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -5163,13 +6595,13 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.0.0-rc.1.tgz", - "integrity": "sha512-vhi6KHsmTpdplK1IIPkj/umeb6SWcrCMW4AwfISez2uv030Lqm2ngvu2zyDz/ej9uVAxSTzLV/56k0BgKPi8VQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.0.0-rc.3.tgz", + "integrity": "sha512-0vPVA1aTWCA6jr3iSOPCu8x3zpNUsyxYN30B4b6d3o2iO6YU/CZdm8rxzInv+bKkz2fHFDzCDsfZTgQ5VEggEw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.0-rc.1", - "@storybook/core-common": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", + "@storybook/core-common": "7.0.0-rc.3", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -5249,13 +6681,13 @@ } }, "node_modules/@storybook/theming": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.0-rc.1.tgz", - "integrity": "sha512-iWdguodu4HcdOxrG7Fnmqbrxiz/v3XCi7m/bjSd6H7/VMGPecvPe7YjtC0TvblntKglymT5wlhH2YQ5b0W6XwQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.0-rc.3.tgz", + "integrity": "sha512-sVt8Egv9CmeDnTJYPsyvlvHE+GX8hAczc1SvuoLeXs/1gsEsnVn6ovCFGSV0Rc7sAr5oSv794/pFUsboU8tYqg==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.0.0-rc.1", + "@storybook/client-logger": "7.0.0-rc.3", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -5269,12 +6701,12 @@ } }, "node_modules/@storybook/types": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.0-rc.1.tgz", - "integrity": "sha512-wWFGKzXXD04j52iHTE7mxCz0zkJH0J/wh7pSsYAxUgyQaYHIIqLZUb9PLWVWf1v6RiSSa5k0HXhFWnfBOJeVIQ==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.0-rc.3.tgz", + "integrity": "sha512-2xxgs4zL1QZUdut+Zt5sQdgNCUP0n/y5CRbvEpDwkcuE4KWbfJYixJNumioZ6UwK17ZE9gf4ZxVgttvexmW8eg==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.0-rc.1", + "@storybook/channels": "7.0.0-rc.3", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "^2.0.0" @@ -5284,6 +6716,14 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@swc/helpers": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@tanstack/query-core": { "version": "4.26.1", "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.26.1.tgz", @@ -5952,9 +7392,9 @@ "dev": true }, "node_modules/@types/eslint": { - "version": "8.21.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", - "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", + "version": "8.21.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz", + "integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==", "dev": true, "dependencies": { "@types/estree": "*", @@ -6081,9 +7521,9 @@ } }, "node_modules/@types/jest": { - "version": "29.4.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.4.0.tgz", - "integrity": "sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==", + "version": "29.4.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.4.4.tgz", + "integrity": "sha512-qezb65VIH7X1wobSnd6Lvdve7PXSyQRa3dljTkhTtDhi603RvHQCshSlJcuyMLHJpeHgY3NKwvDJWxMOOHxGDQ==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -6180,9 +7620,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.15.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.0.tgz", - "integrity": "sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==", + "version": "18.15.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz", + "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==", "dev": true }, "node_modules/@types/node-fetch": { @@ -6336,19 +7776,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.1.tgz", - "integrity": "sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz", + "integrity": "sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.54.1", - "@typescript-eslint/type-utils": "5.54.1", - "@typescript-eslint/utils": "5.54.1", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/type-utils": "5.55.0", + "@typescript-eslint/utils": "5.55.0", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" }, @@ -6403,12 +7843,12 @@ "dev": true }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.54.1.tgz", - "integrity": "sha512-oqSc2Gr4TL/2M0XRJ9abA1o3Wf1cFJTNqWq0kjdStIIvgMQGZ3TSaFFJ2Cvy3Fgqi9UfDZ8u5idbACssIIyHaw==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.55.0.tgz", + "integrity": "sha512-3ZqXIZhdGyGQAIIGATeMtg7prA6VlyxGtcy5hYIR/3qUqp3t18pWWUYhL9mpsDm7y8F9mr3ISMt83TiqCt7OPQ==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.54.1" + "@typescript-eslint/utils": "5.55.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6422,14 +7862,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.1.tgz", - "integrity": "sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.55.0.tgz", + "integrity": "sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.54.1", - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/typescript-estree": "5.54.1", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/typescript-estree": "5.55.0", "debug": "^4.3.4" }, "engines": { @@ -6449,13 +7889,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz", - "integrity": "sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz", + "integrity": "sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/visitor-keys": "5.54.1" + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/visitor-keys": "5.55.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6466,13 +7906,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.1.tgz", - "integrity": "sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz", + "integrity": "sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.54.1", - "@typescript-eslint/utils": "5.54.1", + "@typescript-eslint/typescript-estree": "5.55.0", + "@typescript-eslint/utils": "5.55.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -6493,9 +7933,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.1.tgz", - "integrity": "sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.55.0.tgz", + "integrity": "sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6506,13 +7946,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz", - "integrity": "sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz", + "integrity": "sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/visitor-keys": "5.54.1", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/visitor-keys": "5.55.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6566,18 +8006,18 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.1.tgz", - "integrity": "sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.55.0.tgz", + "integrity": "sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.54.1", - "@typescript-eslint/types": "5.54.1", - "@typescript-eslint/typescript-estree": "5.54.1", + "@typescript-eslint/scope-manager": "5.55.0", + "@typescript-eslint/types": "5.55.0", + "@typescript-eslint/typescript-estree": "5.55.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", "semver": "^7.3.7" }, "engines": { @@ -6625,12 +8065,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.54.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz", - "integrity": "sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==", + "version": "5.55.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz", + "integrity": "sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.54.1", + "@typescript-eslint/types": "5.55.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -6661,9 +8101,9 @@ } }, "node_modules/@vitest/coverage-c8": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.29.2.tgz", - "integrity": "sha512-NmD3WirQCeQjjKfHu4iEq18DVOBFbLn9TKVdMpyi5YW2EtnS+K22/WE+9/wRrepOhyeTxuEFgxUVkCAE1GhbnQ==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.29.3.tgz", + "integrity": "sha512-VMhCCkkd9E2J1U3OVQop2fT7PRutqNA+kjaiXkYKz6+ap5TcH+m5+61oE6bJNGn/pN6i5cL6nDqzrbl9wixFng==", "dev": true, "dependencies": { "c8": "^7.13.0", @@ -6678,23 +8118,23 @@ } }, "node_modules/@vitest/expect": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.29.2.tgz", - "integrity": "sha512-wjrdHB2ANTch3XKRhjWZN0UueFocH0cQbi2tR5Jtq60Nb3YOSmakjdAvUa2JFBu/o8Vjhj5cYbcMXkZxn1NzmA==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.29.3.tgz", + "integrity": "sha512-z/0JqBqqrdtrT/wzxNrWC76EpkOHdl+SvuNGxWulLaoluygntYyG5wJul5u/rQs5875zfFz/F+JaDf90SkLUIg==", "dev": true, "dependencies": { - "@vitest/spy": "0.29.2", - "@vitest/utils": "0.29.2", + "@vitest/spy": "0.29.3", + "@vitest/utils": "0.29.3", "chai": "^4.3.7" } }, "node_modules/@vitest/runner": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.29.2.tgz", - "integrity": "sha512-A1P65f5+6ru36AyHWORhuQBJrOOcmDuhzl5RsaMNFe2jEkoj0faEszQS4CtPU/LxUYVIazlUtZTY0OEZmyZBnA==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.29.3.tgz", + "integrity": "sha512-XLi8ctbvOWhUWmuvBUSIBf8POEDH4zCh6bOuVxm/KGfARpgmVF1ku+vVNvyq85va+7qXxtl+MFmzyXQ2xzhAvw==", "dev": true, "dependencies": { - "@vitest/utils": "0.29.2", + "@vitest/utils": "0.29.3", "p-limit": "^4.0.0", "pathe": "^1.1.0" } @@ -6727,24 +8167,23 @@ } }, "node_modules/@vitest/spy": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.29.2.tgz", - "integrity": "sha512-Hc44ft5kaAytlGL2PyFwdAsufjbdOvHklwjNy/gy/saRbg9Kfkxfh+PklLm1H2Ib/p586RkQeNFKYuJInUssyw==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.29.3.tgz", + "integrity": "sha512-LLpCb1oOCOZcBm0/Oxbr1DQTuKLRBsSIHyLYof7z4QVE8/v8NcZKdORjMUq645fcfX55+nLXwU/1AQ+c2rND+w==", "dev": true, "dependencies": { "tinyspy": "^1.0.2" } }, "node_modules/@vitest/utils": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.29.2.tgz", - "integrity": "sha512-F14/Uc+vCdclStS2KEoXJlOLAEyqRhnw0gM27iXw9bMTcyKRPJrQ+rlC6XZ125GIPvvKYMPpVxNhiou6PsEeYQ==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.29.3.tgz", + "integrity": "sha512-hg4Ff8AM1GtUnLpUJlNMxrf9f4lZr/xRJjh3uJ0QFP+vjaW82HAxKrmeBmLnhc8Os2eRf+f+VBu4ts7TafPPkA==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", "diff": "^5.1.0", "loupe": "^2.3.6", - "picocolors": "^1.0.0", "pretty-format": "^27.5.1" } }, @@ -7234,6 +8673,19 @@ "deep-equal": "^2.0.5" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -7698,6 +9150,18 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -8027,9 +9491,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001464", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001464.tgz", - "integrity": "sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==", + "version": "1.0.30001466", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz", + "integrity": "sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==", "dev": true, "funding": [ { @@ -8206,6 +9670,11 @@ "node": ">=8" } }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -8353,6 +9822,14 @@ "node": ">=0.10.0" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -8399,10 +9876,12 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } }, "node_modules/commondir": { "version": "1.0.1", @@ -8582,9 +10061,9 @@ "dev": true }, "node_modules/core-js": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz", - "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==", + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz", + "integrity": "sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==", "dev": true, "hasInstallScript": true, "funding": { @@ -8593,9 +10072,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.0.tgz", - "integrity": "sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==", + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz", + "integrity": "sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==", "dev": true, "dependencies": { "browserslist": "^4.21.5" @@ -8917,25 +10396,6 @@ "node": ">=12" } }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/d3-dsv/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/d3-ease": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", @@ -9597,9 +11057,9 @@ "dev": true }, "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -9612,9 +11072,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.328", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.328.tgz", - "integrity": "sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw==", + "version": "1.4.330", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.330.tgz", + "integrity": "sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==", "dev": true }, "node_modules/emoji-regex": { @@ -9697,18 +11157,18 @@ } }, "node_modules/es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, "dependencies": { + "array-buffer-byte-length": "^1.0.0", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "get-intrinsic": "^1.2.0", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", @@ -9716,8 +11176,8 @@ "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", @@ -9725,11 +11185,12 @@ "is-string": "^1.0.7", "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", "string.prototype.trimend": "^1.0.6", "string.prototype.trimstart": "^1.0.6", "typed-array-length": "^1.0.4", @@ -10452,33 +11913,6 @@ "node": ">=4.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", @@ -11946,12 +13380,11 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -12111,6 +13544,17 @@ "node": ">= 0.10" } }, + "node_modules/intl-messageformat": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.1.tgz", + "integrity": "sha512-mqHc6arhbogrdImIsEscdjWnJcg2bvg3MiyGXDsTSGmPbbM2KtRUe7oNgDUbkM3HMn4KbyOct2JyJScmwRgGSQ==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/fast-memoize": "1.2.8", + "@formatjs/icu-messageformat-parser": "2.3.0", + "tslib": "^2.4.0" + } + }, "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -15300,9 +16744,9 @@ } }, "node_modules/minipass": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", - "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", + "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", "dev": true, "engines": { "node": ">=8" @@ -16843,6 +18287,18 @@ "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -16854,6 +18310,51 @@ "node": ">=0.10.0" } }, + "node_modules/react-aria": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.23.1.tgz", + "integrity": "sha512-fptvkglL/HiX/llx2QCCt4WUJzuj6SLoyUJzF50kOLnX+sz5QhWQ+6dCEN/d3TWCRaXudC1nREUu8MgoV+lg7g==", + "dependencies": { + "@react-aria/breadcrumbs": "^3.5.0", + "@react-aria/button": "^3.7.0", + "@react-aria/calendar": "^3.1.0", + "@react-aria/checkbox": "^3.8.0", + "@react-aria/combobox": "^3.5.1", + "@react-aria/datepicker": "^3.3.0", + "@react-aria/dialog": "^3.5.0", + "@react-aria/dnd": "^3.1.0", + "@react-aria/focus": "^3.11.0", + "@react-aria/gridlist": "^3.2.1", + "@react-aria/i18n": "^3.7.0", + "@react-aria/interactions": "^3.14.0", + "@react-aria/label": "^3.5.0", + "@react-aria/link": "^3.4.0", + "@react-aria/listbox": "^3.8.1", + "@react-aria/menu": "^3.8.1", + "@react-aria/meter": "^3.4.0", + "@react-aria/numberfield": "^3.4.0", + "@react-aria/overlays": "^3.13.0", + "@react-aria/progress": "^3.4.0", + "@react-aria/radio": "^3.5.0", + "@react-aria/searchfield": "^3.5.0", + "@react-aria/select": "^3.9.1", + "@react-aria/selection": "^3.13.1", + "@react-aria/separator": "^3.3.0", + "@react-aria/slider": "^3.3.0", + "@react-aria/ssr": "^3.5.0", + "@react-aria/switch": "^3.4.0", + "@react-aria/table": "^3.8.1", + "@react-aria/tabs": "^3.4.1", + "@react-aria/textfield": "^3.9.0", + "@react-aria/tooltip": "^3.4.0", + "@react-aria/utils": "^3.15.0", + "@react-aria/visually-hidden": "^3.7.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, "node_modules/react-colorful": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", @@ -16897,6 +18398,12 @@ "typescript": ">= 4.3.x" } }, + "node_modules/react-docgen/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/react-dom": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", @@ -16954,6 +18461,38 @@ "node": ">=0.10.0" } }, + "node_modules/react-stately": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/react-stately/-/react-stately-3.21.0.tgz", + "integrity": "sha512-nnGkuRAoq9auj5SYRwxM6eVYvkS9WhxH9iKuzlqE1Gverp3JDFMFgKSaG/DFWG/m1TPlGvwYUwdVjyhINsFUqA==", + "dependencies": { + "@react-stately/calendar": "^3.1.0", + "@react-stately/checkbox": "^3.4.0", + "@react-stately/collections": "^3.6.0", + "@react-stately/combobox": "^3.4.0", + "@react-stately/data": "^3.9.0", + "@react-stately/datepicker": "^3.3.0", + "@react-stately/dnd": "^3.1.0", + "@react-stately/list": "^3.7.0", + "@react-stately/menu": "^3.5.0", + "@react-stately/numberfield": "^3.4.0", + "@react-stately/overlays": "^3.5.0", + "@react-stately/radio": "^3.7.0", + "@react-stately/searchfield": "^3.4.0", + "@react-stately/select": "^3.4.0", + "@react-stately/selection": "^3.12.0", + "@react-stately/slider": "^3.3.0", + "@react-stately/table": "^3.8.0", + "@react-stately/tabs": "^3.3.0", + "@react-stately/toggle": "^3.5.0", + "@react-stately/tooltip": "^3.3.0", + "@react-stately/tree": "^3.5.0", + "@react-types/shared": "^3.17.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -17194,18 +18733,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", @@ -18195,12 +19722,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.0.0-rc.1.tgz", - "integrity": "sha512-U2OJ+dWXVgEE6UjF86v7WKU2F1lmz/ctC+d6WtHsVVQr0d9nmKIknqfNPv5srBr6wPUud/cKvVjJWiGSq22h4g==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.0.0-rc.3.tgz", + "integrity": "sha512-1EFr7o7dcgFKsI6TBqvxYEKGPzKvJ8qzCl3BM/1kZP5BmWqQPbanOQLVkTb4zDb5e+Q+ibDNH5k8D1lQFdsHcg==", "dev": true, "dependencies": { - "@storybook/cli": "7.0.0-rc.1" + "@storybook/cli": "7.0.0-rc.3" }, "bin": { "sb": "index.js", @@ -18271,6 +19798,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/string.prototype.trimend": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", @@ -18844,6 +20388,13 @@ "node": ">=0.4.0" } }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -19083,8 +20634,7 @@ "node_modules/tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -19729,9 +21279,9 @@ } }, "node_modules/vite-node": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.29.2.tgz", - "integrity": "sha512-5oe1z6wzI3gkvc4yOBbDBbgpiWiApvuN4P55E8OI131JGrSuo4X3SOZrNmZYo4R8Zkze/dhi572blX0zc+6SdA==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.29.3.tgz", + "integrity": "sha512-QYzYSA4Yt2IiduEjYbccfZQfxKp+T1Do8/HEpSX/G5WIECTFKJADwLs9c94aQH4o0A+UtCKU61lj1m5KvbxxQA==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -19782,18 +21332,18 @@ } }, "node_modules/vitest": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.29.2.tgz", - "integrity": "sha512-ydK9IGbAvoY8wkg29DQ4ivcVviCaUi3ivuPKfZEVddMTenFHUfB8EEDXQV8+RasEk1ACFLgMUqAaDuQ/Nk+mQA==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.29.3.tgz", + "integrity": "sha512-muMsbXnZsrzDGiyqf/09BKQsGeUxxlyLeLK/sFFM4EXdURPQRv8y7dco32DXaRORYP0bvyN19C835dT23mL0ow==", "dev": true, "dependencies": { "@types/chai": "^4.3.4", "@types/chai-subset": "^1.3.3", "@types/node": "*", - "@vitest/expect": "0.29.2", - "@vitest/runner": "0.29.2", - "@vitest/spy": "0.29.2", - "@vitest/utils": "0.29.2", + "@vitest/expect": "0.29.3", + "@vitest/runner": "0.29.3", + "@vitest/spy": "0.29.3", + "@vitest/utils": "0.29.3", "acorn": "^8.8.1", "acorn-walk": "^8.2.0", "cac": "^6.7.14", @@ -19809,7 +21359,7 @@ "tinypool": "^0.3.1", "tinyspy": "^1.0.2", "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.29.2", + "vite-node": "0.29.3", "why-is-node-running": "^2.2.2" }, "bin": { @@ -19926,9 +21476,9 @@ } }, "node_modules/webpack": { - "version": "5.76.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", - "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", + "version": "5.76.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.2.tgz", + "integrity": "sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==", "dev": true, "peer": true, "dependencies": { @@ -20042,18 +21592,6 @@ "node": ">=12" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", diff --git a/web/package.json b/web/package.json index 888bb29..384a988 100644 --- a/web/package.json +++ b/web/package.json @@ -18,31 +18,34 @@ "@headlessui/react": "1.7.13", "@heroicons/react": "2.0.16", "@tanstack/react-query": "4.26.1", - "d3": "^7.8.2", + "classnames": "2.3.2", + "d3": "7.8.2", "react": "18.2.0", - "react-dom": "18.2.0" + "react-aria": "3.23.1", + "react-dom": "18.2.0", + "react-stately": "3.21.0" }, "devDependencies": { - "@babel/core": "7.21.0", - "@storybook/addon-actions": "7.0.0-rc.1", - "@storybook/addon-essentials": "7.0.0-rc.1", - "@storybook/addon-interactions": "7.0.0-rc.1", - "@storybook/addon-links": "7.0.0-rc.1", + "@babel/core": "7.21.3", + "@storybook/addon-actions": "7.0.0-rc.3", + "@storybook/addon-essentials": "7.0.0-rc.3", + "@storybook/addon-interactions": "7.0.0-rc.3", + "@storybook/addon-links": "7.0.0-rc.3", "@storybook/addon-postcss": "2.0.0", - "@storybook/blocks": "7.0.0-rc.1", + "@storybook/blocks": "7.0.0-rc.3", "@storybook/jest": "0.0.10", - "@storybook/react": "7.0.0-rc.1", - "@storybook/react-vite": "7.0.0-rc.1", + "@storybook/react": "7.0.0-rc.3", + "@storybook/react-vite": "7.0.0-rc.3", "@storybook/testing-library": "0.0.14-next.1", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.0.0", - "@types/d3": "^7.4.0", + "@types/d3": "7.4.0", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", - "@typescript-eslint/eslint-plugin": "5.54.1", - "@typescript-eslint/parser": "5.54.1", + "@typescript-eslint/eslint-plugin": "5.55.0", + "@typescript-eslint/parser": "5.55.0", "@vitejs/plugin-react": "3.1.0", - "@vitest/coverage-c8": "^0.29.2", + "@vitest/coverage-c8": "0.29.3", "autoprefixer": "10.4.14", "babel-loader": "9.1.2", "eslint-config-prettier": "8.7.0", @@ -57,13 +60,13 @@ "postcss": "8.4.21", "prettier": "2.8.4", "prop-types": "15.8.1", - "storybook": "7.0.0-rc.1", + "storybook": "7.0.0-rc.3", "tailwindcss": "3.2.7", "typescript": "4.9.5", "vite": "4.1.4", "vite-plugin-eslint": "1.8.1", - "vitest": "0.29.2", - "vitest-github-actions-reporter": "^0.10.0" + "vitest": "0.29.3", + "vitest-github-actions-reporter": "0.10.0" }, "volta": { "node": "18.15.0", diff --git a/web/src/components/Graph.tsx b/web/src/components/Graph.tsx new file mode 100644 index 0000000..882cba0 --- /dev/null +++ b/web/src/components/Graph.tsx @@ -0,0 +1,345 @@ +import { useRef, useEffect } from 'react'; + +import classNames from 'classnames'; +import * as d3 from 'd3'; + +interface Data { + name: string; + time: number; + value: number; + yOffset: number; + children?: Data[]; +} + +const data: Data = { + name: 'A1', + time: 0, + value: 100, + yOffset: 0, + children: [ + { + name: 'B1', + time: 1, + value: 110, + yOffset: 0, + children: [ + { + name: 'C1', + time: 3, + value: 70, + yOffset: 0, + children: [ + { + name: 'E1', + time: 5, + value: 100, + yOffset: 0, + children: [ + { + name: 'G1', + time: 7, + value: 80, + yOffset: 1, + children: [], + }, + { + name: 'H1', + time: 8, + value: 90, + yOffset: 0, + children: [ + { + name: 'I1', + time: 9, + value: 120, + yOffset: 0, + children: [], + }, + ], + }, + ], + }, + ], + }, + { + name: 'D1', + time: 4, + value: 50, + yOffset: -1, + children: [ + { + name: 'F1', + time: 6, + value: 20, + yOffset: -1, + children: [], + }, + ], + }, + ], + }, + ], +}; + +const Graph = ({ className }: { className?: string }) => { + // Element References + const svgRef = useRef(null); + const { + current: [width, height], + } = useRef([window.innerWidth, window.innerHeight]); + + useEffect(() => { + if (svgRef.current === null) return; + + const dimensions = { + width, + height, + margins: 5, + }; + + const svg = d3 + .select(svgRef.current) + .classed('line-chart-svg', true) + .attr('preserveAspectRatio', 'xMinYMin meet') + .attr('viewBox', `0 0 ${dimensions.width} ${dimensions.height}`); + + let container: d3.Selection = + svg.select('g.container'); + + if (svg.select('g.container').empty()) { + container = svg + .append('g') /* eslint-disable */ + // @ts-nocheck + .classed('container', true) + .attr('transform', `translate(${dimensions.margins}, ${dimensions.margins})`); + } + + let links: d3.Selection = container.select('g.links'); + if (container.select('g.links').empty()) { + links = container.append('g').classed('links', true); + } + + let nodes: d3.Selection = container.select('g.nodes'); + if (container.select('g.nodes').empty()) { + nodes = container.append('g').classed('nodes', true); + } + + const zoom = d3.zoom().on('zoom', (e) => { + container.attr('transform', e.transform); + }); + + const treeLayout = d3 + .tree() + .size([dimensions.width, dimensions.height]) + .separation(function (a, b) { + return (a.parent == b.parent ? 1 : 2) / a.depth; + }); + + let root = d3.hierarchy(data); + + const x_max = + d3.max(root.descendants(), function (d) { + return d.data.time; + }) ?? 0; + + const x = d3.scaleLinear().domain([0, x_max]).range([0, dimensions.width]); + + let rootPoint = treeLayout(root); + + const adjust_x = function (d: d3.HierarchyPointNode) { + return x(d.data.time); + }; + + const adjust_y = function (d: d3.HierarchyPointNode) { + return d.y; + }; + + const textOffset = 25; + const radiusFactor = 0.5; + + // Nodes + nodes + .selectAll('circle') + .data>(rootPoint.descendants()) + .join('circle') + .classed('node', true) + .attr('cx', adjust_x) + .attr('cy', adjust_y) + .attr('r', function (d) { + return d.data.value * radiusFactor; + }); + + // add node text + nodes + .selectAll('text') + .data>(rootPoint.descendants()) + .join('text') + .style('fill', function (d) { + return 'white'; + }) + .attr('x', adjust_x) + .attr('y', adjust_y) + .attr('dy', function (d) { + return d.data.value * radiusFactor + textOffset; + }) + .attr('text-anchor', 'middle') + .text(function (d) { + return d.data.value; + }); + + // Links + links + .selectAll('line') + .data>(rootPoint.links()) + .join('line') + .classed('link', true) + .style('stroke', function (d) { + return 'black'; + }) + .attr('x1', function (d) { + return adjust_x(d.source); + }) + .attr('y1', function (d) { + return adjust_y(d.source); + }) + .attr('x2', function (d) { + return adjust_x(d.target); + }) + .attr('y2', function (d) { + return adjust_y(d.target); + }); + + function ticked() { + nodes + .selectAll('circle') + .data>(rootPoint.descendants()) + .join('circle') + .classed('node', true) + .attr('cx', adjust_x) + .attr('cy', adjust_y) + .attr('r', function (d) { + return d.data.value * radiusFactor; + }); + nodes + .selectAll('text') + .data>(rootPoint.descendants()) + .join('text') + .style('fill', 'black') + .attr('x', adjust_x) + .attr('y', adjust_y) + .attr('dy', function (d) { + return d.data.value * radiusFactor + textOffset; + }) + .attr('text-anchor', 'middle') + .text(function (d) { + return d.data.value; + }); + links + .selectAll('line') + .data>(rootPoint.links()) + .join('line') + .classed('link', true) + .style('stroke', function (d) { + return 'black'; + }) + .attr('x1', function (d) { + return adjust_x(d.source); + }) + .attr('y1', function (d) { + return adjust_y(d.source); + }) + .attr('x2', function (d) { + return adjust_x(d.target); + }) + .attr('y2', function (d) { + return adjust_y(d.target); + }); + } + + // const rootDescendants = root.descendants(); + // // convert to d3.SimulationNodeDatum + // const simulationNodes = rootDescendants.map((d) => { + // return { + // data: d.data, + // x: x(d.data.time), + // y: y(d.data.value), + // }; + // }); + + const simulation = d3 + .forceSimulation>(rootPoint.descendants()) + // .force( + // 'charge', + // d3.forceManyBody>().strength(function (d, i) { + // // return -(d.data.value / radiusFactor); + // // return -1000 + // return i==0 ? -10000 : -500; + // }), + // ) + .force( + 'center', + d3.forceCenter>(dimensions.width / 2, dimensions.height / 2), + ) + .force( + 'x', + d3.forceX>().x(function (d) { + return x(d.data.time); + }), + ) + // force y to center + .force( + 'y', + d3.forceY>().y(function (d) { + return d.data.yOffset * 200; + }), + ) + // .force( + // 'collision', + // d3.forceCollide>().radius(function (d) { + // // radius of the circle + // return d.data.value * radiusFactor + textOffset + 50; + // }), + // ) + // .force('link', d3.forceLink().links(rootPoint.links()).distance(200)) + .tick(2000) + .on('tick', ticked); + + svg.call(zoom); + + const des = rootPoint.descendants(); + const lastDes = des[des.length - 1]; + svg + .transition() + .duration(0) + .call(zoom.transform, d3.zoomIdentity.scale(1).translate(-lastDes.x + dimensions.width / 2, 0)); + + function zoomNode(node: d3.HierarchyPointNode, duration = 2500) { + svg + .transition() + .duration(duration) + .call( + zoom.transform, + d3.zoomIdentity + .translate(dimensions.width / 2, dimensions.height / 2) + .scale(1) + .translate(-node.x, -(dimensions.height / 2)), + ); + } + + setTimeout(() => { + simulation.alpha(0.5).restart(); + zoomNode(lastDes); + }, 1000); + + }, [width, height]); + + return ( +
+
+ +
+
+ ); +}; + +export default Graph; diff --git a/web/src/components/Header.tsx b/web/src/components/Header.tsx new file mode 100644 index 0000000..d026bb4 --- /dev/null +++ b/web/src/components/Header.tsx @@ -0,0 +1,91 @@ +import { useState } from 'react'; + +import { Dialog } from '@headlessui/react'; +import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline'; +import classNames from 'classnames'; + +import SelectMenu from '@components/SelectMenu'; + +export default function Header({ className }: { className?: string }) { + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); + + return ( +
+ + +
+ +
+ + Your Company + + + +
+
+
+
+ ); +} diff --git a/web/src/components/SelectMenu.tsx b/web/src/components/SelectMenu.tsx new file mode 100644 index 0000000..25dcf66 --- /dev/null +++ b/web/src/components/SelectMenu.tsx @@ -0,0 +1,108 @@ +import { Fragment, useState } from 'react'; + +import { Listbox, Transition } from '@headlessui/react'; +import { CheckIcon, ChevronUpDownIcon } from '@heroicons/react/20/solid'; +import classNames from 'classnames'; + +type Item = { + id: number; + name: string; +}; + +const SelectMenu = ({ + id, + data, + label, + initialSelectedIndex, + onChange, +}: { + id: string; + data: Item[]; + label?: string; + initialSelectedIndex?: number; + onChange?: (value: Item) => void; +}) => { + const [selected, setSelected] = useState(data[initialSelectedIndex || 0]); + + const onChangeEvent = (item: Item) => { + if (onChange) onChange(item); + setSelected(item); + }; + + return ( + + {({ open }) => ( + <> + {label && ( + + {label} + + )} +
+ + + {selected.name} + + + + + + + + {data.map((item) => ( + + classNames( + active ? 'bg-indigo-600 text-white' : 'text-gray-900', + 'relative cursor-default select-none py-2 pl-3 pr-9', + ) + } + value={item} + > + {({ selected, active }) => ( + <> + + {item.name} + + + {selected ? ( + + + ) : null} + + )} + + ))} + + +
+ + )} +
+ ); +}; + +export default SelectMenu; diff --git a/web/src/components/Slider.tsx b/web/src/components/Slider.tsx new file mode 100644 index 0000000..571b3a0 --- /dev/null +++ b/web/src/components/Slider.tsx @@ -0,0 +1,221 @@ +import { useRef } from 'react'; + +import classNames from 'classnames'; +import { mergeProps, useFocusRing, useSlider, useSliderThumb, VisuallyHidden } from 'react-aria'; +import { useSliderState, SliderStateOptions } from 'react-stately'; + +function parseTime(seconds: number) { + const hours = Math.floor(seconds / 3600); + const minutes = Math.floor((seconds - hours * 3600) / 60); + seconds = seconds - hours * 3600 - minutes * 60; + return [hours, minutes, seconds]; +} + +function formatTime(seconds: number[], totalSeconds = seconds) { + const totalWithoutLeadingZeroes = totalSeconds.slice(totalSeconds.findIndex((x) => x !== 0)); + return seconds + .slice(seconds.length - totalWithoutLeadingZeroes.length) + .map((x) => x.toString().padStart(2, '0')) + .join(':'); +} + +function Thumb({ + state, + trackRef, + focusProps, + isFocusVisible, + onChangeStart, + index, +}: { + state: ReturnType; + trackRef: React.RefObject; + focusProps: React.HTMLAttributes; + isFocusVisible: boolean; + onChangeStart?: () => void; + index: number; +}) { + const inputRef = useRef(null); + const { thumbProps, inputProps } = useSliderThumb({ index, trackRef, inputRef }, state); + + return ( +
+
{ + thumbProps.onMouseDown?.(...args); + onChangeStart?.(); + }} + onPointerDown={(...args) => { + thumbProps.onPointerDown?.(...args); + onChangeStart?.(); + }} + className={classNames( + 'h-4 rounded-full', + isFocusVisible || state.isThumbDragging(index) + ? 'w-1.5 bg-slate-900' + : 'w-1 bg-slate-700', + )} + > + + + +
+
+ ); +} + +export function Slider(props: SliderStateOptions) { + const trackRef = useRef(null); + const state = useSliderState(props); + const { groupProps, trackProps, labelProps, outputProps } = useSlider(props, state, trackRef); + const { focusProps, isFocusVisible } = useFocusRing(); + + const currentTime = parseTime(state.getThumbValue(0)); + const totalTime = parseTime(state.getThumbMaxValue(0)); + + return ( +
+ {props.label && ( + + )} +
{ + trackProps.onMouseDown?.(...args); + // props.onChangeStart?.(); + }} + onPointerDown={(...args) => { + trackProps.onPointerDown?.(...args); + // props.onChangeStart?.(); + }} + ref={trackRef} + className="relative w-full bg-slate-200 md:rounded-full" + > +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + {formatTime(currentTime, totalTime)} + + + + {formatTime(totalTime)} + +
+
+ ); +} + +export default Slider; diff --git a/web/src/components/__tests__/Checkbox.test.tsx b/web/src/components/__tests__/Checkbox.test.tsx index a3cb979..11eec2a 100644 --- a/web/src/components/__tests__/Checkbox.test.tsx +++ b/web/src/components/__tests__/Checkbox.test.tsx @@ -4,7 +4,9 @@ import { expect, test } from 'vitest'; import Checkbox from '@stories/components/Checkbox/Checkbox.stories'; test('Checkbox changes the text after click', () => { - if (Checkbox.component) render(); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore - storybook partials component types + if (Checkbox.component) render(); const checkbox = screen.getByLabelText('this is a checkbox') as HTMLInputElement; expect(checkbox).toBeInTheDocument(); diff --git a/web/src/components/__tests__/Graph.test.tsx b/web/src/components/__tests__/Graph.test.tsx new file mode 100644 index 0000000..3a38e01 --- /dev/null +++ b/web/src/components/__tests__/Graph.test.tsx @@ -0,0 +1,13 @@ +import { fireEvent, render, screen } from '@testing-library/react'; +import { expect, test } from 'vitest'; + +import Graph from '@stories/components/Graph/Graph.stories'; + +test('Graph changes the text after click', () => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore - storybook partials component types + if (Graph.component) render(); + + const svg = screen.getByTestId('svg') as HTMLOrSVGElement; + expect(svg).toBeInTheDocument(); +}); diff --git a/web/src/components/__tests__/SelectMenu.test.tsx b/web/src/components/__tests__/SelectMenu.test.tsx new file mode 100644 index 0000000..a23a8df --- /dev/null +++ b/web/src/components/__tests__/SelectMenu.test.tsx @@ -0,0 +1,29 @@ +import { fireEvent, render, screen } from '@testing-library/react'; +import { expect, test } from 'vitest'; + +import SelectMenu from '@stories/components/SelectMenu/SelectMenu.stories'; + +test('SelectMenu changes the text after click', () => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore - storybook partials component types + if (SelectMenu.component) render(); + + const data = SelectMenu?.args?.data?.[5]; + if (!data) throw new Error('data is undefined'); + + const menu = screen.getByTestId('menu') as HTMLButtonElement; + expect(menu).toBeInTheDocument(); + + let selectedItem = screen.getByTestId('selected-item-name'); + expect(selectedItem).toHaveTextContent( + SelectMenu?.args?.data?.[SelectMenu?.args?.initialSelectedIndex || 0]?.name ?? '', + ); + + fireEvent.click(menu); + const item = screen.getByTestId(data.id); + expect(item).toBeInTheDocument(); + fireEvent.click(item); + + selectedItem = screen.getByTestId('selected-item-name'); + expect(selectedItem).toHaveTextContent(data.name); +}); diff --git a/web/src/pages/home.tsx b/web/src/pages/home.tsx index c2659b9..450027d 100644 --- a/web/src/pages/home.tsx +++ b/web/src/pages/home.tsx @@ -1,65 +1,27 @@ -export default function Example() { +import Graph from '@components/Graph'; +import Header from '@components/Header'; +import Slider from '@components/Slider'; + +export default function Index() { return ( -
-
-
- - - - - - - - - -
-
-
-

- 🍴 Fork choice -

-
-
-
- - - - - - - - - -
+
+
+ +
+
+ +
); } diff --git a/web/src/stories/components/Graph/Graph.stories.tsx b/web/src/stories/components/Graph/Graph.stories.tsx new file mode 100644 index 0000000..2b03cdd --- /dev/null +++ b/web/src/stories/components/Graph/Graph.stories.tsx @@ -0,0 +1,26 @@ +import { expect } from '@storybook/jest'; +import type { Meta, StoryObj } from '@storybook/react'; +import { userEvent, waitFor, within } from '@storybook/testing-library'; + +import Component from '@components/Graph'; + +const componentMeta: Meta = { + title: 'Components/Graph', + component: Component, + args: {}, + tags: ['autodocs'], + argTypes: {}, + parameters: {}, +}; + +export default componentMeta; + +export const Default: StoryObj = { + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + const svg = canvas.getByTestId('svg'); + await waitFor(async () => { + await expect(svg).toBeInTheDocument(); + }); + }, +}; diff --git a/web/src/stories/components/SelectMenu/SelectMenu.stories.tsx b/web/src/stories/components/SelectMenu/SelectMenu.stories.tsx new file mode 100644 index 0000000..83d7e4c --- /dev/null +++ b/web/src/stories/components/SelectMenu/SelectMenu.stories.tsx @@ -0,0 +1,69 @@ +import { expect } from '@storybook/jest'; +import type { Meta, StoryObj } from '@storybook/react'; +import { userEvent, waitFor, within } from '@storybook/testing-library'; + +import Component from '@components/SelectMenu'; + +const componentMeta: Meta = { + title: 'Components/SelectMenu', + component: Component, + args: { + id: 'test-id', + data: [ + { id: 1, name: 'Wade Cooper' }, + { id: 2, name: 'Arlene Mccoy' }, + { id: 3, name: 'Devon Webb' }, + { id: 4, name: 'Tom Cook' }, + { id: 5, name: 'Tanya Fox' }, + { id: 6, name: 'Hellen Schmidt' }, + { id: 7, name: 'Caroline Schultz' }, + { id: 8, name: 'Mason Heaney' }, + { id: 9, name: 'Claudie Smitham' }, + { id: 10, name: 'Emil Schaefer' }, + ], + label: undefined, + initialSelectedIndex: 2, + }, + tags: ['autodocs'], + argTypes: { + id: { + table: { defaultValue: { summary: 'test-id' } }, + control: { type: 'text' }, + }, + data: { + control: { type: 'array' }, + }, + label: { + control: { type: 'text' }, + }, + initialSelectedIndex: { + table: { defaultValue: { summary: 0 }, control: { type: 'number' } }, + }, + onChange: { action: true }, + }, + parameters: { + actions: { + handles: ['mouseover input', 'click input'], + }, + }, +}; + +export default componentMeta; + +export const Default: StoryObj = { + play: async ({ args, canvasElement }) => { + const canvas = within(canvasElement); + const menu = canvas.getByTestId('menu'); + let selectedItem = canvas.getByTestId('selected-item-name'); + expect(selectedItem).toHaveTextContent(args.data[args.initialSelectedIndex || 0].name); + const data = args.data[0]; + await userEvent.click(menu); + await waitFor(async () => { + const item = canvas.getByTestId(data.id); + await userEvent.click(item); + }); + await expect(args.onChange).toHaveBeenCalledWith(data); + selectedItem = canvas.getByTestId('selected-item-name'); + expect(selectedItem).toHaveTextContent(data.name); + }, +}; diff --git a/web/src/stories/components/Slider/Slider.stories.tsx b/web/src/stories/components/Slider/Slider.stories.tsx new file mode 100644 index 0000000..bff1755 --- /dev/null +++ b/web/src/stories/components/Slider/Slider.stories.tsx @@ -0,0 +1,26 @@ +import { expect } from '@storybook/jest'; +import type { Meta, StoryObj } from '@storybook/react'; +import { waitFor, within } from '@storybook/testing-library'; + +import Component from '@components/Slider'; + +const componentMeta: Meta = { + title: 'Components/Slider', + component: Component, + args: { + label: 'Current time', + maxValue: 720, + step: 1, + numberFormatter: new Intl.NumberFormat('en-US', { + style: 'decimal', + maximumFractionDigits: 0, + }), + }, + tags: ['autodocs'], + argTypes: {}, + parameters: {}, +}; + +export default componentMeta; + +export const Default: StoryObj = {};