From 869369ecf25f14acb0d5bde3fb9cbef9ecadeddd Mon Sep 17 00:00:00 2001 From: Nick Z <2420177+nickzelei@users.noreply.github.com> Date: Mon, 3 Feb 2025 20:12:23 -0800 Subject: [PATCH] moving to keycloak v11, work in progress --- .eslintrc.cjs | 25 - .prettierignore | 6 + .prettierrc.json | 25 + .storybook/main.ts | 22 +- .storybook/preview-head.html | 25 + .storybook/preview.ts | 17 +- LICENSE | 21 - eslint.config.js | 48 + index.html | 137 +- package-lock.json | 9986 +++++++---------- package.json | 58 +- public/fonts/WorkSans/font.css | 36 - .../WorkSans/worksans-bold-webfont.woff2 | Bin 47488 -> 0 bytes .../WorkSans/worksans-medium-webfont.woff2 | Bin 47488 -> 0 bytes .../WorkSans/worksans-regular-webfont.woff2 | Bin 47488 -> 0 bytes .../WorkSans/worksans-semibold-webfont.woff2 | Bin 47488 -> 0 bytes public/silent-sso.html | 7 - public/terms/en.md | 117 - src/PosthogProvider.tsx | 0 src/README.md | 29 - src/account/KcApp.css | 10 - src/account/KcApp.tsx | 40 - src/account/Template.tsx | 159 - src/account/assets/background.svg | 132 - src/account/createPageStory.tsx | 30 - src/account/i18n.ts | 6 - src/account/kcContext.ts | 20 - src/account/pages/MyExtraPage1.tsx | 15 - src/account/pages/MyExtraPage2.tsx | 18 - src/account/pages/Password.stories.tsx | 22 - src/account/pages/Password.tsx | 105 - src/kc.gen.tsx | 49 + src/login/KcApp.css | 17 +- src/login/KcApp.tsx | 118 - src/login/KcContext.ts | 14 + src/login/KcPage.tsx | 54 + src/login/KcPageStory.tsx | 45 + src/login/Template.tsx | 456 +- src/login/Template2.tsx | 299 + src/login/components/SideImageContet.tsx | 56 + src/login/createPageStory.tsx | 30 - src/login/i18n.ts | 32 +- src/login/kcContext.ts | 110 - src/login/pages/Login.stories.tsx | 117 - src/login/pages/Login.tsx | 473 +- .../pages/LoginResetPassword.stories.tsx | 30 - src/login/pages/LoginResetPassword.tsx | 98 - src/login/pages/MyExtraPage1.tsx | 21 - src/login/pages/MyExtraPage2.stories.tsx | 28 - src/login/pages/MyExtraPage2.tsx | 29 - src/login/pages/Register.stories.tsx | 18 - src/login/pages/Register.tsx | 183 - .../pages/RegisterUserProfile.stories.tsx | 18 - src/login/pages/RegisterUserProfile.tsx | 95 - src/login/pages/Terms.stories.tsx | 18 - src/login/pages/Terms.tsx | 92 - .../pages/shared/UserProfileFormFields.tsx | 204 - src/main.tsx | 41 +- src/vite-env.d.ts | 5 - tsconfig.json | 18 +- tsconfig.node.json | 4 +- vite.config.ts | 100 +- 62 files changed, 5189 insertions(+), 8799 deletions(-) delete mode 100644 .eslintrc.cjs create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 .storybook/preview-head.html delete mode 100644 LICENSE create mode 100644 eslint.config.js delete mode 100644 public/fonts/WorkSans/font.css delete mode 100644 public/fonts/WorkSans/worksans-bold-webfont.woff2 delete mode 100644 public/fonts/WorkSans/worksans-medium-webfont.woff2 delete mode 100644 public/fonts/WorkSans/worksans-regular-webfont.woff2 delete mode 100644 public/fonts/WorkSans/worksans-semibold-webfont.woff2 delete mode 100644 public/silent-sso.html delete mode 100644 public/terms/en.md delete mode 100644 src/PosthogProvider.tsx delete mode 100644 src/README.md delete mode 100644 src/account/KcApp.css delete mode 100644 src/account/KcApp.tsx delete mode 100644 src/account/Template.tsx delete mode 100644 src/account/assets/background.svg delete mode 100644 src/account/createPageStory.tsx delete mode 100644 src/account/i18n.ts delete mode 100644 src/account/kcContext.ts delete mode 100644 src/account/pages/MyExtraPage1.tsx delete mode 100644 src/account/pages/MyExtraPage2.tsx delete mode 100644 src/account/pages/Password.stories.tsx delete mode 100644 src/account/pages/Password.tsx create mode 100644 src/kc.gen.tsx delete mode 100644 src/login/KcApp.tsx create mode 100644 src/login/KcContext.ts create mode 100644 src/login/KcPage.tsx create mode 100644 src/login/KcPageStory.tsx create mode 100644 src/login/Template2.tsx create mode 100644 src/login/components/SideImageContet.tsx delete mode 100644 src/login/createPageStory.tsx delete mode 100644 src/login/kcContext.ts delete mode 100644 src/login/pages/Login.stories.tsx delete mode 100644 src/login/pages/LoginResetPassword.stories.tsx delete mode 100644 src/login/pages/LoginResetPassword.tsx delete mode 100644 src/login/pages/MyExtraPage1.tsx delete mode 100644 src/login/pages/MyExtraPage2.stories.tsx delete mode 100644 src/login/pages/MyExtraPage2.tsx delete mode 100644 src/login/pages/Register.stories.tsx delete mode 100644 src/login/pages/Register.tsx delete mode 100644 src/login/pages/RegisterUserProfile.stories.tsx delete mode 100644 src/login/pages/RegisterUserProfile.tsx delete mode 100644 src/login/pages/Terms.stories.tsx delete mode 100644 src/login/pages/Terms.tsx delete mode 100644 src/login/pages/shared/UserProfileFormFields.tsx diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index ff5edfe..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - root: true, - env: { browser: true, es2020: true }, - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:react-hooks/recommended', 'plugin:storybook/recommended'], - ignorePatterns: ['dist', '.eslintrc.cjs'], - parser: '@typescript-eslint/parser', - plugins: ['react-refresh'], - rules: { - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - 'react-hooks/exhaustive-deps': 'off', - '@typescript-eslint/no-redeclare': 'off', - 'no-labels': 'off', - }, - overrides: [ - { - files: ['**/*.stories.*'], - rules: { - 'import/no-anonymous-default-export': 'off', - }, - }, - ], -} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..770d01c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +node_modules/ +/dist/ +/dist_keycloak/ +/public/keycloakify-dev-resources/ +/.vscode/ +/.yarn_home/ \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..6281138 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,25 @@ +{ + "printWidth": 90, + "tabWidth": 4, + "useTabs": false, + "semi": true, + "singleQuote": false, + "trailingComma": "none", + "bracketSpacing": true, + "arrowParens": "avoid", + "overrides": [ + { + "files": [ + "**/login/pages/*.tsx", + "**/account/pages/*.tsx", + "**/login/Template.tsx", + "**/account/Template.tsx", + "**/login/UserProfileFormFields.tsx", + "KcApp.tsx" + ], + "options": { + "printWidth": 150 + } + } + ] +} diff --git a/.storybook/main.ts b/.storybook/main.ts index 305ca53..baa14a4 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,20 +1,12 @@ import type { StorybookConfig } from "@storybook/react-vite"; const config: StorybookConfig = { - stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], - addons: [ - "@storybook/addon-links", - "@storybook/addon-essentials", - "@storybook/addon-onboarding", - "@storybook/addon-interactions", - ], - framework: { - name: "@storybook/react-vite", - options: {}, - }, - docs: { - autodocs: "tag", - }, - staticDirs: ["../public"] + stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], + addons: [], + framework: { + name: "@storybook/react-vite", + options: {} + }, + staticDirs: ["../public"] }; export default config; diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html new file mode 100644 index 0000000..da831e5 --- /dev/null +++ b/.storybook/preview-head.html @@ -0,0 +1,25 @@ + diff --git a/.storybook/preview.ts b/.storybook/preview.ts index ff58bbd..9e8a01c 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,15 +1,14 @@ import type { Preview } from "@storybook/react"; const preview: Preview = { - parameters: { - actions: { argTypesRegex: "^on[A-Z].*" }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/i, - }, - }, - }, + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i + } + } + } }; export default preview; diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 61f220f..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 GitHub user u/garronej - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..efb183c --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,48 @@ +import typescriptEslint from "typescript-eslint"; +import reactRefresh from "eslint-plugin-react-refresh"; +import react from "eslint-plugin-react"; +import reactHooks from "eslint-plugin-react-hooks"; +import eslintConfigPrettier from "eslint-config-prettier"; +import globals from "globals"; +import js from "@eslint/js"; +import storybook from "eslint-plugin-storybook"; + +export default typescriptEslint.config( + js.configs.recommended, + ...typescriptEslint.configs.recommended, + react.configs.flat.recommended, + react.configs.flat["jsx-runtime"], + eslintConfigPrettier, + ...storybook.configs["flat/recommended"], + { + ignores: ["dist/**", "public/**"], + }, + { + plugins: { + "react-refresh": reactRefresh, + "react-hooks": reactHooks, + }, + languageOptions: { + globals: { + ...globals.browser, + }, + }, + settings: { + react: { + version: "detect", + }, + }, + rules: { + "react-refresh/only-export-components": ["warn", { allowConstantExport: true }], + "react-hooks/exhaustive-deps": "off", + "@typescript-eslint/no-redeclare": "off", + "no-labels": "off", + }, + }, + { + files: ["**/*.stories.*"], + rules: { + "import/no-anonymous-default-export": "off", + }, + }, +); diff --git a/index.html b/index.html index 76de1e4..6ec2c8a 100644 --- a/index.html +++ b/index.html @@ -1,123 +1,34 @@ - - - - - - Neosync - - - + - - - - - - - + +
+ + - - - - - - -
- - diff --git a/package-lock.json b/package-lock.json index c9ed0d8..2753247 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,80 +1,71 @@ { "name": "@neosync/keycloakify", - "version": "1.0.12", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@neosync/keycloakify", - "version": "1.0.12", + "version": "2.0.0", "license": "MIT", "dependencies": { - "evt": "^2.5.7", - "keycloakify": "^9.7.0", - "posthog-js": "^1.180.1", + "keycloakify": "^11.8.8", + "posthog-js": "^1.215.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@storybook/addon-essentials": "^8.3.1", - "@storybook/addon-interactions": "^8.3.1", - "@storybook/addon-links": "^8.3.1", - "@storybook/addon-onboarding": "^8.3.1", - "@storybook/blocks": "^8.1.5", - "@storybook/react": "^8.3.1", - "@storybook/react-vite": "^8.3.1", - "@storybook/test": "^8.1.5", - "@types/react": "^18.3.7", - "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.16.1", - "@typescript-eslint/parser": "^7.16.1", - "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.12", - "eslint-plugin-storybook": "^0.8.0", - "storybook": "^8.1.9", - "typescript": "^5.6.2", - "vite": "^5.4.6", - "vite-plugin-commonjs": "^0.10.3" + "@eslint/js": "^9.15.0", + "@storybook/react": "^8.1.10", + "@storybook/react-vite": "^8.1.10", + "@types/react": "^18.2.43", + "@types/react-dom": "^18.2.17", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^9.15.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "eslint-plugin-storybook": "^0.11.1", + "globals": "^15.12.0", + "prettier": "3.3.1", + "storybook": "^8.1.10", + "typescript": "^5.2.2", + "typescript-eslint": "^8.15.0", + "vite": "^5.0.8" }, - "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "4.21.3" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^18.0.0 || >=20.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "4.31.1" } }, - "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", - "dev": true - }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -82,30 +73,32 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", - "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", + "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.26.7", + "@babel/types": "^7.26.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -122,6 +115,8 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -129,28 +124,32 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", - "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.9", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -158,88 +157,40 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", - "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -249,158 +200,68 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@babel/parser": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/types": "^7.26.7" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", "bin": { "parser": "bin/babel-parser.js" }, @@ -409,12 +270,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", - "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -424,12 +286,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", - "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -438,45 +301,33 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.23.9", + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.14.0" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "node_modules/@babel/traverse": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", + "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", - "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.7", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -486,6 +337,8 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "license": "MIT", "engines": { @@ -493,95 +346,96 @@ } }, "node_modules/@babel/types": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", - "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@base2/pretty-print-object": { - "version": "1.0.1", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -591,340 +445,437 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", "cpu": [ - "x64" + "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", "cpu": [ - "arm64" + "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ - "openbsd" + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" ], "engines": { "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.4", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -932,127 +883,162 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10.10.0" + "node": "*" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", + "node_modules/@eslint/js": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", + "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": ">=12.22" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=12" + "node": ">=18.18.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=18.18" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=12.22" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=18.18" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.3.1.tgz", - "integrity": "sha512-pdoMZ9QaPnVlSM+SdU/wgg0nyD/8wQ7y90ttO2CMCyrrm7RxveYIJ5eNfjPaoMFqW41LZra7QO9j+xV4Y18Glw==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.4.2.tgz", + "integrity": "sha512-feQ+ntr+8hbVudnsTUapiMN9q8T90XA1d5jn9QzY09sNoj4iD9wi0PY1vsBFTda4ZjEaxRK9S81oarR2nj7TFQ==", "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.2.0", - "glob-promise": "^4.2.0", "magic-string": "^0.27.0", "react-docgen-typescript": "^2.2.2" }, "peerDependencies": { "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1065,6 +1051,7 @@ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" }, @@ -1073,9 +1060,11 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1086,7 +1075,10 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -1096,55 +1088,34 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@mdx-js/react": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", - "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", - "dev": true, - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, "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, "license": "MIT", "dependencies": { @@ -1157,6 +1128,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, "license": "MIT", "engines": { @@ -1165,6 +1138,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, "license": "MIT", "dependencies": { @@ -1175,140 +1150,16 @@ "node": ">= 8" } }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@octokit/core": { - "version": "3.6.0", - "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "license": "MIT", - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.40.0" - }, - "peerDependencies": { - "@octokit/core": ">=2" - } - }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "license": "MIT", - "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" - }, - "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/request": { - "version": "5.6.3", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/request-error": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@octokit/rest": { - "version": "18.12.0", - "license": "MIT", - "dependencies": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" - } - }, - "node_modules/@octokit/types": { - "version": "6.41.0", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@rollup/pluginutils": { - "version": "5.1.0", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "picomatch": "^4.0.2" }, "engines": { "node": ">=14.0.0" @@ -1323,240 +1174,266 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz", - "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.1.tgz", + "integrity": "sha512-kwctwVlswSEsr4ljpmxKrRKp1eG1v2NAhlzFzDf1x1OdYaMjBYjDCbHkzWm57ZXzTwqn8stMXgROrnMw8dJK3w==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz", - "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.1.tgz", + "integrity": "sha512-4H5ZtZitBPlbPsTv6HBB8zh1g5d0T8TzCmpndQdqq20Ugle/nroOyDMf9p7f88Gsu8vBLU78/cuh8FYHZqdXxw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz", - "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.1.tgz", + "integrity": "sha512-f2AJ7Qwx9z25hikXvg+asco8Sfuc5NCLg8rmqQBIOUoWys5sb/ZX9RkMZDPdnnDevXAMJA5AWLnRBmgdXGEUiA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz", - "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.1.tgz", + "integrity": "sha512-+/2JBrRfISCsWE4aEFXxd+7k9nWGXA8+wh7ZUHn/u8UDXOU9LN+QYKKhd57sIn6WRcorOnlqPMYFIwie/OHXWw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.1.tgz", + "integrity": "sha512-SUeB0pYjIXwT2vfAMQ7E4ERPq9VGRrPR7Z+S4AMssah5EHIilYqjWQoTn5dkDtuIJUSTs8H+C9dwoEcg3b0sCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.1.tgz", + "integrity": "sha512-L3T66wAZiB/ooiPbxz0s6JEX6Sr2+HfgPSK+LMuZkaGZFAFCQAHiP3dbyqovYdNaiUXcl9TlgnIbcsIicAnOZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz", - "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.1.tgz", + "integrity": "sha512-UBXdQ4+ATARuFgsFrQ+tAsKvBi/Hly99aSVdeCUiHV9dRTTpMU7OrM3WXGys1l40wKVNiOl0QYY6cZQJ2xhKlQ==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz", - "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.1.tgz", + "integrity": "sha512-m/yfZ25HGdcCSwmopEJm00GP7xAUyVcBPjttGLRAqZ60X/bB4Qn6gP7XTwCIU6bITeKmIhhwZ4AMh2XLro+4+w==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz", - "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.1.tgz", + "integrity": "sha512-Wy+cUmFuvziNL9qWRRzboNprqSQ/n38orbjRvd6byYWridp5TJ3CD+0+HUsbcWVSNz9bxkDUkyASGP0zS7GAvg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz", - "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.1.tgz", + "integrity": "sha512-CQ3MAGgiFmQW5XJX5W3wnxOBxKwFlUAgSXFA2SwgVRjrIiVt5LHfcQLeNSHKq5OEZwv+VCBwlD1+YKCjDG8cpg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz", - "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==", + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.1.tgz", + "integrity": "sha512-rSzb1TsY4lSwH811cYC3OC2O2mzNMhM13vcnA7/0T6Mtreqr3/qs6WMDriMRs8yvHDI54qxHgOk8EV5YRAHFbw==", "cpu": [ - "ppc64" + "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz", - "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==", + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.1.tgz", + "integrity": "sha512-fwr0n6NS0pG3QxxlqVYpfiY64Fd1Dqd8Cecje4ILAV01ROMp4aEdCj5ssHjRY3UwU7RJmeWd5fi89DBqMaTawg==", "cpu": [ - "riscv64" + "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz", - "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.1.tgz", + "integrity": "sha512-4uJb9qz7+Z/yUp5RPxDGGGUcoh0PnKF33QyWgEZ3X/GocpWb6Mb+skDh59FEt5d8+Skxqs9mng6Swa6B2AmQZg==", "cpu": [ - "s390x" + "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz", - "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.1.tgz", + "integrity": "sha512-QlIo8ndocWBEnfmkYqj8vVtIUpIqJjfqKggjy7IdUncnt8BGixte1wDON7NJEvLg3Kzvqxtbo8tk+U1acYEBlw==", "cpu": [ - "x64" + "s390x" ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz", - "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.1.tgz", + "integrity": "sha512-jqtKrO715hDlvUcEsPn55tZt2TEiBvBtCMkUuU0R6fO/WPT7lO9AONjPbd8II7/asSiNVQHCMn4OLGigSuxVQA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz", - "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.1.tgz", + "integrity": "sha512-RnHy7yFf2Wz8Jj1+h8klB93N0NHNHXFhNwAmiy9zJdpY7DE01VbEVtPdrK1kkILeIbHGRJjvfBDBhnxBr8kD4g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz", - "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.1.tgz", + "integrity": "sha512-i7aT5HdiZIcd7quhzvwQ2oAuX7zPYrYfkrd1QFfs28Po/i0q6kas/oRrzGlDhAEyug+1UfUtkWdmoVlLJj5x9Q==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz", - "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.1.tgz", + "integrity": "sha512-k3MVFD9Oq+laHkw2N2v7ILgoa9017ZMF/inTtHzyTVZjYs9cSH18sdyAf6spBAJIGwJ5UaC7et2ZH1WCdlhkMw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@storybook/addon-actions": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.1.tgz", - "integrity": "sha512-f00NxBNBcsMHqtwsOpRbZKrNMLdUjnSg1G6zYdVxAG7NwxzgpqPZm37I36ebFmgz/WO2XQ3ihxzfV2IKFuiZ6g==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "@types/uuid": "^9.0.1", - "dequal": "^2.0.2", - "polished": "^4.2.2", - "uuid": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.3.1" - } - }, - "node_modules/@storybook/addon-backgrounds": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.1.tgz", - "integrity": "sha512-HPQElHIi5SMWJTOimYt27QaiPrrwTprVShVfq3gQKpUcDJhT4qMpI3Bn3JCtthPlXlUA+miZcNdNRTIc2XzhSA==", + "node_modules/@storybook/builder-vite": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.5.3.tgz", + "integrity": "sha512-MxriwzZSVidaXj3kpH/jCOJZUdF7ofcvxmvrMrNehH9UvXIGM6b73CBC5ucnptbnQ7qxYKdAZiMhQbPHZ9cqOQ==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3", + "@storybook/csf-plugin": "8.5.3", + "browser-assert": "^1.2.1", "ts-dedent": "^2.0.0" }, "funding": { @@ -1564,240 +1441,171 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "storybook": "^8.5.3", + "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" } }, - "node_modules/@storybook/addon-controls": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.1.tgz", - "integrity": "sha512-zqVNRGQ2GS1ReDZ6YTAl+pLmnrOWwE3OUsByRfzHCYlmO55TxYi92HBTSbAXyWRKyqVUKH69PmbKGukc83aX2Q==", + "node_modules/@storybook/components": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.5.3.tgz", + "integrity": "sha512-iC9VbpM8Equ8wXI2syBzov+8wys4sGYW7Xfz67LdSVbCMhsH9FRtvgbDppJQC/ZDCofg4sTAHhWpDV/KAQ385A==", "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "ts-dedent": "^2.0.0" - }, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, - "node_modules/@storybook/addon-docs": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.1.tgz", - "integrity": "sha512-8ES7ThajpKDoMheAthnDDg/lXUsIxzV+EdHuE4WnRoiw+25XfYr9WIEuEpytRz/drouJhunOgOJV0kCPxZ3XgQ==", + "node_modules/@storybook/core": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.5.3.tgz", + "integrity": "sha512-ZLlr2pltbj/hmC54lggJTnh09FCAJR62lIdiXNwa+V+/eJz0CfD8tfGmZGKPSmaQeZBpMwAOeRM97k2oLPF+0w==", "dev": true, + "license": "MIT", "dependencies": { - "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.3.1", - "@storybook/csf-plugin": "8.3.1", - "@storybook/global": "^5.0.0", - "@storybook/react-dom-shim": "8.3.1", - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "fs-extra": "^11.1.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "rehype-external-links": "^3.0.0", - "rehype-slug": "^6.0.0", - "ts-dedent": "^2.0.0" + "@storybook/csf": "0.1.12", + "better-opn": "^3.0.2", + "browser-assert": "^1.2.1", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", + "esbuild-register": "^3.5.0", + "jsdoc-type-pratt-parser": "^4.0.0", + "process": "^0.11.10", + "recast": "^0.23.5", + "semver": "^7.6.2", + "util": "^0.12.5", + "ws": "^8.2.3" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, - "node_modules/@storybook/addon-essentials": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.1.tgz", - "integrity": "sha512-5dNlKKJveBYqe1OT4dSE7V7ZjhULWnL238oeHz6wabjfL/l7W9MgLke5mxir4xSaAKf5sOg+QFK+RSmYYih4pg==", + "node_modules/@storybook/core/node_modules/@storybook/csf": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.12.tgz", + "integrity": "sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/addon-actions": "8.3.1", - "@storybook/addon-backgrounds": "8.3.1", - "@storybook/addon-controls": "8.3.1", - "@storybook/addon-docs": "8.3.1", - "@storybook/addon-highlight": "8.3.1", - "@storybook/addon-measure": "8.3.1", - "@storybook/addon-outline": "8.3.1", - "@storybook/addon-toolbars": "8.3.1", - "@storybook/addon-viewport": "8.3.1", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.3.1" + "type-fest": "^2.19.0" } }, - "node_modules/@storybook/addon-highlight": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.1.tgz", - "integrity": "sha512-hEB4O1a76SGEJypjPwjvBT8e9+pWptAD6VY995gtsOrMLaV0213DJV8aEGJRXhELEk2sr8WUaoYhzxxtgD97KA==", + "node_modules/@storybook/csf": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.13.tgz", + "integrity": "sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.3.1" + "type-fest": "^2.19.0" } }, - "node_modules/@storybook/addon-interactions": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.3.1.tgz", - "integrity": "sha512-EQiemx7ZvI9r4WrWmKB7hvoh9XO+YJh61LNEBLrdnSnRITJKGFrJtqnfuSrvQXWxFVi6U1PtSqDzCV8z0IwK2g==", + "node_modules/@storybook/csf-plugin": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.5.3.tgz", + "integrity": "sha512-u5oyXTFg3KIy4h9qoNyiCG2mJF3OpkLO/AcM4lMAwQVnBvz8pwITvr4jDZByVjGmcIbgKJQnWX+BwdK2NI4yAw==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.3.1", - "@storybook/test": "8.3.1", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" + "unplugin": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "storybook": "^8.5.3" } }, - "node_modules/@storybook/addon-links": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.3.1.tgz", - "integrity": "sha512-xhd1cXpHKn9mr87ImcEOV+YexDZcITzxFQoW2m5ocGkMyVFotK6NjOk/f9xsZAGIp4T7axsdEmwFNSovHgw91A==", + "node_modules/@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.11", - "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.1" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/@storybook/addon-measure": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.1.tgz", - "integrity": "sha512-XL7Rph0K0vggVcY7mxGws9SNzLJlCvzrPJdz1xZBKBLLd0fdpbR5Y+1oP1w/7qhZ9Xrg44VRVs4yUzCYUeK2OQ==", + "node_modules/@storybook/manager-api": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.5.3.tgz", + "integrity": "sha512-JtfuMgQpKIPU0ARn1jNPce8FmknpM0Ap0mppWl+KGAWWGadJPDaX/nrY/19dT1kRgIhyOnbX6tgJxII4E9dE5w==", "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "tiny-invariant": "^1.3.1" - }, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, - "node_modules/@storybook/addon-onboarding": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-8.3.1.tgz", - "integrity": "sha512-Fn5xJ2sWRn7heHqH6cx55InkToYt6zX7g8ffe1wwcCYgrTf1Z7oLrCoeW0AC4iKC+r2wF+nNZFgoeqMCgGBFvQ==", + "node_modules/@storybook/preview-api": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.5.3.tgz", + "integrity": "sha512-dUsuXW+KgDg4tWXOB6dk5j5gwwRUzbPvicHAY9mzbpSVScbWXuE5T/S/9hHlbtfkhFroWQgPx2eB8z3rai+7RQ==", "dev": true, - "dependencies": { - "react-confetti": "^6.1.0" - }, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, - "node_modules/@storybook/addon-outline": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.1.tgz", - "integrity": "sha512-bpxiffkMjWbrVAmbonzkGaTQp3zCECOP5B4Uw0oRfH7YVZgUsj1brRjVsMvBB1bwDP/ijj46X12OcZjqVEJP5Q==", + "node_modules/@storybook/react": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.5.3.tgz", + "integrity": "sha512-QIdBSjsnwV/J919i4Fi7DlwxDKHU815t0c4B/w2KTMtKKBkk+Bge+vgVi0/lNqD3eF4w3yjVWGbkzUQZ63yiPg==", "dev": true, + "license": "MIT", "dependencies": { + "@storybook/components": "8.5.3", "@storybook/global": "^5.0.0", - "ts-dedent": "^2.0.0" + "@storybook/manager-api": "8.5.3", + "@storybook/preview-api": "8.5.3", + "@storybook/react-dom-shim": "8.5.3", + "@storybook/theming": "8.5.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=18.0.0" }, - "peerDependencies": { - "storybook": "^8.3.1" - } - }, - "node_modules/@storybook/addon-toolbars": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.1.tgz", - "integrity": "sha512-bjlQP9a56O4OCI4g9tDNm51frBcHaFpHma3MJ1vg302oj/XOQrec/am2sA0E6L1l4Hih2PkRYTamo3+GmQRJug==", - "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" - } - }, - "node_modules/@storybook/addon-viewport": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.1.tgz", - "integrity": "sha512-Z0Ls3ThjOx56KE4I5ampOtfK7G4/AAa0bOoaFq7+bLOomXMtZsC3yyXyrm5YQ6ZHmeP2XaXmOe52HDsvq+ko2Q==", - "dev": true, - "dependencies": { - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@storybook/test": "8.5.3", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "storybook": "^8.5.3", + "typescript": ">= 4.2.x" }, - "peerDependencies": { - "storybook": "^8.3.1" + "peerDependenciesMeta": { + "@storybook/test": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/@storybook/blocks": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.1.tgz", - "integrity": "sha512-/wNLRVWR/edzHQAFvSW68VxHYmBcfXpL/XdO46I5Z1X/tXUd0rtgGZmliQ2jZ242FqxcT8guqqFGehbeYUns5w==", + "node_modules/@storybook/react-dom-shim": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.5.3.tgz", + "integrity": "sha512-kNIGk6mpXW3Wy+uS9pH9b9w/54EPJnH+QXA6MX4EQgmxhMQlGlS/l/YZp+3jsVQW4YgTmqe740qB+ccJAKZxBQ==", "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.11", - "@storybook/global": "^5.0.0", - "@storybook/icons": "^1.2.10", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.4.5", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -1805,1655 +1613,1770 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.1" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "storybook": "^8.5.3" } }, - "node_modules/@storybook/builder-vite": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.3.1.tgz", - "integrity": "sha512-IxfgIuQo9R+zcwoBE85PkCSKWGbPVStJgm1VHO/mixIdZExanbAhDS+L21nAZCelTvcsObTN76BN953v2LjVGg==", + "node_modules/@storybook/react-vite": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.5.3.tgz", + "integrity": "sha512-F30u2Xf+X774wrfQzWgg7vRVJmmJFbBVGdULsAGonkdy1FUeYo7puPiD2Qg6hBYNDyIyxDXVOukkOvTlG7IBRg==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/csf-plugin": "8.3.1", - "@types/find-cache-dir": "^3.2.1", - "browser-assert": "^1.2.1", - "es-module-lexer": "^1.5.0", - "express": "^4.19.2", - "find-cache-dir": "^3.0.0", - "fs-extra": "^11.1.0", + "@joshwooding/vite-plugin-react-docgen-typescript": "0.4.2", + "@rollup/pluginutils": "^5.0.2", + "@storybook/builder-vite": "8.5.3", + "@storybook/react": "8.5.3", + "find-up": "^5.0.0", "magic-string": "^0.30.0", - "ts-dedent": "^2.0.0" + "react-docgen": "^7.0.0", + "resolve": "^1.22.8", + "tsconfig-paths": "^4.2.0" + }, + "engines": { + "node": ">=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "@preact/preset-vite": "*", - "storybook": "^8.3.1", - "typescript": ">= 4.3.x", - "vite": "^4.0.0 || ^5.0.0", - "vite-plugin-glimmerx": "*" + "@storybook/test": "8.5.3", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "storybook": "^8.5.3", + "vite": "^4.0.0 || ^5.0.0 || ^6.0.0" }, "peerDependenciesMeta": { - "@preact/preset-vite": { - "optional": true - }, - "typescript": { - "optional": true - }, - "vite-plugin-glimmerx": { + "@storybook/test": { "optional": true } } }, - "node_modules/@storybook/components": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.3.1.tgz", - "integrity": "sha512-/CMqX40CpNOKow58oLyO/OvMhHiHCIvOGf/65lXHk/D9qECMvchFfA2/MH8H7HiJUIqoSPit194miBENK5kqdw==", + "node_modules/@storybook/theming": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.5.3.tgz", + "integrity": "sha512-Jvzw+gT1HNarkJo21WZBq5pU89qDN8u/pD3woSh/1c2h5RS6UylWjQHotPFpcBIQiUSrDFtvCU9xugJm4MD0+w==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.3.1" + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, - "node_modules/@storybook/core": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.3.1.tgz", - "integrity": "sha512-L8YTtUipcBvl4F8jFNnXU3NM1hnLwZ3Ge2l+SRVKUGoAZzdf/I8O/0eOeZ+3LM3PvDn8bC9x+qjhNyDgtT+ieQ==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/csf": "^0.1.11", - "@types/express": "^4.17.21", - "better-opn": "^3.0.2", - "browser-assert": "^1.2.1", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0", - "esbuild-register": "^3.5.0", - "express": "^4.19.2", - "jsdoc-type-pratt-parser": "^4.0.0", - "process": "^0.11.10", - "recast": "^0.23.5", - "semver": "^7.6.2", - "util": "^0.12.5", - "ws": "^8.2.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@storybook/csf": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", - "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==", + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^2.19.0" + "@babel/types": "^7.0.0" } }, - "node_modules/@storybook/csf-plugin": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.1.tgz", - "integrity": "sha512-K3JWJf79+BkJAbOnAns5KGQ9h0NCqWht/1B05frj9LuAD/U+0sikpByiC2QvJ+qtX4fODhqjRYvrv2jgP8o3mA==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, + "license": "MIT", "dependencies": { - "unplugin": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.3.1" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@storybook/global": { - "version": "5.0.0", + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/icons": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.10.tgz", - "integrity": "sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og==", - "dev": true, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" } }, - "node_modules/@storybook/instrumenter": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.3.1.tgz", - "integrity": "sha512-TtECvALgEPLafdy+YHXz2+xBPobiSMHj532nS7tkqxD9aRD1+Ocy6pWWNaP9+iiWWnHIWlTQ0M/7UEoCxV+Ksg==", + "node_modules/@types/doctrine": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", + "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/global": "^5.0.0", - "@vitest/utils": "^2.0.5", - "util": "^0.12.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.3.1" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/@storybook/manager-api": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.1.tgz", - "integrity": "sha512-GHJr1/nNAfkzNs4P8z31zBN8ZBucMfl+aSH6ciCy12jN3dOmEfb67mx3aes2PmBJjY3K8HG2lgsO9tNKIyDJXQ==", + "node_modules/@types/react-dom": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, + "license": "MIT", "peerDependencies": { - "storybook": "^8.3.1" + "@types/react": "^18.0.0" } }, - "node_modules/@storybook/preview-api": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.1.tgz", - "integrity": "sha512-mpeeQi0DiK6lGiFEa/iAXNQykZB/wv9UiI5MYwxfgVTCCIh7skeBQsu/7Ye+C+KyXgrNmH5YAP3CjYfkFVimhQ==", + "node_modules/@types/resolve": { + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", + "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz", + "integrity": "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/type-utils": "8.23.0", + "@typescript-eslint/utils": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "storybook": "^8.3.1" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@storybook/react": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.3.1.tgz", - "integrity": "sha512-uxr5o5TzUHB1vFMgdayxatDTYUYWJxDse4hcpr+D2E5QMrMCKBk/KRYgJtnPhmEBASoT40lcZvYmEWnP973KWA==", + "node_modules/@typescript-eslint/parser": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.23.0.tgz", + "integrity": "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/components": "^8.3.1", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "^8.3.1", - "@storybook/preview-api": "^8.3.1", - "@storybook/react-dom-shim": "8.3.1", - "@storybook/theming": "^8.3.1", - "@types/escodegen": "^0.0.6", - "@types/estree": "^0.0.51", - "@types/node": "^22.0.0", - "acorn": "^7.4.1", - "acorn-jsx": "^5.3.1", - "acorn-walk": "^7.2.0", - "escodegen": "^2.1.0", - "html-tags": "^3.1.0", - "prop-types": "^15.7.2", - "react-element-to-jsx-string": "^15.0.0", - "semver": "^7.3.7", - "ts-dedent": "^2.0.0", - "type-fest": "~2.19", - "util-deprecate": "^1.0.2" + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/typescript-estree": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@storybook/test": "8.3.1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.1", - "typescript": ">= 4.2.x" - }, - "peerDependenciesMeta": { - "@storybook/test": { - "optional": true - }, - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@storybook/react-dom-shim": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.1.tgz", - "integrity": "sha512-nHMhXkt3FAm8c08QTTU70vpYhsAu65RpCv/uhYZ89H5OWvmLFHn36iJQPzlpWFtJHJ5+bAV/bfgNODR3BV1gRg==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz", + "integrity": "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==", "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.1" + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@storybook/react-vite": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.3.1.tgz", - "integrity": "sha512-WjLnYzaiLHCv09UnnMfjJL9RnjmReXbPpRs3VklH87UH8L6j4WLHw7JAEItnyS6ugTxFjcpEg1P1ud4D8c75nA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz", + "integrity": "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==", "dev": true, + "license": "MIT", "dependencies": { - "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.1", - "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "8.3.1", - "@storybook/react": "8.3.1", - "find-up": "^5.0.0", - "magic-string": "^0.30.0", - "react-docgen": "^7.0.0", - "resolve": "^1.22.8", - "tsconfig-paths": "^4.2.0" + "@typescript-eslint/typescript-estree": "8.23.0", + "@typescript-eslint/utils": "8.23.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.3.1", - "vite": "^4.0.0 || ^5.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@storybook/react/node_modules/@types/estree": { - "version": "0.0.51", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/react/node_modules/acorn": { - "version": "7.4.1", + "node_modules/@typescript-eslint/types": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.23.0.tgz", + "integrity": "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@storybook/test": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.3.1.tgz", - "integrity": "sha512-/ZZFZHr+jsO7oBrLFrrCkgkJrh1/AgHBqO8QR0zdTiR0NK0vo2l9v9FXat/VFhSaYTIpVU/NQdNKiPGTKIfAVw==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz", + "integrity": "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/csf": "^0.1.11", - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.3.1", - "@testing-library/dom": "10.4.0", - "@testing-library/jest-dom": "6.5.0", - "@testing-library/user-event": "14.5.2", - "@vitest/expect": "2.0.5", - "@vitest/spy": "2.0.5", - "util": "^0.12.4" + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "storybook": "^8.3.1" + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@storybook/theming": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.1.tgz", - "integrity": "sha512-R6YZnIdN9P9gTauVkZfVmob0/i6/yaAQxnwfMgRLCaFD0TFQ+UQ2pCz40zPAUp3BcNPwMD168GVxmheBb8cGag==", + "node_modules/@typescript-eslint/utils": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.23.0.tgz", + "integrity": "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==", "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/typescript-estree": "8.23.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "storybook": "^8.3.1" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz", + "integrity": "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" + "@typescript-eslint/types": "8.23.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@testing-library/jest-dom": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", - "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", - "redent": "^3.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true - }, - "node_modules/@testing-library/user-event": { - "version": "14.5.2", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", - "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", - "dev": true, - "engines": { - "node": ">=12", - "npm": ">=6" + "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">= 10" + "node": ">=0.4.0" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/escodegen": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, + "license": "MIT", "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.5", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", - "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/find-cache-dir": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", - "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, + "license": "MIT", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/unist": "*" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", + "node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", "dev": true, - "license": "MIT" - }, - "node_modules/@types/lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==", - "dev": true - }, - "node_modules/@types/mdast": { - "version": "3.0.15", "license": "MIT", "dependencies": { - "@types/unist": "^2" + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", - "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.7.tgz", - "integrity": "sha512-KUnDCJF5+AiZd8owLIeVHqmW9yM4sqmDVf2JRJiBMFkGvkoZ4/WyV2lL4zVsoinmRS/W3FeEdZLEWFRofnT2FQ==", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/react": "*" + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/resolve": { - "version": "1.20.6", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, "license": "MIT" }, - "node_modules/@types/semver": { - "version": "7.5.7", + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "open": "^8.0.4" + }, + "engines": { + "node": ">=12.0.0" + } }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "balanced-match": "^1.0.0" } }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/unist": { - "version": "2.0.10", - "license": "MIT" - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "node_modules/browser-assert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", "dev": true }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", - "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/type-utils": "7.16.1", - "@typescript-eslint/utils": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "bin": { + "browserslist": "cli.js" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@typescript-eslint/parser": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", - "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", - "debug": "^4.3.4" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", - "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 0.4" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", - "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/utils": "7.16.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/types": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", - "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", - "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "node_modules/caniuse-lite": { + "version": "1.0.30001696", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001696.tgz", + "integrity": "sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=7.0.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", - "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", + "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" + "url": "https://opencollective.com/core-js" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", - "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "eslint-visitor-keys": "^3.4.3" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 8" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/@vitejs/plugin-react": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", - "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.24.5", - "@babel/plugin-transform-react-jsx-self": "^7.24.5", - "@babel/plugin-transform-react-jsx-source": "^7.24.1", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", - "chai": "^5.1.1", - "tinyrainbow": "^1.2.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/inspect-js" } }, - "node_modules/@vitest/expect/node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, + "license": "MIT", "dependencies": { - "tinyrainbow": "^1.2.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/expect/node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", - "loupe": "^3.1.1", - "tinyrainbow": "^1.2.0" + "ms": "^2.1.3" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@vitest/expect/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } + "license": "MIT" }, - "node_modules/@vitest/pretty-format": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz", - "integrity": "sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { - "tinyrainbow": "^1.2.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { - "tinyspy": "^3.0.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@vitest/utils": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz", - "integrity": "sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==", + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@vitest/pretty-format": "2.1.1", - "loupe": "^3.1.1", - "tinyrainbow": "^1.2.0" + "esutils": "^2.0.2" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, + "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "node_modules/electron-to-chromium": { + "version": "1.5.90", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.90.tgz", + "integrity": "sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "license": "ISC" + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">= 0.4" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, "license": "MIT", "dependencies": { - "humanize-ms": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 0.4" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "es-errors": "^1.3.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/ajv": { - "version": "6.12.6", + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "3.2.0", - "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "hasown": "^2.0.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">= 8" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" } }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/esbuild-register": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", + "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", "dev": true, + "license": "MIT", "dependencies": { - "dequal": "^2.0.3" + "debug": "^4.3.4" + }, + "peerDependencies": { + "esbuild": ">=0.12 <1" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ast-types": { - "version": "0.16.1", + "node_modules/eslint": { + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", + "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.19.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "node_modules/bail": { - "version": "1.0.5", + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "license": "Apache-2.0" - }, - "node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "node_modules/eslint-plugin-react": { + "version": "7.37.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", + "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", "dev": true, + "license": "MIT", "dependencies": { - "open": "^8.0.4" + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", + "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/boolbase": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "peerDependencies": { + "eslint": ">=8.40" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "license": "ISC", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" + "brace-expansion": "^1.1.7" }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "license": "MIT", "engines": { "node": "*" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">= 0.4" + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chai": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", - "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "node_modules/eslint-plugin-storybook": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.11.2.tgz", + "integrity": "sha512-0Z4DUklJrC+GHjCRXa7PYfPzWC15DaVnwaOYenpgXiCEijXPZkLKCms+rHhtoRcWccP7Z8DpOOaP1gc3P9oOwg==", "dev": true, + "license": "MIT", "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "@storybook/csf": "^0.1.11", + "@typescript-eslint/utils": "^8.8.1", + "ts-dedent": "^2.2.0" }, "engines": { - "node": ">=12" + "node": ">= 18" + }, + "peerDependencies": { + "eslint": ">=8" } }, - "node_modules/chalk": { - "version": "4.1.2", + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/eslint" } }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "license": "MIT", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/eslint" } }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 16" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "license": "MIT", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "node": "*" } }, - "node_modules/cheerio-select": { - "version": "2.1.0", + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, "license": "BSD-2-Clause", "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://opencollective.com/eslint" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">= 8.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://opencollective.com/eslint" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "license": "MIT", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/cli-select": { - "version": "1.1.2", - "license": "MIT", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "ansi-escapes": "^3.2.0" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "color-name": "~1.1.4" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4.0" } }, - "node_modules/color-name": { - "version": "1.1.4", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, "license": "MIT" }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/concat-map": { - "version": "0.0.1", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, "license": "MIT" }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "5.2.1" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">= 0.6" + "node": ">=8.6.0" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">= 6" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT" }, - "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true + "license": "MIT" }, - "node_modules/core-js": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", - "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/fastq": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "flat-cache": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">=16.0.0" } }, - "node_modules/css-select": { - "version": "5.1.0", - "license": "BSD-2-Clause", + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "license": "BSD-2-Clause", "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">=8" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, "engines": { - "node": ">=6" + "node": ">=16" } }, - "node_modules/deep-is": { - "version": "0.1.4", + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/for-each": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", + "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", "dev": true, + "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -3462,1352 +3385,1153 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "engines": { - "node": ">= 0.8" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "license": "ISC" - }, - "node_modules/dequal": { - "version": "2.0.3", + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6.9.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dev": true, "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/doctrine": { - "version": "3.0.0", + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/dom-serializer": { - "version": "2.0.0", + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "license": "BSD-2-Clause", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", "dependencies": { - "domelementtype": "^2.3.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 4" + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/domutils": { - "version": "3.1.0", - "license": "BSD-2-Clause", + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.832", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz", - "integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==", - "dev": true + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, "license": "MIT" }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/encoding": { - "version": "0.1.13", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" + "engines": { + "node": ">=8" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" + "es-define-property": "^1.0.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/err-code": { - "version": "2.0.3", - "license": "MIT" - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4" + "dunder-proto": "^1.0.0" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-errors": { - "version": "1.3.0", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.1", - "@esbuild/android-arm": "0.23.1", - "@esbuild/android-arm64": "0.23.1", - "@esbuild/android-x64": "0.23.1", - "@esbuild/darwin-arm64": "0.23.1", - "@esbuild/darwin-x64": "0.23.1", - "@esbuild/freebsd-arm64": "0.23.1", - "@esbuild/freebsd-x64": "0.23.1", - "@esbuild/linux-arm": "0.23.1", - "@esbuild/linux-arm64": "0.23.1", - "@esbuild/linux-ia32": "0.23.1", - "@esbuild/linux-loong64": "0.23.1", - "@esbuild/linux-mips64el": "0.23.1", - "@esbuild/linux-ppc64": "0.23.1", - "@esbuild/linux-riscv64": "0.23.1", - "@esbuild/linux-s390x": "0.23.1", - "@esbuild/linux-x64": "0.23.1", - "@esbuild/netbsd-x64": "0.23.1", - "@esbuild/openbsd-arm64": "0.23.1", - "@esbuild/openbsd-x64": "0.23.1", - "@esbuild/sunos-x64": "0.23.1", - "@esbuild/win32-arm64": "0.23.1", - "@esbuild/win32-ia32": "0.23.1", - "@esbuild/win32-x64": "0.23.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild-register": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.3.4" + "function-bind": "^1.1.2" }, - "peerDependencies": { - "esbuild": ">=0.12 <1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", - "cpu": [ - "ppc64" - ], + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, - "optional": true, - "os": [ - "aix" - ], + "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 4" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", - "cpu": [ - "arm" - ], + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=18" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", - "cpu": [ - "arm64" - ], + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=0.8.19" } }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", - "cpu": [ - "x64" - ], + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", - "cpu": [ - "x64" - ], + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", - "cpu": [ - "arm64" - ], + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", - "cpu": [ - "x64" - ], + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", - "cpu": [ - "arm" - ], + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", - "cpu": [ - "arm64" - ], + "node_modules/is-boolean-object": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", - "cpu": [ - "ia32" - ], + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", - "cpu": [ - "loong64" - ], + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", - "cpu": [ - "mips64el" - ], + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", - "cpu": [ - "ppc64" - ], + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", - "cpu": [ - "riscv64" - ], + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", - "cpu": [ - "s390x" - ], + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=0.10.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", - "cpu": [ - "x64" - ], + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", - "cpu": [ - "x64" - ], + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", - "cpu": [ - "x64" - ], + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, "engines": { - "node": ">=18" + "node": ">=0.10.0" } }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", - "cpu": [ - "x64" - ], + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", - "cpu": [ - "arm64" - ], + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=0.12.0" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", - "cpu": [ - "ia32" - ], + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", - "cpu": [ - "x64" - ], + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, "engines": { - "node": ">=0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escodegen": { - "version": "2.1.0", + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=6.0" + "node": ">= 0.4" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.12.tgz", - "integrity": "sha512-9neVjoGv20FwYtCP6CB1dzR1vr57ZDNOXst21wd2xJ/cTlM2xLq0GWVlSNTdMn/4BtP6cHYBMCSp1wFBJ9jBsg==", - "dev": true, - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-plugin-storybook": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.8.0.tgz", - "integrity": "sha512-CZeVO5EzmPY7qghO2t64oaFM+8FTaD4uzOEjHKp516exyTKo+skKAL9GI3QALS2BXhyALJjNtwbmr1XinGE8bA==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.0.1", - "@typescript-eslint/utils": "^5.62.0", - "requireindex": "^1.2.0", - "ts-dedent": "^2.2.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "eslint": ">=6" - } - }, - "node_modules/eslint-plugin-storybook/node_modules/@storybook/csf": { - "version": "0.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.15" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "which-typed-array": "^1.1.16" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/types": { - "version": "5.62.0", + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", + "node_modules/is-weakref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "call-bound": "^1.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "is-docker": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8" } }, - "node_modules/eslint-plugin-storybook/node_modules/eslint-scope": { - "version": "5.1.1", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } + "license": "MIT" }, - "node_modules/eslint-plugin-storybook/node_modules/estraverse": { - "version": "4.3.0", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } + "license": "ISC" }, - "node_modules/eslint-scope": { - "version": "7.2.2", + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.4" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" }, - "funding": { - "url": "https://opencollective.com/eslint" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", + "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12.0.0" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=10.13.0" + "node": ">=6" } }, - "node_modules/espree": { - "version": "9.6.1", + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "MIT" }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" }, - "node_modules/esquery": { - "version": "1.5.0", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } + "license": "MIT" }, - "node_modules/esrecurse": { - "version": "4.3.0", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/estraverse": { - "version": "5.3.0", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, "engines": { "node": ">=4.0" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" + "node_modules/keycloakify": { + "version": "11.8.13", + "resolved": "https://registry.npmjs.org/keycloakify/-/keycloakify-11.8.13.tgz", + "integrity": "sha512-eR9Kp7CHselq4+mrK0VLVOIjSXuwXh8uT7pSA3yaoTljTBwCCu5STWjWpPrRdYseTkWcIcGXCyyTMkgDIjN2wA==", + "license": "MIT", + "dependencies": { + "tsafe": "^1.8.5" + }, + "bin": { + "keycloakify": "bin/main.js" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/evt": { - "version": "2.5.7", "license": "MIT", "dependencies": { - "minimal-polyfills": "^2.2.3", - "run-exclusive": "^2.2.19", - "tsafe": "^1.6.6" + "json-buffer": "3.0.1" } }, - "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/extend": { - "version": "3.0.2", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.2", - "dev": true, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=8.6.0" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.17.1", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "license": "ISC", "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" + "yallist": "^3.0.2" } }, - "node_modules/fflate": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", - "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "node": ">= 8" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "node": ">=8.6" } }, - "node_modules/find-up": { - "version": "5.0.0", + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/flat-cache": { - "version": "3.2.0", + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=4" } }, - "node_modules/flatted": { - "version": "3.2.9", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.3", + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" + "brace-expansion": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "license": "ISC", "engines": { - "node": ">=14" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "engines": { - "node": ">= 0.6" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/fs-extra": { - "version": "11.2.0", + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=14.14" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" }, - "node_modules/fs.realpath": { - "version": "1.0.0", + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/fsevents": { - "version": "2.3.3", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=0.10.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" + "node": ">= 0.4" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -4816,450 +4540,506 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", - "dev": true - }, - "node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, - "node_modules/glob-promise": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-4.2.2.tgz", - "integrity": "sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==", + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/glob": "^7.1.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "type": "individual", - "url": "https://github.com/sponsors/ahmadnassri" - }, - "peerDependencies": { - "glob": "^7.1.6" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globals": { - "version": "13.24.0", + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/gopd": { + "node_modules/own-keys": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.1", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-symbols": { - "version": "1.0.3", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.3" + "callsites": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/hasown": { - "version": "2.0.1", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/hast-util-heading-rank": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", - "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "license": "MIT" }, - "node_modules/hast-util-to-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", - "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "license": "ISC" }, - "node_modules/html-tags": { - "version": "3.3.1", + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/html-to-react": { - "version": "1.7.0", + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, "license": "MIT", - "dependencies": { - "domhandler": "^5.0", - "htmlparser2": "^9.0", - "lodash.camelcase": "^4.3.0" - }, - "peerDependencies": { - "react": "^0.13.0 || ^0.14.0 || >=15" + "engines": { + "node": ">= 0.4" } }, - "node_modules/html-to-react/node_modules/htmlparser2": { - "version": "9.1.0", + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "dev": true, "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, { "type": "github", - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "license": "BSD-2-Clause" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">= 0.8" + "node": "^10 || ^12 || >=14" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", + "node_modules/posthog-js": { + "version": "1.215.1", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.215.1.tgz", + "integrity": "sha512-C64FFbuBB1VyMRMbFj+SyFwcJ6CjsGvNbsPfrH/PO/rv+SeK3KDXMmJ4XrqEN/eZU4DEEfx0Gscqdq9v9jbhCw==", "license": "MIT", "dependencies": { - "ms": "^2.0.0" + "core-js": "^3.38.1", + "fflate": "^0.4.8", + "preact": "^10.19.3", + "web-vitals": "^4.2.0" } }, - "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/preact": { + "version": "10.25.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz", + "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" } }, - "node_modules/ignore": { - "version": "5.3.1", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 0.8.0" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", + "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", "dev": true, "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "bin": { + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=6" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8.19" + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "node": ">=6" } }, - "node_modules/inherits": { - "version": "2.0.4", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, - "license": "ISC" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/ip-address": { - "version": "9.0.5", + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">= 12" + "node": ">=0.10.0" } }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "license": "BSD-3-Clause" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/react-docgen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.1.tgz", + "integrity": "sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.18.9", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", + "@types/babel__core": "^7.18.0", + "@types/babel__traverse": "^7.18.0", + "@types/doctrine": "^0.0.9", + "@types/resolve": "^1.20.2", + "doctrine": "^3.0.0", + "resolve": "^1.22.1", + "strip-indent": "^4.0.0" + }, "engines": { - "node": ">= 0.10" + "node": ">=16.14.0" } }, - "node_modules/is-absolute-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", - "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "node_modules/react-docgen-typescript": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz", + "integrity": "sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">= 4.3.x" + } + }, + "node_modules/react-docgen/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=6.0.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "^18.3.1" } }, - "node_modules/is-alphabetical": { - "version": "1.0.4", + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recast": { + "version": "0.23.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", + "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, "license": "MIT", "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arguments": { - "version": "1.1.1", + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { "node": ">= 0.4" @@ -5268,20 +5048,71 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.1.tgz", + "integrity": "sha512-iYZ/+PcdLYSGfH3S+dGahlW/RWmsqDhLgj1BT9DH/xXJ0ggZN7xkdP9wipPNjjNLczI+fmMLmTB9pye+d2r4GQ==", "dev": true, + "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.34.1", + "@rollup/rollup-android-arm64": "4.34.1", + "@rollup/rollup-darwin-arm64": "4.34.1", + "@rollup/rollup-darwin-x64": "4.34.1", + "@rollup/rollup-freebsd-arm64": "4.34.1", + "@rollup/rollup-freebsd-x64": "4.34.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.1", + "@rollup/rollup-linux-arm-musleabihf": "4.34.1", + "@rollup/rollup-linux-arm64-gnu": "4.34.1", + "@rollup/rollup-linux-arm64-musl": "4.34.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.1", + "@rollup/rollup-linux-riscv64-gnu": "4.34.1", + "@rollup/rollup-linux-s390x-gnu": "4.34.1", + "@rollup/rollup-linux-x64-gnu": "4.34.1", + "@rollup/rollup-linux-x64-musl": "4.34.1", + "@rollup/rollup-win32-arm64-msvc": "4.34.1", + "@rollup/rollup-win32-ia32-msvc": "4.34.1", + "@rollup/rollup-win32-x64-msvc": "4.34.1", + "fsevents": "~2.3.2" } }, - "node_modules/is-buffer": { - "version": "2.0.5", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -5297,144 +5128,188 @@ } ], "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, "engines": { - "node": ">= 0.4" + "node": ">=0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-core-module": { - "version": "2.13.1", + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "1.0.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, - "bin": { - "is-docker": "cli.js" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "loose-envify": "^1.1.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">= 0.4" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 0.4" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.13", + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" @@ -5443,2768 +5318,1001 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, + "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", - "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=12.0.0" + "node": ">=0.10.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "node_modules/storybook": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.5.3.tgz", + "integrity": "sha512-2WtNBZ45u1AhviRU+U+ld588tH8gDa702dNSq5C8UBaE9PlOsazGsyp90dw1s9YRvi+ejrjKAupQAU0GwwUiVg==", + "dev": true, "license": "MIT", + "dependencies": { + "@storybook/core": "8.5.3" + }, "bin": { - "jsesc": "bin/jsesc" + "getstorybook": "bin/index.cjs", + "sb": "bin/index.cjs", + "storybook": "bin/index.cjs" }, - "engines": { - "node": ">=4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dev": true, "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keycloakify": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/keycloakify/-/keycloakify-9.7.0.tgz", - "integrity": "sha512-y2N74ALkJU57VZSHo8yGO5Wm6mfnv6Z9xfrDp3fs6HLqvNimP2RTxOWoy7ZTc61WZ4ryi7sRglSXIMrGtLmE4Q==", - "dependencies": { - "@babel/generator": "^7.22.9", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "@octokit/rest": "^18.12.0", - "cheerio": "^1.0.0-rc.5", - "cli-select": "^1.1.2", - "evt": "^2.4.18", - "magic-string": "^0.30.7", - "make-fetch-happen": "^11.0.3", - "minimal-polyfills": "^2.2.2", - "minimist": "^1.2.6", - "react-markdown": "^5.0.3", - "recast": "^0.23.3", - "rfc4648": "^1.5.2", - "tsafe": "^1.6.0", - "yauzl": "^2.10.0", - "yazl": "^2.5.1", - "zod": "^3.17.10" - }, - "bin": { - "copy-keycloak-resources-to-public": "bin/copy-keycloak-resources-to-public.js", - "download-builtin-keycloak-theme": "bin/download-builtin-keycloak-theme.js", - "eject-keycloak-page": "bin/eject-keycloak-page.js", - "initialize-email-theme": "bin/initialize-email-theme.js", - "keycloakify": "bin/keycloakify/index.js" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, - "node_modules/keycloakify/node_modules/agent-base": { - "version": "6.0.2", + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, "license": "MIT", "dependencies": { - "debug": "4" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/keycloakify/node_modules/cacache": { - "version": "17.1.4", - "license": "ISC", + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^7.7.1", - "minipass": "^7.0.3", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/keycloakify/node_modules/glob": { - "version": "10.3.10", - "license": "ISC", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/keycloakify/node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/keycloakify/node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "min-indent": "^1.0.1" }, "engines": { - "node": ">= 6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/keycloakify/node_modules/lru-cache": { - "version": "7.18.3", - "license": "ISC", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/keycloakify/node_modules/make-fetch-happen": { - "version": "11.1.1", - "license": "ISC", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "has-flag": "^4.0.0" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/keycloakify/node_modules/make-fetch-happen/node_modules/minipass": { - "version": "5.0.0", - "license": "ISC", "engines": { "node": ">=8" } }, - "node_modules/keycloakify/node_modules/minimatch": { - "version": "9.0.3", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/keycloakify/node_modules/minipass-collect": { - "version": "1.0.2", - "license": "ISC", + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">= 8" + "node": ">=8.0" } }, - "node_modules/keycloakify/node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/ts-api-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/keycloakify/node_modules/socks": { - "version": "2.7.3", + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": ">=6.10" } }, - "node_modules/keycloakify/node_modules/socks-proxy-agent": { - "version": "7.0.0", + "node_modules/tsafe": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/tsafe/-/tsafe-1.8.5.tgz", + "integrity": "sha512-LFWTWQrW6rwSY+IBNFl2ridGfUzVsPwrZ26T4KUJww/py8rzaQ/SY+MIz6YROozpUCaRcuISqagmlwub9YT9kw==", + "license": "MIT" + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": ">=6" } }, - "node_modules/keyv": { - "version": "4.5.4", + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } + "license": "0BSD" }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "prelude-ls": "^1.2.1" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, - "license": "MIT" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", "license": "MIT", "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": ">= 0.4" } }, - "node_modules/loupe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", - "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, + "license": "MIT", "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/lru-cache": { - "version": "10.2.0", - "license": "ISC", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, "engines": { - "node": "14 || >=16.14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, + "license": "Apache-2.0", "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-to-jsx": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz", - "integrity": "sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==", - "dev": true, - "engines": { - "node": ">= 10" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "peerDependencies": { - "react": ">= 0.14.0" - } - }, - "node_modules/mdast-add-list-metadata": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "unist-util-visit-parents": "1.1.2" + "engines": { + "node": ">=14.17" } }, - "node_modules/mdast-add-list-metadata/node_modules/unist-util-visit-parents": { - "version": "1.1.2", - "license": "MIT" - }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.5", + "node_modules/typescript-eslint": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.23.0.tgz", + "integrity": "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==", + "dev": true, "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" + "@typescript-eslint/eslint-plugin": "8.23.0", + "@typescript-eslint/parser": "8.23.0", + "@typescript-eslint/utils": "8.23.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "2.0.0", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, - "node_modules/memoizerific": { - "version": "1.11.3", + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { - "map-or-similar": "^1.5.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true, + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/unplugin": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", + "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", "dev": true, "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "webpack-virtual-modules": "^0.6.2" + }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "node_modules/methods": { + "node_modules/update-browserslist-db": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "2.11.4", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/micromatch": { - "version": "4.0.5", + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/vite": { + "version": "5.4.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", + "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, "bin": { - "mime": "cli.js" + "vite": "bin/vite.js" }, "engines": { - "node": ">=4" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/min-indent": { - "version": "1.0.1", + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/minimal-polyfills": { - "version": "2.2.3", - "license": "MIT" - }, - "node_modules/minimatch": { - "version": "3.1.2", + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" } }, - "node_modules/minipass-fetch": { - "version": "3.0.4", + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/minizlib": { - "version": "2.1.2", + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/ms": { - "version": "2.1.3", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=12" } }, - "node_modules/natural-compare": { - "version": "1.4.0", + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/node-fetch": { - "version": "2.7.0", + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": ">=12" } }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "node": ">=12" } }, - "node_modules/object-assign": { - "version": "4.1.1", + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "license": "MIT", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/polished": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.17.8" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/posthog-js": { - "version": "1.180.1", - "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.180.1.tgz", - "integrity": "sha512-LV65maVrpqkAh0wu32YvU7FpCSEjg6o+sZFYCs1+6tnEa9VvXuz8J6ReLiyRpJABI4j1qX/PB2jaVY5tDbLalQ==", - "dependencies": { - "core-js": "^3.38.1", - "fflate": "^0.4.8", - "preact": "^10.19.3", - "web-vitals": "^4.2.0" - } - }, - "node_modules/preact": { - "version": "10.21.0", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.21.0.tgz", - "integrity": "sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-colorful": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", - "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", - "dev": true, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/react-confetti": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tween-functions": "^1.2.0" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "react": "^16.3.0 || ^17.0.1 || ^18.0.0" - } - }, - "node_modules/react-docgen": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.9", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9", - "@types/babel__core": "^7.18.0", - "@types/babel__traverse": "^7.18.0", - "@types/doctrine": "^0.0.9", - "@types/resolve": "^1.20.2", - "doctrine": "^3.0.0", - "resolve": "^1.22.1", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=16.14.0" - } - }, - "node_modules/react-docgen-typescript": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz", - "integrity": "sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==", - "dev": true, - "peerDependencies": { - "typescript": ">= 4.3.x" - } - }, - "node_modules/react-docgen/node_modules/@types/doctrine": { - "version": "0.0.9", - "dev": true, - "license": "MIT" - }, - "node_modules/react-docgen/node_modules/strip-indent": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-element-to-jsx-string": { - "version": "15.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@base2/pretty-print-object": "1.0.1", - "is-plain-object": "5.0.0", - "react-is": "18.1.0" - }, - "peerDependencies": { - "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", - "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0" - } - }, - "node_modules/react-element-to-jsx-string/node_modules/react-is": { - "version": "18.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, - "node_modules/react-markdown": { - "version": "5.0.3", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.3", - "@types/unist": "^2.0.3", - "html-to-react": "^1.3.4", - "mdast-add-list-metadata": "1.0.1", - "prop-types": "^15.7.2", - "react-is": "^16.8.6", - "remark-parse": "^9.0.0", - "unified": "^9.0.0", - "unist-util-visit": "^2.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "dev": true, - "license": "MIT" - }, - "node_modules/rehype-external-links": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", - "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", - "dev": true, - "dependencies": { - "@types/hast": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-is-element": "^3.0.0", - "is-absolute-url": "^4.0.0", - "space-separated-tokens": "^2.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-external-links/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true - }, - "node_modules/rehype-external-links/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-external-links/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-external-links/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", - "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", - "dev": true, - "dependencies": { - "@types/hast": "^3.0.0", - "github-slugger": "^2.0.0", - "hast-util-heading-rank": "^3.0.0", - "hast-util-to-string": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-slug/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true - }, - "node_modules/rehype-slug/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-slug/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-slug/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dev": true, - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/requireindex": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.5" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfc4648": { - "version": "1.5.3", - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz", - "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.3", - "@rollup/rollup-android-arm64": "4.21.3", - "@rollup/rollup-darwin-arm64": "4.21.3", - "@rollup/rollup-darwin-x64": "4.21.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.3", - "@rollup/rollup-linux-arm-musleabihf": "4.21.3", - "@rollup/rollup-linux-arm64-gnu": "4.21.3", - "@rollup/rollup-linux-arm64-musl": "4.21.3", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3", - "@rollup/rollup-linux-riscv64-gnu": "4.21.3", - "@rollup/rollup-linux-s390x-gnu": "4.21.3", - "@rollup/rollup-linux-x64-gnu": "4.21.3", - "@rollup/rollup-linux-x64-musl": "4.21.3", - "@rollup/rollup-win32-arm64-msvc": "4.21.3", - "@rollup/rollup-win32-ia32-msvc": "4.21.3", - "@rollup/rollup-win32-x64-msvc": "4.21.3", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-exclusive": { - "version": "2.2.19", - "license": "MIT", - "dependencies": { - "minimal-polyfills": "^2.2.3" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "devOptional": true, - "license": "MIT" - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dev": true, - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ssri": { - "version": "10.0.5", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/storybook": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.3.1.tgz", - "integrity": "sha512-CYqt5KOpaTgb8OczNo2+EtMi8YNDPi4vNVebVlLDOroWxyulb8I7MIOH9gALczcIOb+TZUArPztjoa8rkXTaDQ==", - "dev": true, - "dependencies": { - "@storybook/core": "8.3.1" - }, - "bin": { - "getstorybook": "bin/index.cjs", - "sb": "bin/index.cjs", - "storybook": "bin/index.cjs" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/chownr": { - "version": "2.0.0", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/telejson": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "memoizerific": "^1.11.3" - } - }, - "node_modules/terser": { - "version": "5.31.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", - "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "optional": true, - "peer": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/trough": { - "version": "1.0.5", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tsafe": { - "version": "1.6.6", - "license": "MIT" - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/tween-functions": { - "version": "1.2.0", - "dev": true, - "license": "BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "2.19.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true - }, - "node_modules/unified": { - "version": "9.2.2", - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-filename": { - "version": "3.0.0", - "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unique-slug": { - "version": "4.0.0", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universal-user-agent": { - "version": "6.0.1", - "license": "ISC" - }, - "node_modules/universalify": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unplugin": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz", - "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==", - "dev": true, - "dependencies": { - "acorn": "^8.11.3", - "chokidar": "^3.6.0", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.6.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util": { - "version": "0.12.5", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4.0" + "node": ">=12" } }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/vfile": { - "version": "4.2.1", + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vfile-message": { - "version": "2.0.4", + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vite": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", - "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" - }, - "bin": { - "vite": "bin/vite.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">=12" } }, - "node_modules/vite-plugin-commonjs": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/vite-plugin-commonjs/-/vite-plugin-commonjs-0.10.3.tgz", - "integrity": "sha512-trtH4dfAqrbqwiUhSKcqrfjnlXnqLHdIbYuUy943y34JnDjIX8qlpExP0nFN+kE2s6/BS6r9d1cAHS0KtiF4yQ==", + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "acorn": "^8.12.1", - "magic-string": "^0.30.11", - "vite-plugin-dynamic-import": "^1.6.0" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vite-plugin-dynamic-import": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.6.0.tgz", - "integrity": "sha512-TM0sz70wfzTIo9YCxVFwS8OA9lNREsh+0vMHGSkWDTZ7bgd1Yjs5RV8EgB634l/91IsXJReg0xtmuQqP0mf+rg==", + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "acorn": "^8.12.1", - "es-module-lexer": "^1.5.4", - "fast-glob": "^3.3.2", - "magic-string": "^0.30.11" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "node_modules/vite/node_modules/@esbuild/win32-x64": { "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ - "arm64" + "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ - "darwin" + "win32" ], "engines": { "node": ">=12" @@ -8216,6 +6324,7 @@ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -8249,39 +6358,23 @@ } }, "node_modules/web-vitals": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.1.tgz", - "integrity": "sha512-U6bAxeudnhDqcXNl50JC4hLlqox9DZnngxfISZm3DMZnonW35xtJOVUc091L+DOY+6hVZVpKXoiCP0RiT6339Q==" - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", + "license": "Apache-2.0" }, "node_modules/webpack-virtual-modules": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "dev": true, + "license": "MIT" }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -8293,16 +6386,18 @@ "node": ">= 8" } }, - "node_modules/which-typed-array": { - "version": "1.1.14", + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -8311,105 +6406,90 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/which-typed-array": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "dev": true, + "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, "node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -8426,34 +6506,17 @@ } } }, - "node_modules/xtend": { - "version": "4.0.2", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, "node_modules/yallist": { - "version": "4.0.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, "license": "ISC" }, - "node_modules/yauzl": { - "version": "2.10.0", - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, - "node_modules/yazl": { - "version": "2.5.1", - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { @@ -8462,13 +6525,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.22.4", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } } } } diff --git a/package.json b/package.json index e85cc94..0bf75cc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@neosync/keycloakify", "homepage": "https://neosync.dev", - "version": "1.0.13", + "version": "2.0.0", "description": "Auth templates for Neosync Cloud", "repository": { "type": "git", @@ -11,48 +11,50 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", - "build-keycloak-theme": "npm run build && keycloakify", + "build-keycloak-theme": "npm run build && keycloakify build", "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build" + "build-storybook": "storybook build", + "format": "prettier . --write" }, "author": "nickzelei", "license": "MIT", "keywords": [], "dependencies": { - "evt": "^2.5.7", - "keycloakify": "^9.7.0", - "posthog-js": "^1.180.1", + "keycloakify": "^11.8.8", + "posthog-js": "^1.215.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@storybook/addon-essentials": "^8.3.1", - "@storybook/addon-interactions": "^8.3.1", - "@storybook/addon-links": "^8.3.1", - "@storybook/addon-onboarding": "^8.3.1", - "@storybook/blocks": "^8.1.5", - "@storybook/react": "^8.3.1", - "@storybook/react-vite": "^8.3.1", - "@storybook/test": "^8.1.5", - "@types/react": "^18.3.7", - "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.16.1", - "@typescript-eslint/parser": "^7.16.1", - "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.12", - "eslint-plugin-storybook": "^0.8.0", - "storybook": "^8.1.9", - "typescript": "^5.6.2", - "vite": "^5.4.6", - "vite-plugin-commonjs": "^0.10.3" + "@eslint/js": "^9.15.0", + "storybook": "^8.1.10", + "@storybook/react": "^8.1.10", + "@storybook/react-vite": "^8.1.10", + "@types/react": "^18.2.43", + "@types/react-dom": "^18.2.17", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^9.15.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "eslint-plugin-storybook": "^0.11.1", + "globals": "^15.12.0", + "prettier": "3.3.1", + "typescript": "^5.2.2", + "typescript-eslint": "^8.15.0", + "vite": "^5.0.8" }, "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "4.21.3" + "@rollup/rollup-linux-x64-gnu": "4.31.1" }, "_comment": "See https://github.com/storybookjs/storybook/issues/22431#issuecomment-1630086092", "resolutions": { "jackspeak": "2.1.1" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" } } diff --git a/public/fonts/WorkSans/font.css b/public/fonts/WorkSans/font.css deleted file mode 100644 index 29f5e14..0000000 --- a/public/fonts/WorkSans/font.css +++ /dev/null @@ -1,36 +0,0 @@ - -/* -This file is only meant to be used by Storybook -*/ - -@font-face { - font-family: "Work Sans"; - font-style: normal; - font-weight: normal; /*400*/ - font-display: swap; - src: url("./worksans-regular-webfont.woff2") format("woff2"); - } - - @font-face { - font-family: "Work Sans"; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url("./worksans-medium-webfont.woff2") format("woff2"); - } - - @font-face { - font-family: "Work Sans"; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url("./worksans-semibold-webfont.woff2") format("woff2"); - } - - @font-face { - font-family: "Work Sans"; - font-style: normal; - font-weight: bold; /*700*/ - font-display: swap; - src: url("./worksans-bold-webfont.woff2") format("woff2"); - } \ No newline at end of file diff --git a/public/fonts/WorkSans/worksans-bold-webfont.woff2 b/public/fonts/WorkSans/worksans-bold-webfont.woff2 deleted file mode 100644 index 87053549b6722ed796a9c686c1c5d410ab0b5f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47488 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 M_@SzCe@saL09Z_#>;M1& diff --git a/public/fonts/WorkSans/worksans-medium-webfont.woff2 b/public/fonts/WorkSans/worksans-medium-webfont.woff2 deleted file mode 100644 index 87053549b6722ed796a9c686c1c5d410ab0b5f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47488 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 M_@SzCe@saL09Z_#>;M1& diff --git a/public/fonts/WorkSans/worksans-regular-webfont.woff2 b/public/fonts/WorkSans/worksans-regular-webfont.woff2 deleted file mode 100644 index 87053549b6722ed796a9c686c1c5d410ab0b5f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47488 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 M_@SzCe@saL09Z_#>;M1& diff --git a/public/fonts/WorkSans/worksans-semibold-webfont.woff2 b/public/fonts/WorkSans/worksans-semibold-webfont.woff2 deleted file mode 100644 index 87053549b6722ed796a9c686c1c5d410ab0b5f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47488 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 M_@SzCe@saL09Z_#>;M1& diff --git a/public/silent-sso.html b/public/silent-sso.html deleted file mode 100644 index 2bf0c57..0000000 --- a/public/silent-sso.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/public/terms/en.md b/public/terms/en.md deleted file mode 100644 index 07cf801..0000000 --- a/public/terms/en.md +++ /dev/null @@ -1,117 +0,0 @@ -# AGREEMENT TO OUR LEGAL TERMS - -We are Nucleus Cloud Corp ('Company', 'we', 'us', 'our'), a company registered in California, United States at 251 Post st., 412, San Francisco, CA 94109. We operate the website neosync.dev (the 'Site'), as well as any other related products and services that refer or link to these legal terms (the 'Legal Terms') (collectively, the 'Services'). - -You can contact us by email at support@nucleuscloud.com, or by mail to 251 Post St., 412, San Francisco, CA 94109, United States. - -These Legal Terms constitute a legally binding agreement made between you, whether personally or on behalf of an entity ('you'), and Nucleus Cloud Corp, concerning your access to and use of the Services. You agree that by accessing the Services, you have read, understood, and agreed to be bound by all of these Legal Terms. IF YOU DO NOT AGREE WITH ALL OF THESE LEGAL TERMS, THEN YOU ARE EXPRESSLY PROHIBITED FROM USING THE SERVICES AND YOU MUST DISCONTINUE USE IMMEDIATELY. - -We will provide you with prior notice of any scheduled changes to the Services you are using. The modified Legal Terms will become effective upon posting or notifying you by support@nucleuscloud.com, as stated in the email message. By continuing to use the Services after the effective date of any changes, you agree to be bound by the modified terms. - -The Services are intended for users who are at least 13 years of age. All users who are minors in the jurisdiction in which they reside (generally under the age of 18) must have the permission of, and be directly supervised by, their parent or guardian to use the Services. If you are a minor, you must have your parent or guardian read and agree to these Legal Terms prior to you using the Services. - -# 1\. OUR SERVICES - -The information provided when using the Services is not intended for distribution to or use by any person or entity in any jurisdiction or country where such distribution oruse would be contrary to law or regulation or which would subject us to anyregistration requirement within such jurisdiction or country. Accordingly, those persons who choose to access the Services from other locations do so on their owninitiative and are solely responsible for compliance with local laws, if and to the extentlocal laws are applicable. GDPR, CCPA and other laws. - -# 2\. INTELLECTUAL PROPERTY RIGHTS - -### Our Intellectual Property - -We are the owner or the licensee of all intellectual property rights in our Services,including all source code, databases, functionality, software, website designs, audio,video, text, photographs, and graphics in the Services (collectively, the 'Content' ), aswell as the trademarks, service marks, and logos contained therein (the 'Marks' ). Our Content and Marks are protected by copyright and trademark laws (and variousother intellectual property rights and unfair competition laws) and treaties in theUnited States and around the world. The Content and Marks are provided in or through the Services 'AS IS' for your internal business purpose only.{' '} - -### Your use of our Services - -Your use of our serviecs is subject to the terms of the MIT license that we have defined in our Github repository. - -### Your submissions - -Please review this section and the ' PROHIBITED ACTIVITIES ' section carefully priorto using our Services to understand the (a) rights you give us and (b) obligations youhave when you post or upload any content through the Services. Submissions: By directly sending us any question, comment, suggestion, idea,feedback, or other information about the Services ( 'Submissions' ), you agree toassign to us all intellectual property rights in such Submission. You agree that weshall own this Submission and be entitled to its unrestricted use and disseminationfor any lawful purpose, commercial or otherwise, without acknowledgment orcompensation to you. You are responsible for what you post or upload: By sending us Submissions through any part of the Services you: confirm that you have read and agree with our ' PROHIBITED ACTIVITIES ' and will not post, send, publish, upload, or transmit through the Services anySubmission that is illegal, harassing, hateful, harmful, defamatory, obscene,bullying, abusive, discriminatory, threatening to any person or group, sexually explicit, false, inaccurate, deceitful, or misleading; to the extent permissible by applicable law, waive any and all moral rights toany such Submission ; warrant that any such Submission are original to you or that you have thenecessary rights and licenses to submit such Submissions and that you havefull authority to grant us the above-mentioned rights in relation to yourSubmissions ; and warrant and represent that your Submissions do not constitute confidentialinformation. You are solely responsible for your Submissions and you expressly agree toreimburse us for any and all losses that we may suffer because of your breach of (a)this section, (b) any third party's intellectual property rights, or (c) applicable law. - -# 3\. USER REPRESENTATIONS - -By using the Services, you represent and warrant that: ( 1 ) all registration informationyou submit will be true, accurate, current, and complete; ( 2 ) you will maintain theaccuracy of such information and promptly update such registration information asnecessary; ( 3 ) you have the legal capacity and you agree to comply with these LegalTerms; ( 4 ) you are not under the age of 13; ( 5 ) you are not a minor in the jurisdictionin which you reside , or if a minor, you have received parental permission to use theServices ; ( 6 ) you will not access the Services through automated or non-human means, whether through a bot, script or otherwise; ( 7 ) you will not use the Servicesfor any illegal or unauthorized purpose; and ( 8 ) your use of the Services will notviolate any applicable law or regulation. If you provide any information that is untrue, inaccurate, not current, or incomplete,we have the right to suspend or terminate your account and refuse any and allcurrent or future use of the Services (or any portion thereof). - -# 4\. USER REGISTRATION - -You may be required to register to use the Services. You agree to keep your password confidential and will be responsible for all use of your account and password. We reserve the right to remove, reclaim, or change a username you selectif we determine, in our sole discretion, that such username is inappropriate, obscene,or otherwise objectionable. - -# 5\. SOFTWARE - -We may include software for use in connection with our Services. If such software isaccompanied by an end user license agreement ( 'EULA' ), the terms of the EULA willgovern your use of the software. If such software is not accompanied by a EULA,then we grant to you a non-exclusive, revocable, personal, and non-transferable license to use such software solely in connection with our services and in accordancewith these Legal Terms. Any software and any related documentation is provided 'ASIS' without warranty of any kind, either express or implied, including, withoutlimitation, the implied warranties of merchantability, fitness for a particular purpose, ornon-infringement. You accept any and all risk arising out of use or performance ofany software. You may not reproduce or redistribute any software except inaccordance with the EULA or these Legal Terms. - -# 6\. PROHIBITED ACTIVITIES - -You may not access or use the Services for any purpose other than that for which wemake the Services available. The Services may not be used in connection with anycommercial endeavors except those that are specifically endorsed or approved byus. As a user of the Services, you agree not to: Systematically retrieve data or other content from the Services to create orcompile, directly or indirectly, a collection, compilation, database, or directorywithout written permission from us. Trick, defraud, or mislead us and other users, especially in any attempt to learnsensitive account information such as user passwords. Circumvent, disable, or otherwise interfere with security-related features of theServices, including features that prevent or restrict the use or copying of anyContent or enforce limitations on the use of the Services and/or the Contentcontained therein. Disparage, tarnish, or otherwise harm, in our opinion, us and/or the Services. Use any information obtained from the Services in order to harass, abuse, orharm another person. Make improper use of our support services or submit false reports of abuse ormisconduct. Use the Services in a manner inconsistent with any applicable laws orregulations, engage in unauthorized framing of or linking to the Services. Upload or transmit (or attempt to upload or to transmit) viruses, Trojan horses,or other material, including excessive use of capital letters and spamming(continuous posting of repetitive text), that interferes with any party's uninterrupted use and enjoyment of the Services or modifies, impairs, disrupts,alters, or interferes with the use, features, functions, operation, or maintenanceof the Services. Engage in any automated use of the system, such as using scripts to sendcomments or messages, or using any data mining, robots, or similar datagathering and extraction tools. Delete the copyright or other proprietary rights notice from any Content. Attempt to impersonate another user or person or use the username ofanother user. Upload or transmit (or attempt to upload or to transmit) any material that actsas a passive or active information collection or transmission mechanism,including without limitation, clear graphics interchange formats ( 'gifs' ), 1×1pixels, web bugs, cookies, or other similar devices (sometimes referred to as 'spyware' or 'passive collection mechanisms' or 'pcms' ). Interfere with, disrupt, or create an undue burden on the Services or thenetworks or services connected to the Services. Harass, annoy, intimidate, or threaten any of our employees or agentsengaged in providing any portion of the Services to you. Attempt to bypass any measures of the Services designed to prevent orrestrict access to the Services, or any portion of the Services. Copy or adapt the Services' software, including but not limited to Flash, PHP,HTML, JavaScript, or other code. Except as permitted by applicable law, decipher, decompile, disassemble, orreverse engineer any of the software comprising or in any way making up apart of the Services. Except as may be the result of standard search engine or Internet browserusage, use, launch, develop, or distribute any automated system, includingwithout limitation, any spider, robot, cheat utility, scraper, or offline reader thataccesses the Services, or use or launch any unauthorized script or othersoftware. Use a buying agent or purchasing agent to make purchases on the Services. Make any unauthorized use of the Services, including collecting usernamesand/or email addresses of users by electronic or other means for the purposeof sending unsolicited email, or creating user accounts by automated means orunder false pretenses . Use the Services as part of any effort to compete with us or otherwise use theServices and/or the Content for any revenue-generating endeavor orcommercial enterprise. - -# 7\. USER GENERATED CONTRIBUTIONS - -The Services does not offer users to submit or post content. We may provide youwith the opportunity to create, submit, post, display, transmit, perform, publish,distribute, or broadcast content and materials to us or on the Services, including butnot limited to text, writings, video, audio, photographs, graphics, comments,suggestions, or personal information or other material (collectively, 'Contributions' ).Contributions may be viewable by other users of the Services and through third-partywebsites. As such, any Contributions you transmit may be treated in accordance withthe Services' Privacy Policy. When you create or make available any Contributions,you thereby represent and warrant that: The creation, distribution, transmission, public display, or performance, and theaccessing, downloading, or copying of your Contributions do not and will notinfringe the proprietary rights, including but not limited to the copyright, patent,trademark, trade secret, or moral rights of any third party. You are the creator and owner of or have the necessary licenses , rights,consents, releases, and permissions to use and to authorize us, the Services,and other users of the Services to use your Contributions in any mannercontemplated by the Services and these Legal Terms. You have the written consent, release, and/or permission of each and everyidentifiable individual person in your Contributions to use the name or likenessof each and every such identifiable individual person to enable inclusion anduse of your Contributions in any manner contemplated by the Services andthese Legal Terms. Your Contributions are not false, inaccurate, or misleading. Your Contributions are not unsolicited or unauthorized advertising, promotionalmaterials, pyramid schemes, chain letters, spam, mass mailings, or otherforms of solicitation. Your Contributions are not obscene, lewd, lascivious, filthy, violent, harassing, libelous , slanderous, or otherwise objectionable (as determined by us). Your Contributions do not ridicule, mock, disparage, intimidate, or abuseanyone. Your Contributions are not used to harass or threaten (in the legal sense ofthose terms) any other person and to promote violence against a specificperson or class of people. Your Contributions do not violate any applicable law, regulation, or rule. Your Contributions do not violate the privacy or publicity rights of any thirdparty. Your Contributions do not violate any applicable law concerning childpornography, or otherwise intended to protect the health or well-being ofminors. Your Contributions do not include any offensive comments that are connectedto race, national origin, gender, sexual preference, or physical handicap. Your Contributions do not otherwise violate, or link to material that violates, anyprovision of these Legal Terms, or any applicable law or regulation. Any use of the Services in violation of the foregoing violates these Legal Terms andmay result in, among other things, termination or suspension of your rights to use theServices. - -# 8\. CONTRIBUTION LICENSE - -You and Services agree that we may access, store, process, and use any information and personal data that you provide following the terms of the Privacy Policy and yourchoices (including settings). By submitting suggestions or other feedback regarding the Services, you agree thatwe can use and share such feedback for any purpose without compensation to you. We do not assert any ownership over your Contributions. You retain full ownership ofall of your Contributions and any intellectual property rights or other proprietary rights associated with your Contributions. We are not liable for any statements orrepresentations in your Contributions provided by you in any area on the Services.You are solely responsible for your Contributions to the Services and you expresslyagree to exonerate us from any and all responsibility and to refrain from any legalaction against us regarding your Contributions. - -# 9\. THIRD-PARTY WEBSITES AND CONTENT - -The Services may contain (or you may be sent via the Site ) links to other websites( 'Third-Party Websites' ) as well as articles, photographs, text, graphics, pictures,designs, music, sound, video, information, applications, software, and other contentor items belonging to or originating from third parties ( 'Third-Party Content' ). Such Third-Party Websites and Third-Party Content are not investigated, monitored, orchecked for accuracy, appropriateness, or completeness by us, and we are notresponsible for any Third-Party Websites accessed through the Services or any Third-Party Content posted on, available through, or installed from the Services,including the content, accuracy, offensiveness, opinions, reliability, privacy practices,or other policies of or contained in the Third-Party Websites or the Third-Party Content. Inclusion of, linking to, or permitting the use or installation of any Third-Party Websites or any Third-Party Content does not imply approval or endorsement thereofby us. If you decide to leave the Services and access the Third-Party Websites or touse or install any Third-Party Content, you do so at your own risk, and you should beaware these Legal Terms no longer govern. You should review the applicable termsand policies, including privacy and data gathering practices, of any website to whichyou navigate from the Services or relating to any applications you use or install fromthe Services. Any purchases you make through Third-Party Websites will be throughother websites and from other companies, and we take no responsibility whatsoeverin relation to such purchases which are exclusively between you and the applicablethird party. You agree and acknowledge that we do not endorse the products orservices offered on Third-Party Websites and you shall hold us blameless from anyharm caused by your purchase of such products or services. Additionally, you shallhold us blameless from any losses sustained by you or harm caused to you relatingto or resulting in any way from any Third-Party Content or any contact with Third-Party Websites. - -# 10\. SERVICES MANAGEMENT - -We reserve the right, but not the obligation, to: (1) monitor the Services for violationsof these Legal Terms; (2) take appropriate legal action against anyone who, in oursole discretion, violates the law or these Legal Terms, including without limitation,reporting such user to law enforcement authorities; (3) in our sole discretion andwithout limitation, refuse, restrict access to, limit the availability of, or disable (to theextent technologically feasible) any of your Contributions or any portion thereof; (4) inour sole discretion and without limitation, notice, or liability, to remove from theServices or otherwise disable all files and content that are excessive in size or are inany way burdensome to our systems; and (5) otherwise manage the Services in amanner designed to protect our rights and property and to facilitate the properfunctioning of the Services. - -# 11\. PRIVACY POLICY - -We care about data privacy and security. Please review our PrivacyPolicy: neosync.dev/privacy-policy . By using the Services, you agree to be boundby our Privacy Policy, which is incorporated into these Legal Terms. Please beadvised the Services are hosted in the United States . If you access the Services fromany other region of the world with laws or other requirements governing personaldata collection, use, or disclosure that differ from applicable laws in the UnitedStates , then through your continued use of the Services, you are transferring yourdata to the United States , and you expressly consent to have your data transferred toand processed in the United States . Further, we do not knowingly accept, request, orsolicit information from children or knowingly market to children. Therefore, inaccordance with the U.S. Children’s Online Privacy Protection Act, if we receiveactual knowledge that anyone under the age of 13 has provided personal informationto us without the requisite and verifiable parental consent, we will delete thatinformation from the Services as quickly as is reasonably practical. - -# 12\. TERM AND TERMINATION - -These Legal Terms shall remain in full force and effect while you use the Services.WITHOUT LIMITING ANY OTHER PROVISION OF THESE LEGAL TERMS, WERESERVE THE RIGHT TO, IN OUR SOLE DISCRETION AND WITHOUT NOTICEOR LIABILITY, DENY ACCESS TO AND USE OF THE SERVICES (INCLUDINGBLOCKING CERTAIN IP ADDRESSES), TO ANY PERSON FOR ANY REASON ORFOR NO REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF ANYREPRESENTATION, WARRANTY, OR COVENANT CONTAINED IN THESE LEGALTERMS OR OF ANY APPLICABLE LAW OR REGULATION. WE MAY TERMINATEYOUR USE OR PARTICIPATION IN THE SERVICES OR DELETE YOURACCOUNT AND ANY CONTENT OR INFORMATION THAT YOU POSTED AT ANYTIME, WITHOUT WARNING, IN OUR SOLE DISCRETION. If we terminate or suspend your account for any reason, you are prohibited fromregistering and creating a new account under your name, a fake or borrowed name,or the name of any third party, even if you may be acting on behalf of the third party.In addition to terminating or suspending your account, we reserve the right to takeappropriate legal action, including without limitation pursuing civil, criminal, andinjunctive redress. - -# 13\. MODIFICATIONS AND INTERRUPTIONS - -We reserve the right to change, modify, or remove the contents of the Services at anytime or for any reason at our sole discretion without notice. However, we have noobligation to update any information on our Services. We will not be liable to you orany third party for any modification, price change, suspension, or discontinuance ofthe Services. We cannot guarantee the Services will be available at all times. We may experiencehardware, software, or other problems or need to perform maintenance related to theServices, resulting in interruptions, delays, or errors. We reserve the right to change,revise, update, suspend, discontinue, or otherwise modify the Services at any time orfor any reason without notice to you. You agree that we have no liability whatsoeverfor any loss, damage, or inconvenience caused by your inability to access or use theServices during any downtime or discontinuance of the Services. Nothing in these Legal Terms will be construed to obligate us to maintain and support the Services orto supply any corrections, updates, or releases in connection therewith. - -# 14\. GOVERNING LAW - -These Legal Terms and your use of the Services are governed by and construed inaccordance with the laws of the State of California applicable to agreements madeand to be entirely performed within the State of California , without regard to itsconflict of law principles. - -# 15\. DISPUTE RESOLUTION - -DISPUTE RESOLUTION You agree to irrevocably submit all disputes related to these Legal Terms or the legalrelationship established by these Legal Terms to the jurisdiction of the California courts. Nucleus Cloud Corp shall also maintain the right to bring proceedings as tothe substance of the matter in the courts of the country where you reside or, if theseLegal Terms are entered into in the course of your trade or profession, the state ofyour principal place of business. - -# 16\. CORRECTIONS - -There may be information on the Services that contains typographical errors,inaccuracies, or omissions, including descriptions, pricing, availability, and variousother information. We reserve the right to correct any errors, inaccuracies, oromissions and to change or update the information on the Services at any time,without prior notice. - -# 17\. DISCLAIMER - -DISCLAIMER THE SERVICES ARE PROVIDED ON AN AS-IS AND AS-AVAILABLE BASIS. YOUAGREE THAT YOUR USE OF THE SERVICES WILL BE AT YOUR SOLE RISK. TOTHE FULLEST EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES,EXPRESS OR IMPLIED, IN CONNECTION WITH THE SERVICES AND YOUR USETHEREOF, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE MAKE NO WARRANTIES OR REPRESENTATIONS ABOUTTHE ACCURACY OR COMPLETENESS OF THE SERVICES' CONTENT OR THECONTENT OF ANY WEBSITES OR MOBILE APPLICATIONS LINKED TO THESERVICES AND WE WILL ASSUME NO LIABILITY OR RESPONSIBILITY FORANY (1) ERRORS, MISTAKES, OR INACCURACIES OF CONTENT ANDMATERIALS, (2) PERSONAL INJURY OR PROPERTY DAMAGE, OF ANY NATUREWHATSOEVER, RESULTING FROM YOUR ACCESS TO AND USE OF THESERVICES, (3) ANY UNAUTHORIZED ACCESS TO OR USE OF OUR SECURESERVERS AND/OR ANY AND ALL PERSONAL INFORMATION AND/ORFINANCIAL INFORMATION STORED THEREIN, (4) ANY INTERRUPTION ORCESSATION OF TRANSMISSION TO OR FROM THE SERVICES, (5) ANY BUGS,VIRUSES, TROJAN HORSES, OR THE LIKE WHICH MAY BE TRANSMITTED TOOR THROUGH THE SERVICES BY ANY THIRD PARTY, AND/OR (6) ANY ERRORSOR OMISSIONS IN ANY CONTENT AND MATERIALS OR FOR ANY LOSS ORDAMAGE OF ANY KIND INCURRED AS A RESULT OF THE USE OF ANYCONTENT POSTED, TRANSMITTED, OR OTHERWISE MADE AVAILABLE VIATHE SERVICES. WE DO NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUMERESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OROFFERED BY A THIRD PARTY THROUGH THE SERVICES, ANY HYPERLINKEDWEBSITE, OR ANY WEBSITE OR MOBILE APPLICATION FEATURED IN ANYBANNER OR OTHER ADVERTISING, AND WE WILL NOT BE A PARTY TO OR INANY WAY BE RESPONSIBLE FOR MONITORING ANY TRANSACTION BETWEENYOU AND ANY THIRD-PARTY PROVIDERS OF PRODUCTS OR SERVICES. ASWITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUMOR IN ANY ENVIRONMENT, YOU SHOULD USE YOUR BEST JUDGMENT ANDEXERCISE CAUTION WHERE APPROPRIATE. - -# 18\. LIMITATIONS OF LIABILITY - -LIMITATIONS OF LIABILITY IN NO EVENT WILL WE OR OUR DIRECTORS, EMPLOYEES, OR AGENTS BELIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT,CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL, OR PUNITIVEDAMAGES, INCLUDING LOST PROFIT, LOST REVENUE, LOSS OF DATA, OR OTHER DAMAGES ARISING FROM YOUR USE OF THE SERVICES, EVEN IF WEHAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -# 19\. INDEMNIFICATION - -INDEMNIFICATION You agree to defend, indemnify, and hold us harmless, including our subsidiaries,affiliates, and all of our respective officers, agents, partners, and employees, fromand against any loss, damage, liability, claim, or demand, including reasonableattorneys’ fees and expenses, made by any third party due to or arising out of: ( 1 )use of the Services; ( 2 ) breach of these Legal Terms; ( 3 ) any breach of yourrepresentations and warranties set forth in these Legal Terms; ( 4 ) your violation ofthe rights of a third party, including but not limited to intellectual property rights; or ( 5 )any overt harmful act toward any other user of the Services with whom youconnected via the Services. Notwithstanding the foregoing, we reserve the right, atyour expense, to assume the exclusive defense and control of any matter for whichyou are required to indemnify us, and you agree to cooperate, at your expense, withour defense of such claims. We will use reasonable efforts to notify you of any suchclaim, action, or proceeding which is subject to this indemnification upon becomingaware of it. - -# 20\. USER DATA - -USER DATA We will maintain certain data that you transmit to the Services for the purpose ofmanaging the performance of the Services, as well as data relating to your use of theServices. Although we perform regular routine backups of data, you are solelyresponsible for all data that you transmit or that relates to any activity you haveundertaken using the Services. You agree that we shall have no liability to you forany loss or corruption of any such data, and you hereby waive any right of actionagainst us arising from any such loss or corruption of such data. - -# 21\. ELECTRONIC COMMUNICATIONS, TRANSACTIONS, AND SIGNATURES - -ELECTRONIC COMMUNICATIONS, TRANSACTIONS,AND SIGNATURES Visiting the Services, sending us emails, and completing online forms constituteelectronic communications. You consent to receive electronic communications, andyou agree that all agreements, notices, disclosures, and other communications weprovide to you electronically, via email and on the Services, satisfy any legalrequirement that such communication be in writing. YOU HEREBY AGREE TO THEUSE OF ELECTRONIC SIGNATURES, CONTRACTS, ORDERS, AND OTHERRECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES, ANDRECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THESERVICES. You hereby waive any rights or requirements under any statutes,regulations, rules, ordinances, or other laws in any jurisdiction which require anoriginal signature or delivery or retention of non-electronic records, or to payments orthe granting of credits by any means other than electronic means. - -# 22\. CALIFORNIA USERS AND RESIDENTS - -If any complaint with us is not satisfactorily resolved, you can contact the ComplaintAssistance Unit of the Division of Consumer Services of the California Department ofConsumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento,California 95834 or by telephone at (800) 952-5210 or (916) 445-1254. - -# 23\. MISCELLANEOUS - -These Legal Terms and any policies or operating rules posted by us on the Servicesor in respect to the Services constitute the entire agreement and understandingbetween you and us. Our failure to exercise or enforce any right or provision of theseLegal Terms shall not operate as a waiver of such right or provision. These LegalTerms operate to the fullest extent permissible by law. We may assign any or all ofour rights and obligations to others at any time. We shall not be responsible or liablefor any loss, damage, delay, or failure to act caused by any cause beyond ourreasonable control. If any provision or part of a provision of these Legal Terms isdetermined to be unlawful, void, or unenforceable, that provision or part of theprovision is deemed severable from these Legal Terms and does not affect thevalidity and enforceability of any remaining provisions. There is no joint venture,partnership, employment or agency relationship created between you and us as a result of these Legal Terms or use of the Services. You agree that these Legal Termswill not be construed against us by virtue of having drafted them. You hereby waiveany and all defenses you may have based on the electronic form of these LegalTerms and the lack of signing by the parties hereto to execute these Legal Terms. - -# 26\. CONTACT US - -In order to resolve a complaint regarding the Services or to receive furtherinformation regarding use of the Services, please contact us at: Nucleus Cloud Corp 251 Post st. 412 San Francisco , CA 94109 United States Phone: 61676974566 evis@nucleuscloud.com. diff --git a/src/PosthogProvider.tsx b/src/PosthogProvider.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/README.md b/src/README.md deleted file mode 100644 index 0920d0b..0000000 --- a/src/README.md +++ /dev/null @@ -1,29 +0,0 @@ -Your theme source files should be located in a keycloak-theme directory somewhere in your src directory OR at the root of your directory. -Acceptable directory strucuture: - -```txt -src/ - keycloak-theme/ - login/ - account/ - email/ - -===OR=== - -src/ - foo/ - bar/ - keycloak-theme/ - login/ - account/ - email/ - -===OR=== - -src/ - login/ - account/ - email/ -``` - -You don't need to have all three variant of the theme. If you only need the login theme for example you can have only the login directory. diff --git a/src/account/KcApp.css b/src/account/KcApp.css deleted file mode 100644 index e5325bd..0000000 --- a/src/account/KcApp.css +++ /dev/null @@ -1,10 +0,0 @@ -/* -If you use global CSS like we do here(not recommended) -Be mindful that the CSS of the login theme may clash with the CSS of the account theme in Storybook (and only in storybook). -This is why I made sure to use .my-root-account-class instead of .my-root-class that is already used in the login theme. -*/ - -.my-root-account-class { - /* background: url(./assets/background.svg) no-repeat center center fixed; */ - background: no-repeat center center fixed; -} diff --git a/src/account/KcApp.tsx b/src/account/KcApp.tsx deleted file mode 100644 index 3f88a88..0000000 --- a/src/account/KcApp.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import "./KcApp.css"; -import { lazy, Suspense } from "react"; -import type { PageProps } from "keycloakify/account"; -import type { KcContext } from "./kcContext"; -import { useI18n } from "./i18n"; -import Template from "./Template"; - -const Password = lazy(() => import("./pages/Password")); -const MyExtraPage1 = lazy(() => import("./pages/MyExtraPage1")); -const MyExtraPage2 = lazy(() => import("./pages/MyExtraPage2")); -const Fallback = lazy(()=> import("keycloakify/account")); - -const classes = { - "kcBodyClass": "my-root-account-class" -} satisfies PageProps["classes"]; - -export default function KcApp(props: { kcContext: KcContext; }) { - - const { kcContext } = props; - - const i18n = useI18n({ kcContext }); - - if (i18n === null) { - return null; - } - - return ( - - {(() => { - switch (kcContext.pageId) { - case "password.ftl": return ; - case "my-extra-page-1.ftl": return ; - case "my-extra-page-2.ftl": return ; - default: return ; - } - })()} - - ); - -} diff --git a/src/account/Template.tsx b/src/account/Template.tsx deleted file mode 100644 index 8f7dd82..0000000 --- a/src/account/Template.tsx +++ /dev/null @@ -1,159 +0,0 @@ -// Copy pasted from: https://github.com/InseeFrLab/keycloakify/blob/main/src/login/Template.tsx - -import { type TemplateProps } from "keycloakify/account/TemplateProps"; -import { useGetClassName } from "keycloakify/account/lib/useGetClassName"; -import { usePrepareTemplate } from "keycloakify/lib/usePrepareTemplate"; -import { assert } from "keycloakify/tools/assert"; -import { clsx } from "keycloakify/tools/clsx"; -import posthog from "posthog-js"; -import { PostHogProvider } from "posthog-js/react"; -import { useEffect } from "react"; -import type { I18n } from "./i18n"; -import type { KcContext } from "./kcContext"; - -export default function Template(props: TemplateProps) { - const { kcContext, i18n, doUseDefaultCss, active, classes, children } = props; - - const { getClassName } = useGetClassName({ doUseDefaultCss, classes }); - - const { msg, changeLocale, labelBySupportedLanguageTag, currentLanguageTag } = - i18n; - - const { locale, url, features, realm, message, referrer } = kcContext; - - useEffect(() => { - posthog.init(kcContext.properties.POSTHOG_KEY ?? "fake-key", { - api_host: kcContext.properties.POSTHOG_HOST, - }); - }, [kcContext?.properties?.POSTHOG_KEY, kcContext?.properties?.POSTHOG_HOST]); - - const { isReady } = usePrepareTemplate({ - doFetchDefaultThemeResources: doUseDefaultCss, - styles: [ - `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`, - `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`, - `${url.resourcesPath}/css/account.css`, - ], - htmlClassName: getClassName("kcHtmlClass"), - bodyClassName: clsx("admin-console", "user", getClassName("kcBodyClass")), - }); - - if (!isReady) { - return null; - } - - return ( - <> - -
- -
- -
-
- -
- -
- {message !== undefined && ( -
- {message.type === "success" && ( - - )} - {message.type === "error" && ( - - )} - {message.summary} -
- )} - - {children} -
-
-
- - ); -} diff --git a/src/account/assets/background.svg b/src/account/assets/background.svg deleted file mode 100644 index 0e1cada..0000000 --- a/src/account/assets/background.svg +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/account/createPageStory.tsx b/src/account/createPageStory.tsx deleted file mode 100644 index cecb034..0000000 --- a/src/account/createPageStory.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { getKcContext, type KcContext } from "./kcContext"; -import KcApp from "./KcApp"; -import type { DeepPartial } from "keycloakify/tools/DeepPartial"; - -export function createPageStory(params: { - pageId: PageId; -}) { - - const { pageId } = params; - - function PageStory(params: { kcContext?: DeepPartial>; }) { - - const { kcContext } = getKcContext({ - mockPageId: pageId, - storyPartialKcContext: params.kcContext - }); - - return ( - <> - {/* If you import custom fonts in your index.html you have to import them in storybook as well*/} - - - - ); - - } - - return { PageStory }; - -} diff --git a/src/account/i18n.ts b/src/account/i18n.ts deleted file mode 100644 index 45f75c4..0000000 --- a/src/account/i18n.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { createUseI18n } from "keycloakify/account"; - -//NOTE: See src/login/i18n.ts for instructions on customization of i18n messages. -export const { useI18n } = createUseI18n({}); - -export type I18n = NonNullable>; diff --git a/src/account/kcContext.ts b/src/account/kcContext.ts deleted file mode 100644 index 87df074..0000000 --- a/src/account/kcContext.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { createGetKcContext } from "keycloakify/account"; - -export type KcContextExtension = - | { pageId: "my-extra-page-1.ftl"; } - | { pageId: "my-extra-page-2.ftl"; someCustomValue: string; }; - -export const { getKcContext } = createGetKcContext({ - mockData: [ - { - pageId: "my-extra-page-2.ftl", - someCustomValue: "foo bar" - } - ] -}); - -export const { kcContext } = getKcContext({ - //mockPageId: "password.ftl", -}); - -export type KcContext = NonNullable["kcContext"]>; diff --git a/src/account/pages/MyExtraPage1.tsx b/src/account/pages/MyExtraPage1.tsx deleted file mode 100644 index 649e4cb..0000000 --- a/src/account/pages/MyExtraPage1.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { PageProps } from "keycloakify/account/pages/PageProps"; -import type { KcContext } from "../kcContext"; -import type { I18n } from "../i18n"; - -export default function MyExtraPage1(props: PageProps, I18n>) { - - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - return ( - - ); - -} diff --git a/src/account/pages/MyExtraPage2.tsx b/src/account/pages/MyExtraPage2.tsx deleted file mode 100644 index dc90e84..0000000 --- a/src/account/pages/MyExtraPage2.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import type { PageProps } from "keycloakify/account/pages/PageProps"; -import type { KcContext } from "../kcContext"; -import type { I18n } from "../i18n"; - -export default function MyExtraPage1(props: PageProps, I18n>) { - - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - // someCustomValue is declared by you in ../kcContext.ts - console.log(`TODO: Do something with: ${kcContext.someCustomValue}`); - - return ( - - ); - -} diff --git a/src/account/pages/Password.stories.tsx b/src/account/pages/Password.stories.tsx deleted file mode 100644 index 1ce118d..0000000 --- a/src/account/pages/Password.stories.tsx +++ /dev/null @@ -1,22 +0,0 @@ - -import { Meta, StoryObj } from '@storybook/react'; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "password.ftl" -}); - -const meta = { - title: "account/Password", - component: PageStory, -} satisfies Meta; -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => -}; diff --git a/src/account/pages/Password.tsx b/src/account/pages/Password.tsx deleted file mode 100644 index 294c759..0000000 --- a/src/account/pages/Password.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import { clsx } from "keycloakify/tools/clsx"; -import type { PageProps } from "keycloakify/account/pages/PageProps"; -import { useGetClassName } from "keycloakify/account/lib/useGetClassName"; -import type { KcContext } from "../kcContext"; -import type { I18n } from "../i18n"; - -export default function LogoutConfirm(props: PageProps, I18n>) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - const { getClassName } = useGetClassName({ - doUseDefaultCss, - "classes": { - ...classes, - "kcBodyClass": clsx(classes?.kcBodyClass, "password") - } - }); - - const { url, password, account, stateChecker } = kcContext; - - const { msg } = i18n; - - return ( - - ); -} diff --git a/src/kc.gen.tsx b/src/kc.gen.tsx new file mode 100644 index 0000000..ec705a9 --- /dev/null +++ b/src/kc.gen.tsx @@ -0,0 +1,49 @@ +// This file is auto-generated by the `update-kc-gen` command. Do not edit it manually. +// Hash: 161ca8533960b1f738b619eff9d07b6bc0fd4ad9a851a9307b8a3ddbd9073969 + +/* eslint-disable */ + +// @ts-nocheck + +// noinspection JSUnusedGlobalSymbols + +import { lazy, Suspense, type ReactNode } from "react"; + +export type ThemeName = "neosync-keycloakify"; + +export const themeNames: ThemeName[] = ["neosync-keycloakify"]; + +export type KcEnvName = never; + +export const kcEnvNames: KcEnvName[] = []; + +export const kcEnvDefaults: Record = {}; + +/** + * NOTE: Do not import this type except maybe in your entrypoint. + * If you need to import the KcContext import it either from src/login/KcContext.ts or src/account/KcContext.ts. + * Depending on the theme type you are working on. + */ +export type KcContext = import("./login/KcContext").KcContext; + +declare global { + interface Window { + kcContext?: KcContext; + } +} + +export const KcLoginPage = lazy(() => import("./login/KcPage")); + +export function KcPage(props: { kcContext: KcContext; fallback?: ReactNode }) { + const { kcContext, fallback } = props; + return ( + + {(() => { + switch (kcContext.themeType) { + case "login": + return ; + } + })()} + + ); +} diff --git a/src/login/KcApp.css b/src/login/KcApp.css index 5337c6a..b728a55 100644 --- a/src/login/KcApp.css +++ b/src/login/KcApp.css @@ -2,10 +2,6 @@ color: white; } -.my-font { - font-family: "Work Sans"; -} - .my-root-class { background: white; } @@ -21,9 +17,6 @@ display: block; box-sizing: border-box; } -.kcLoginClass { - height: 100vh; -} .kcInputClass { border-radius: 0.5rem; @@ -53,6 +46,7 @@ input.kcInputClass::placeholder { } .kcLoginClass { + height: 100vh; display: grid; grid-template-columns: 1fr 1fr; /* Equal width */ padding: 0; @@ -92,13 +86,16 @@ input.kcInputClass::placeholder { font-size: 36px; } -.headerLogo { +.kcHeaderWrapperClass { display: flex; flex-direction: column; align-items: center; width: 100%; /* padding-top: 20%; */ } +/* .kcHeaderWrapperClass > span { + color: black; +} */ .kcButtonClass { border-radius: 8px; @@ -111,6 +108,10 @@ input.kcInputClass::placeholder { background: rgba(15, 23, 42, 0.9); } +.kcButtonPrimaryClass { + background-color: black; +} + .kcFormSocialAccountListClass { display: flex; flex-direction: column; diff --git a/src/login/KcApp.tsx b/src/login/KcApp.tsx deleted file mode 100644 index 4fc25b2..0000000 --- a/src/login/KcApp.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import Fallback, { type PageProps } from "keycloakify/login"; -import { lazy, Suspense } from "react"; -import { useI18n } from "./i18n"; -import "./KcApp.css"; -import type { KcContext } from "./kcContext"; -import Template from "./Template"; - -const Login = lazy(() => import("./pages/Login")); -// If you can, favor register-user-profile.ftl over register.ftl, see: https://docs.keycloakify.dev/realtime-input-validation -const Register = lazy(() => import("./pages/Register")); -const RegisterUserProfile = lazy(() => import("./pages/RegisterUserProfile")); -const Terms = lazy(() => import("./pages/Terms")); -const MyExtraPage1 = lazy(() => import("./pages/MyExtraPage1")); -const MyExtraPage2 = lazy(() => import("./pages/MyExtraPage2")); -const Info = lazy(() => import("keycloakify/login/pages/Info")); - -// This is like adding classes to theme.properties -// https://github.com/keycloak/keycloak/blob/11.0.3/themes/src/main/resources/theme/keycloak/login/theme.properties -const classes = { - // NOTE: The classes are defined in ./KcApp.css - kcHtmlClass: "my-root-class", - kcHeaderWrapperClass: "my-color my-font", - kcInputClass: "kcInputClass", - kcContentWrapperClass: "kcContentWrapperClass", - kcLoginClass: "kcLoginClass", - kcFormCardClass: "kcFormCardClass", - kcSignUpClass: "kcSignUpClass", -} satisfies PageProps["classes"]; - -export default function KcApp(props: { kcContext: KcContext }) { - const { kcContext } = props; - - const i18n = useI18n({ kcContext }); - - if (i18n === null) { - //NOTE: Text resources for the current language are still being downloaded, we can't display anything yet. - //We could display a loading progress but it's usually a matter of milliseconds. - return null; - } - - /* - * Examples assuming i18n.currentLanguageTag === "en": - * i18n.msg("access-denied") === Access denied - * i18n.msg("foo") === foo in English - */ - - return ( - - {(() => { - switch (kcContext.pageId) { - case "login.ftl": - return ( - - ); - case "register.ftl": - return ( - - ); - case "register-user-profile.ftl": - return ( - - ); - case "terms.ftl": - return ( - - ); - // Removes those pages in you project. They are included to show you how to implement keycloak pages - // that are not yes implemented by Keycloakify. - // See: https://docs.keycloakify.dev/limitations#some-pages-still-have-the-default-theme.-why - case "my-extra-page-1.ftl": - return ( - - ); - case "my-extra-page-2.ftl": - return ( - - ); - // We choose to use the default Template for the Info page and to download the theme resources. - // This is just an example to show you what is possible. You likely don't want to keep this as is. - case "info.ftl": - return ( - import("keycloakify/login/Template"))} - doUseDefaultCss={true} - /> - ); - default: - return ( - - ); - } - })()} - - ); -} diff --git a/src/login/KcContext.ts b/src/login/KcContext.ts new file mode 100644 index 0000000..65ad94a --- /dev/null +++ b/src/login/KcContext.ts @@ -0,0 +1,14 @@ +/* eslint-disable @typescript-eslint/no-empty-object-type */ +import type { ExtendKcContext } from "keycloakify/login"; +import type { KcEnvName, ThemeName } from "../kc.gen"; + +export type KcContextExtension = { + themeName: ThemeName; + properties: Record & {}; + // NOTE: Here you can declare more properties to extend the KcContext + // See: https://docs.keycloakify.dev/faq-and-help/some-values-you-need-are-missing-from-in-kccontext +}; + +export type KcContextExtensionPerPage = {}; + +export type KcContext = ExtendKcContext; diff --git a/src/login/KcPage.tsx b/src/login/KcPage.tsx new file mode 100644 index 0000000..c647101 --- /dev/null +++ b/src/login/KcPage.tsx @@ -0,0 +1,54 @@ +import type { ClassKey } from "keycloakify/login"; +import DefaultPage from "keycloakify/login/DefaultPage"; +import { Suspense, lazy } from "react"; +import { useI18n } from "./i18n"; +import "./KcApp.css"; +import type { KcContext } from "./KcContext"; +import Template from "./Template"; +const UserProfileFormFields = lazy( + () => import("keycloakify/login/UserProfileFormFields") +); + +const doMakeUserConfirmPassword = true; + +const Login = lazy(() => import("./pages/Login")); + +export default function KcPage(props: { kcContext: KcContext }) { + const { kcContext } = props; + + const { i18n } = useI18n({ kcContext }); + + return ( + + {(() => { + switch (kcContext.pageId) { + case "login.ftl": + return ( + + ); + default: + return ( + + ); + } + })()} + + ); +} + +const classes = { + kcHtmlClass: "my-root-class", + kcHeaderWrapperClass: "my-color" +} satisfies { [key in ClassKey]?: string }; diff --git a/src/login/KcPageStory.tsx b/src/login/KcPageStory.tsx new file mode 100644 index 0000000..ac0dea2 --- /dev/null +++ b/src/login/KcPageStory.tsx @@ -0,0 +1,45 @@ +import { createGetKcContextMock } from "keycloakify/login/KcContext"; +import type { DeepPartial } from "keycloakify/tools/DeepPartial"; +import { kcEnvDefaults, themeNames } from "../kc.gen"; +import type { + KcContext, + KcContextExtension, + KcContextExtensionPerPage +} from "./KcContext"; +import KcPage from "./KcPage"; + +const kcContextExtension: KcContextExtension = { + themeName: themeNames[0], + properties: { + ...kcEnvDefaults + } +}; +const kcContextExtensionPerPage: KcContextExtensionPerPage = {}; + +export const { getKcContextMock } = createGetKcContextMock({ + kcContextExtension, + kcContextExtensionPerPage, + overrides: {}, + overridesPerPage: {} +}); + +export function createKcPageStory(params: { + pageId: PageId; +}) { + const { pageId } = params; + + function KcPageStory(props: { + kcContext?: DeepPartial>; + }) { + const { kcContext: overrides } = props; + + const kcContextMock = getKcContextMock({ + pageId, + overrides + }); + + return ; + } + + return { KcPageStory }; +} diff --git a/src/login/Template.tsx b/src/login/Template.tsx index e7a7f5e..346bde4 100644 --- a/src/login/Template.tsx +++ b/src/login/Template.tsx @@ -1,299 +1,199 @@ -// Copy pasted from: https://github.com/InseeFrLab/keycloakify/blob/main/src/login/Template.tsx - -import { usePrepareTemplate } from "keycloakify/lib/usePrepareTemplate"; -import { type TemplateProps } from "keycloakify/login/TemplateProps"; -import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; +import { kcSanitize } from "keycloakify/lib/kcSanitize"; +import { getKcClsx } from "keycloakify/login/lib/kcClsx"; +import { useInitialize } from "keycloakify/login/Template.useInitialize"; +import type { TemplateProps } from "keycloakify/login/TemplateProps"; import { clsx } from "keycloakify/tools/clsx"; -import posthog from "posthog-js"; -import { PostHogProvider } from "posthog-js/react"; -import { ReactElement, useEffect, useState } from "react"; +import { useSetClassName } from "keycloakify/tools/useSetClassName"; +import { useEffect } from "react"; +import SideImageContent from "./components/SideImageContet"; import type { I18n } from "./i18n"; -import type { KcContext } from "./kcContext"; -import c2foLogo from "./assets/c2fo_logo.svg"; -import fellow from "./assets/fellow_logo.svg"; -import fp from "./assets/fpllc_logo.svg"; -import siemans from "./assets/siemens_logo.svg"; -import { SyncDash } from "./SyncDash"; +import type { KcContext } from "./KcContext"; export default function Template(props: TemplateProps) { - const { - displayInfo = false, - displayMessage = true, - displayRequiredFields = false, - displayWide = false, - showAnotherWayIfPresent = true, - showUsernameNode = null, - infoNode = null, - kcContext, - i18n, - doUseDefaultCss, - classes, - children, - } = props; + const { + displayInfo = false, + displayMessage = true, + displayRequiredFields = false, + headerNode, + socialProvidersNode = null, + infoNode = null, + documentTitle, + bodyClassName, + kcContext, + i18n, + doUseDefaultCss, + classes, + children + } = props; - const { getClassName } = useGetClassName({ doUseDefaultCss, classes }); + const { kcClsx } = getKcClsx({ doUseDefaultCss, classes }); - const { msg } = i18n; + const { msg, msgStr, currentLanguage, enabledLanguages } = i18n; - const { auth, url, message, isAppInitiatedAction } = kcContext; + const { auth, url, message, isAppInitiatedAction } = kcContext; - useEffect(() => { - posthog.init(kcContext.properties.POSTHOG_KEY ?? "fake-key", { - api_host: kcContext.properties.POSTHOG_HOST, - }); - }, [kcContext?.properties?.POSTHOG_KEY, kcContext?.properties?.POSTHOG_HOST]); + useEffect(() => { + document.title = documentTitle ?? msgStr("loginTitle", kcContext.realm.displayName); + }, []); - const { isReady } = usePrepareTemplate({ - doFetchDefaultThemeResources: doUseDefaultCss, - styles: [ - `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`, - `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`, - `${url.resourcesCommonPath}/lib/zocial/zocial.css`, - `${url.resourcesPath}/css/login.css`, - ], - htmlClassName: getClassName("kcHtmlClass"), - bodyClassName: getClassName("kcBodyClass"), - }); + useSetClassName({ + qualifiedName: "html", + className: kcClsx("kcHtmlClass") + }); - useState(() => { - document.title = i18n.msgStr("loginTitle", kcContext.realm.displayName); - }); + useSetClassName({ + qualifiedName: "body", + className: bodyClassName ?? kcClsx("kcBodyClass") + }); - if (!isReady) { - return null; - } + const { isReadyToRender } = useInitialize({ kcContext, doUseDefaultCss }); - const logos: { id: number; logo: ReactElement }[] = [ - { - id: 1, - logo: cust_logo, - }, - { - id: 2, - logo: cust_logo, - }, - { - id: 3, - logo: cust_logo, - }, - { - id: 8, - logo: cust_logo, - }, - ]; + if (!isReadyToRender) { + return null; + } - return ( - -
-
-
- {!( - auth !== undefined && - auth.showUsername && - !auth.showResetCredentials - ) ? ( - displayRequiredFields ? ( -
-
- - * - {msg("requiredFields")} - -
-
- Neosync logo -
-
- ) : ( -
- Neosync logo -
- ) - ) : displayRequiredFields ? ( -
-
- - * {msg("requiredFields")} - -
-
- {showUsernameNode} -
-
- - -
-
-
- {/* App-initiated actions should not see warning messages about the need to complete the action during login. */} - {auth !== undefined && - auth.showTryAnotherWayLink && - showAnotherWayIfPresent && ( -
-
- + +
+
+ {enabledLanguages.length > 1 && ( +
+
+
+ + +
+
+
+ )} + {(() => { + const node = !(auth !== undefined && auth.showUsername && !auth.showResetCredentials) ? ( +

{headerNode}

+ ) : ( +
+ + +
+ + {msg("restartLoginTooltip")} +
+
+
+ ); + + if (displayRequiredFields) { + return ( +
+
+ + * + {msg("requiredFields")} + +
+
{node}
+
+ ); + } + + return node; + })()} +
+
+
+ {/* App-initiated actions should not see warning messages about the need to complete the action during login. */} + {displayMessage && message !== undefined && (message.type !== "warning" || !isAppInitiatedAction) && ( +
+
+ {message.type === "success" && } + {message.type === "warning" && } + {message.type === "error" && } + {message.type === "info" && } +
+ +
+ )} + {children} + {auth !== undefined && auth.showTryAnotherWayLink && ( + + + + )} + {socialProvidersNode} + {displayInfo && ( +
+
+ {infoNode} +
+
+ )} +
- - )} - {displayMessage && - message !== undefined && - (message.type !== "warning" || !isAppInitiatedAction) && ( -
- {message.type === "success" && ( - - )} - {message.type === "warning" && ( - - )} - {message.type === "error" && ( - - )} - {message.type === "info" && ( - - )} - -
- )} - {children} - {displayInfo && ( -
-
- {infoNode} -
- )}
-
-
-
-
-
Every developer needs data.
-
- Neosync powers developers with safe, high-quality data for a - better building, testing and debugging experience. -
-
- -
- {logos.map((src) => ( -
- {src.logo} -
- ))} -
+ +
-
- - ); + ); } diff --git a/src/login/Template2.tsx b/src/login/Template2.tsx new file mode 100644 index 0000000..71e5e2c --- /dev/null +++ b/src/login/Template2.tsx @@ -0,0 +1,299 @@ +// // Copy pasted from: https://github.com/InseeFrLab/keycloakify/blob/main/src/login/Template.tsx + +// import { usePrepareTemplate } from "keycloakify/lib/usePrepareTemplate"; +// import { type TemplateProps } from "keycloakify/login/TemplateProps"; +// import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; +// import { clsx } from "keycloakify/tools/clsx"; +// import posthog from "posthog-js"; +// import { PostHogProvider } from "posthog-js/react"; +// import { ReactElement, useEffect, useState } from "react"; +// import type { I18n } from "./i18n"; +// import type { KcContext } from "./kcContext"; +// import c2foLogo from "./assets/c2fo_logo.svg"; +// import fellow from "./assets/fellow_logo.svg"; +// import fp from "./assets/fpllc_logo.svg"; +// import siemans from "./assets/siemens_logo.svg"; +// import { SyncDash } from "./SyncDash"; + +// export default function Template(props: TemplateProps) { +// const { +// displayInfo = false, +// displayMessage = true, +// displayRequiredFields = false, +// displayWide = false, +// showAnotherWayIfPresent = true, +// showUsernameNode = null, +// infoNode = null, +// kcContext, +// i18n, +// doUseDefaultCss, +// classes, +// children, +// } = props; + +// const { getClassName } = useGetClassName({ doUseDefaultCss, classes }); + +// const { msg } = i18n; + +// const { auth, url, message, isAppInitiatedAction } = kcContext; + +// useEffect(() => { +// posthog.init(kcContext.properties.POSTHOG_KEY ?? "fake-key", { +// api_host: kcContext.properties.POSTHOG_HOST, +// }); +// }, [kcContext?.properties?.POSTHOG_KEY, kcContext?.properties?.POSTHOG_HOST]); + +// const { isReady } = usePrepareTemplate({ +// doFetchDefaultThemeResources: doUseDefaultCss, +// styles: [ +// `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`, +// `${url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`, +// `${url.resourcesCommonPath}/lib/zocial/zocial.css`, +// `${url.resourcesPath}/css/login.css`, +// ], +// htmlClassName: getClassName("kcHtmlClass"), +// bodyClassName: getClassName("kcBodyClass"), +// }); + +// useState(() => { +// document.title = i18n.msgStr("loginTitle", kcContext.realm.displayName); +// }); + +// if (!isReady) { +// return null; +// } + +// const logos: { id: number; logo: ReactElement }[] = [ +// { +// id: 1, +// logo: cust_logo, +// }, +// { +// id: 2, +// logo: cust_logo, +// }, +// { +// id: 3, +// logo: cust_logo, +// }, +// { +// id: 8, +// logo: cust_logo, +// }, +// ]; + +// return ( +// +//
+//
+//
+// {!( +// auth !== undefined && +// auth.showUsername && +// !auth.showResetCredentials +// ) ? ( +// displayRequiredFields ? ( +//
+//
+// +// * +// {msg("requiredFields")} +// +//
+//
+// Neosync logo +//
+//
+// ) : ( +//
+// Neosync logo +//
+// ) +// ) : displayRequiredFields ? ( +//
+//
+// +// * {msg("requiredFields")} +// +//
+//
+// {showUsernameNode} +//
+//
+// +// +//
+// +// +// {msg("restartLoginTooltip")} +// +//
+//
+//
+//
+//
+//
+// ) : ( +// <> +// {showUsernameNode} +//
+//
+// +// +//
+// +// +// {msg("restartLoginTooltip")} +// +//
+//
+//
+//
+// +// )} +//
+//
+//
+// {/* App-initiated actions should not see warning messages about the need to complete the action during login. */} +// {auth !== undefined && +// auth.showTryAnotherWayLink && +// showAnotherWayIfPresent && ( +//
+// +//
+// )} +// {displayMessage && +// message !== undefined && +// (message.type !== "warning" || !isAppInitiatedAction) && ( +//
+// {message.type === "success" && ( +// +// )} +// {message.type === "warning" && ( +// +// )} +// {message.type === "error" && ( +// +// )} +// {message.type === "info" && ( +// +// )} +// +//
+// )} +// {children} +// {displayInfo && ( +//
+//
+// {infoNode} +//
+//
+// )} +//
+//
+//
+//
+//
+//
Every developer needs data.
+//
+// Neosync powers developers with safe, high-quality data for a +// better building, testing and debugging experience. +//
+//
+// +//
+// {logos.map((src) => ( +//
+// {src.logo} +//
+// ))} +//
+//
+//
+//
+// ); +// } diff --git a/src/login/components/SideImageContet.tsx b/src/login/components/SideImageContet.tsx new file mode 100644 index 0000000..b4cb1e3 --- /dev/null +++ b/src/login/components/SideImageContet.tsx @@ -0,0 +1,56 @@ +import { ReactElement } from "react"; +import { SyncDash } from "../SyncDash"; +import c2foLogo from "../assets/c2fo_logo.svg"; +import fellow from "../assets/fellow_logo.svg"; +import fp from "../assets/fpllc_logo.svg"; +import siemans from "../assets/siemens_logo.svg"; + +const logos: { id: number; logo: ReactElement }[] = [ + { + id: 1, + logo: cust_logo + }, + { + id: 2, + logo: cust_logo + }, + { + id: 3, + logo: cust_logo + }, + { + id: 8, + logo: cust_logo + } +]; + +export default function SideImageContent(): ReactElement { + return ( +
+
+
Every developer needs data.
+
+ Neosync powers developers with safe, high-quality data for a better + building, testing and debugging experience. +
+
+ +
+ {logos.map(src => ( +
+ {src.logo} +
+ ))} +
+
+ ); +} diff --git a/src/login/createPageStory.tsx b/src/login/createPageStory.tsx deleted file mode 100644 index cecb034..0000000 --- a/src/login/createPageStory.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { getKcContext, type KcContext } from "./kcContext"; -import KcApp from "./KcApp"; -import type { DeepPartial } from "keycloakify/tools/DeepPartial"; - -export function createPageStory(params: { - pageId: PageId; -}) { - - const { pageId } = params; - - function PageStory(params: { kcContext?: DeepPartial>; }) { - - const { kcContext } = getKcContext({ - mockPageId: pageId, - storyPartialKcContext: params.kcContext - }); - - return ( - <> - {/* If you import custom fonts in your index.html you have to import them in storybook as well*/} - - - - ); - - } - - return { PageStory }; - -} diff --git a/src/login/i18n.ts b/src/login/i18n.ts index 3875f33..6b8e1cd 100644 --- a/src/login/i18n.ts +++ b/src/login/i18n.ts @@ -1,26 +1,10 @@ -import { createUseI18n } from "keycloakify/login"; +/* eslint-disable @typescript-eslint/no-unused-vars */ +import { i18nBuilder } from "keycloakify/login"; +import type { ThemeName } from "../kc.gen"; -export const { useI18n } = createUseI18n({ - // NOTE: Here you can override the default i18n messages - // or define new ones that, for example, you would have - // defined in the Keycloak admin UI for UserProfile - // https://user-images.githubusercontent.com/6702424/182050652-522b6fe6-8ee5-49df-aca3-dba2d33f24a5.png - // en: { - // alphanumericalCharsOnly: "Only alphanumerical characters", - // gender: "Gender", - // // Here we overwrite the default english value for the message "doForgotPassword" - // // that is "Forgot Password?" see: https://github.com/InseeFrLab/keycloakify/blob/f0ae5ea908e0aa42391af323b6d5e2fd371af851/src/lib/i18n/generated_messages/18.0.1/login/en.ts#L17 - // doForgotPassword: "I forgot my password", - // invalidUserMessage: "Invalid username or password. (this message was overwrite in the theme)" - // }, - // fr: { - // /* spell-checker: disable */ - // alphanumericalCharsOnly: "Caractère alphanumérique uniquement", - // gender: "Genre", - // doForgotPassword: "J'ai oublié mon mot de passe", - // invalidUserMessage: "Nom d'utilisateur ou mot de passe invalide. (ce message a été écrasé dans le thème)" - // /* spell-checker: enable */ - // } -}); +/** @see: https://docs.keycloakify.dev/features/i18n */ +const { useI18n, ofTypeI18n } = i18nBuilder.withThemeName().build(); -export type I18n = NonNullable>; +type I18n = typeof ofTypeI18n; + +export { useI18n, type I18n }; diff --git a/src/login/kcContext.ts b/src/login/kcContext.ts deleted file mode 100644 index 10483b3..0000000 --- a/src/login/kcContext.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { createGetKcContext } from "keycloakify/login"; - -export type KcContextExtension = - // WARNING: It's important to keep in sync the extraThemeProperties declared in the package.json and this type definition. - | { pageId: "login.ftl"; extraThemeProperties: { foo: string } } - | { pageId: "my-extra-page-1.ftl" } - | { pageId: "my-extra-page-2.ftl"; someCustomValue: string } - // NOTE: register.ftl is deprecated in favor of register-user-profile.ftl - // but let's say we use it anyway and have this plugin enabled: https://github.com/micedre/keycloak-mail-whitelisting - // keycloak-mail-whitelisting define the non standard ftl global authorizedMailDomains, we declare it here. - | { pageId: "register.ftl"; authorizedMailDomains: string[] }; - -//NOTE: In most of the cases you do not need to overload the KcContext, you can -// just call createGetKcContext(...) without type arguments. -// You want to overload the KcContext only if: -// - You have custom plugins that add some values to the context (like https://github.com/micedre/keycloak-mail-whitelisting that adds authorizedMailDomains) -// - You want to add support for extra pages that are not yey featured by default, see: https://docs.keycloakify.dev/contributing#adding-support-for-a-new-page -export const { getKcContext } = createGetKcContext({ - mockData: [ - { - pageId: "login.ftl", - locale: { - //When we test the login page we do it in french - currentLanguageTag: "en", - }, - //Uncomment the following line for hiding the Alert message - //"message": undefined - //Uncomment the following line for showing an Error message - //message: { type: "error", summary: "This is an error" } - }, - { - pageId: "my-extra-page-2.ftl", - someCustomValue: "foo bar baz", - }, - { - //NOTE: You will either use register.ftl (legacy) or register-user-profile.ftl, not both - pageId: "register-user-profile.ftl", - locale: { - currentLanguageTag: "en", - }, - profile: { - attributes: [ - { - validators: { - pattern: { - pattern: "^[a-zA-Z0-9]+$", - "ignore.empty.value": true, - // eslint-disable-next-line no-template-curly-in-string - "error-message": "${alphanumericalCharsOnly}", - }, - }, - //NOTE: To override the default mock value - value: undefined, - name: "username", - }, - { - validators: { - options: { - options: [ - "male", - "female", - "non-binary", - "transgender", - "intersex", - "non_communicated", - ], - }, - }, - // eslint-disable-next-line no-template-curly-in-string - displayName: "${gender}", - annotations: {}, - required: true, - groupAnnotations: {}, - readOnly: false, - name: "gender", - }, - ], - }, - }, - { - pageId: "register.ftl", - authorizedMailDomains: [ - "example.com", - "another-example.com", - "*.yet-another-example.com", - "*.example.com", - "hello-world.com", - ], - // Simulate we got an error with the email field - messagesPerField: { - printIfExists: (fieldName: string, className: T) => { - console.log({ fieldName }); - return fieldName === "email" ? className : undefined; - }, - existsError: (fieldName: string) => fieldName === "email", - get: (fieldName: string) => `Fake error for ${fieldName}`, - exists: (fieldName: string) => fieldName === "email", - }, - }, - ], -}); - -export const { kcContext } = getKcContext({ - // Uncomment to test the login page for development. - //mockPageId: "login.ftl", -}); - -export type KcContext = NonNullable< - ReturnType["kcContext"] ->; diff --git a/src/login/pages/Login.stories.tsx b/src/login/pages/Login.stories.tsx deleted file mode 100644 index 91ac4e9..0000000 --- a/src/login/pages/Login.stories.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { Meta, StoryObj } from "@storybook/react"; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "login.ftl", -}); - -const meta = { - title: "login/Login", - component: PageStory, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => , -}; - -export const WithoutPasswordField: Story = { - render: () => , -}; - -export const WithoutRegistration: Story = { - render: () => ( - - ), -}; - -export const WithoutRememberMe: Story = { - render: () => , -}; - -export const WithoutPasswordReset: Story = { - render: () => ( - - ), -}; - -export const WithEmailOrUsername: Story = { - render: () => ( - - ), -}; - -export const WithEmailAsUsernameOnly: Story = { - render: () => ( - - ), -}; - -export const WithPresetUsername: Story = { - render: () => ( - - ), -}; - -export const WithImmutablePresetUsername: Story = { - render: () => ( - - ), -}; - -export const WithSocialProviders: Story = { - render: () => ( - - ), -}; diff --git a/src/login/pages/Login.tsx b/src/login/pages/Login.tsx index aac0f10..47febc0 100644 --- a/src/login/pages/Login.tsx +++ b/src/login/pages/Login.tsx @@ -1,292 +1,219 @@ -import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; +import { kcSanitize } from "keycloakify/lib/kcSanitize"; +import { getKcClsx, type KcClsx } from "keycloakify/login/lib/kcClsx"; import type { PageProps } from "keycloakify/login/pages/PageProps"; +import type { JSX } from "keycloakify/tools/JSX"; import { clsx } from "keycloakify/tools/clsx"; -import { useConstCallback } from "keycloakify/tools/useConstCallback"; -import { useState, type FormEventHandler } from "react"; +import { useIsPasswordRevealed } from "keycloakify/tools/useIsPasswordRevealed"; +import { useState } from "react"; +import type { KcContext } from "../KcContext"; import type { I18n } from "../i18n"; -import type { KcContext } from "../kcContext"; -const my_custom_param = new URL(window.location.href).searchParams.get( - "my_custom_param" -); +export default function Login(props: PageProps, I18n>) { + const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; -if (my_custom_param !== null) { - console.log("my_custom_param:", my_custom_param); -} + const { kcClsx } = getKcClsx({ + doUseDefaultCss, + classes + }); -export default function Login( - props: PageProps, I18n> -) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; + const { social, realm, url, usernameHidden, login, auth, registrationDisabled, messagesPerField } = kcContext; - const { getClassName } = useGetClassName({ - doUseDefaultCss, - classes, - }); + const { msg, msgStr } = i18n; - const { - social, - realm, - url, - usernameHidden, - login, - auth, - registrationDisabled, - } = kcContext; + const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false); - const { msg, msgStr } = i18n; + return ( + + ); +} - const formElement = e.target as HTMLFormElement; +function PasswordWrapper(props: { kcClsx: KcClsx; i18n: I18n; passwordInputId: string; children: JSX.Element }) { + const { kcClsx, i18n, passwordInputId, children } = props; - //NOTE: Even if we login with email Keycloak expect username and password in - //the POST request. - formElement - .querySelector("input[name='email']") - ?.setAttribute("name", "username"); + const { msgStr } = i18n; - formElement.submit(); - }); + const { isPasswordRevealed, toggleIsPasswordRevealed } = useIsPasswordRevealed({ passwordInputId }); - return ( - - ); + ); } diff --git a/src/login/pages/LoginResetPassword.stories.tsx b/src/login/pages/LoginResetPassword.stories.tsx deleted file mode 100644 index 0b8b9d8..0000000 --- a/src/login/pages/LoginResetPassword.stories.tsx +++ /dev/null @@ -1,30 +0,0 @@ -//This is to show that you can create stories for pages that you haven't overloaded. - -import { Meta, StoryObj } from '@storybook/react'; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "login-reset-password.ftl" -}); - -const meta = { - title: "login/LoginResetPassword", - component: PageStory, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => -}; - -export const WithEmailAsUsername: Story = { - render: () => ( - - ) -}; diff --git a/src/login/pages/LoginResetPassword.tsx b/src/login/pages/LoginResetPassword.tsx deleted file mode 100644 index 6a39f08..0000000 --- a/src/login/pages/LoginResetPassword.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; -import type { PageProps } from "keycloakify/login/pages/PageProps"; -import { clsx } from "keycloakify/tools/clsx"; -import type { I18n } from "../i18n"; -import type { KcContext } from "../kcContext"; - -export default function LoginResetPassword( - props: PageProps< - Extract, - I18n - > -) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - const { getClassName } = useGetClassName({ - doUseDefaultCss, - classes, - }); - - const { url, realm, auth } = kcContext; - - const { msg, msgStr } = i18n; - - return ( - - ); -} diff --git a/src/login/pages/MyExtraPage1.tsx b/src/login/pages/MyExtraPage1.tsx deleted file mode 100644 index b7c73bd..0000000 --- a/src/login/pages/MyExtraPage1.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import type { PageProps } from "keycloakify/login/pages/PageProps"; -import type { KcContext } from "../kcContext"; -import type { I18n } from "../i18n"; - -export default function MyExtraPage1(props: PageProps, I18n>) { - - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - return ( - - ); - -} diff --git a/src/login/pages/MyExtraPage2.stories.tsx b/src/login/pages/MyExtraPage2.stories.tsx deleted file mode 100644 index b412140..0000000 --- a/src/login/pages/MyExtraPage2.stories.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "my-extra-page-2.ftl" -}); - -const meta = { - title: "login/MyExtraPage2", - component: PageStory, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => -}; - -export const WitAbc: Story = { - render: () => ( - - ) -}; diff --git a/src/login/pages/MyExtraPage2.tsx b/src/login/pages/MyExtraPage2.tsx deleted file mode 100644 index e9f745a..0000000 --- a/src/login/pages/MyExtraPage2.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import type { PageProps } from "keycloakify/login/pages/PageProps"; -import type { I18n } from "../i18n"; -import type { KcContext } from "../kcContext"; - -export default function MyExtraPage1( - props: PageProps, I18n> -) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - // someCustomValue is declared by you in ../kcContext.ts - console.log(`TODO: Do something with: ${kcContext.someCustomValue}`); - - return ( - - ); -} diff --git a/src/login/pages/Register.stories.tsx b/src/login/pages/Register.stories.tsx deleted file mode 100644 index 3a4771f..0000000 --- a/src/login/pages/Register.stories.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Meta, StoryObj } from "@storybook/react"; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "register.ftl", -}); - -const meta = { - title: "register/Register", - component: PageStory, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => , -}; diff --git a/src/login/pages/Register.tsx b/src/login/pages/Register.tsx deleted file mode 100644 index 9275a09..0000000 --- a/src/login/pages/Register.tsx +++ /dev/null @@ -1,183 +0,0 @@ -// ejected using 'npx eject-keycloak-page' -import { clsx } from "keycloakify/tools/clsx"; -import type { PageProps } from "keycloakify/login/pages/PageProps"; -import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; -import type { KcContext } from "../kcContext"; -import type { I18n } from "../i18n"; - -export default function Register(props: PageProps, I18n>) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - const { getClassName } = useGetClassName({ - doUseDefaultCss, - classes - }); - - const { url, messagesPerField, register, realm, passwordRequired, recaptchaRequired, recaptchaSiteKey } = kcContext; - - const { msg, msgStr } = i18n; - - return ( - - ); -} diff --git a/src/login/pages/RegisterUserProfile.stories.tsx b/src/login/pages/RegisterUserProfile.stories.tsx deleted file mode 100644 index ed46a46..0000000 --- a/src/login/pages/RegisterUserProfile.stories.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Meta, StoryObj } from "@storybook/react"; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "register-user-profile.ftl", -}); - -const meta = { - title: "registerUserProfile/Register User Profile", - component: PageStory, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => , -}; diff --git a/src/login/pages/RegisterUserProfile.tsx b/src/login/pages/RegisterUserProfile.tsx deleted file mode 100644 index 7558645..0000000 --- a/src/login/pages/RegisterUserProfile.tsx +++ /dev/null @@ -1,95 +0,0 @@ -// ejected using 'npx eject-keycloak-page' -import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; -import type { PageProps } from "keycloakify/login/pages/PageProps"; -import { clsx } from "keycloakify/tools/clsx"; -import { useState } from "react"; -import type { I18n } from "../i18n"; -import type { KcContext } from "../kcContext"; -import { UserProfileFormFields } from "./shared/UserProfileFormFields"; - -export default function RegisterUserProfile( - props: PageProps< - Extract, - I18n - > -) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - const { getClassName } = useGetClassName({ - doUseDefaultCss, - classes, - }); - - const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = - kcContext; - - const { msg, msgStr } = i18n; - - const [isFormSubmittable, setIsFormSubmittable] = useState(false); - - return ( - - ); -} diff --git a/src/login/pages/Terms.stories.tsx b/src/login/pages/Terms.stories.tsx deleted file mode 100644 index 35d2847..0000000 --- a/src/login/pages/Terms.stories.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { createPageStory } from "../createPageStory"; - -const { PageStory } = createPageStory({ - pageId: "terms.ftl" -}); - -const meta = { - title: "login/Terms", - component: PageStory, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Primary: Story = { - render: () => -}; diff --git a/src/login/pages/Terms.tsx b/src/login/pages/Terms.tsx deleted file mode 100644 index 5162d26..0000000 --- a/src/login/pages/Terms.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import { useRerenderOnStateChange } from "evt/hooks"; -import { useDownloadTerms } from "keycloakify/login"; -import { evtTermMarkdown } from "keycloakify/login/lib/useDownloadTerms"; -import { useGetClassName } from "keycloakify/login/lib/useGetClassName"; -import type { PageProps } from "keycloakify/login/pages/PageProps"; -import { Markdown } from "keycloakify/tools/Markdown"; -import { clsx } from "keycloakify/tools/clsx"; -import type { I18n } from "../i18n"; -import type { KcContext } from "../kcContext"; - -export default function Terms( - props: PageProps, I18n> -) { - const { kcContext, i18n, doUseDefaultCss, Template, classes } = props; - - const { getClassName } = useGetClassName({ - doUseDefaultCss, - classes, - }); - - const { msg, msgStr } = i18n; - - // NOTE: If you aren't going to customize the layout of the page you can move this hook to - // KcApp.tsx, see: https://docs.keycloakify.dev/terms-and-conditions - useDownloadTerms({ - kcContext, - downloadTermMarkdown: async ({ currentLanguageTag }) => { - const tos_url = (() => { - switch (currentLanguageTag) { - // case "fr": return `${import.meta.env.BASE_URL}terms/fr.md`; - default: - return `${import.meta.env.BASE_URL}terms/en.md`; - } - })(); - - const markdownString = await fetch(tos_url).then((response) => - response.text() - ); - - return markdownString; - }, - }); - - useRerenderOnStateChange(evtTermMarkdown); - - const { url } = kcContext; - - const termMarkdown = evtTermMarkdown.state; - - if (termMarkdown === undefined) { - return null; - } - - return ( - - ); -} diff --git a/src/login/pages/shared/UserProfileFormFields.tsx b/src/login/pages/shared/UserProfileFormFields.tsx deleted file mode 100644 index 8455402..0000000 --- a/src/login/pages/shared/UserProfileFormFields.tsx +++ /dev/null @@ -1,204 +0,0 @@ -import type { ClassKey } from "keycloakify/login/TemplateProps"; -import type { Attribute } from "keycloakify/login/kcContext/KcContext"; -import { useFormValidation } from "keycloakify/login/lib/useFormValidation"; -import { clsx } from "keycloakify/tools/clsx"; -import { Fragment, useEffect } from "react"; -import type { I18n } from "../../i18n"; - -export type UserProfileFormFieldsProps = { - kcContext: Parameters[0]["kcContext"]; - i18n: I18n; - getClassName: (classKey: ClassKey) => string; - onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void; - BeforeField?: (props: { attribute: Attribute }) => JSX.Element | null; - AfterField?: (props: { attribute: Attribute }) => JSX.Element | null; -}; - -export function UserProfileFormFields(props: UserProfileFormFieldsProps) { - const { - kcContext, - onIsFormSubmittableValueChange, - i18n, - getClassName, - BeforeField, - AfterField, - } = props; - - const { advancedMsg, msg } = i18n; - - const { - formValidationState: { fieldStateByAttributeName, isFormSubmittable }, - formValidationDispatch, - attributesWithPassword, - } = useFormValidation({ - kcContext, - i18n, - }); - - useEffect(() => { - onIsFormSubmittableValueChange(isFormSubmittable); - }, [isFormSubmittable]); - - let currentGroup = ""; - - return ( - <> - {attributesWithPassword.map((attribute, i) => { - const { - group = "", - groupDisplayHeader = "", - groupDisplayDescription = "", - } = attribute; - - const { value, displayableErrors } = - fieldStateByAttributeName[attribute.name]; - - const formGroupClassName = clsx( - getClassName("kcFormGroupClass"), - displayableErrors.length !== 0 && - getClassName("kcFormGroupErrorClass") - ); - - return ( - - {group !== currentGroup && (currentGroup = group) !== "" && ( -
-
- -
- {groupDisplayDescription !== "" && ( -
- -
- )} -
- )} - - {BeforeField && } - -
-
- - {attribute.required && <>*} -
-
- {(() => { - const { options } = attribute.validators; - - if (options !== undefined) { - return ( - - ); - } - - return ( - { - switch (attribute.name) { - case "password-confirm": - case "password": - return "password"; - default: - return "text"; - } - })()} - id={attribute.name} - name={attribute.name} - value={value} - onChange={(event) => - formValidationDispatch({ - action: "update value", - name: attribute.name, - newValue: event.target.value, - }) - } - onBlur={() => - formValidationDispatch({ - action: "focus lost", - name: attribute.name, - }) - } - className={getClassName("kcInputClass")} - aria-invalid={displayableErrors.length !== 0} - disabled={attribute.readOnly} - autoComplete={attribute.autocomplete} - /> - ); - })()} - {displayableErrors.length !== 0 && - (() => { - const divId = `input-error-${attribute.name}`; - - return ( - <> - - - {displayableErrors.map( - ({ errorMessage }) => errorMessage - )} - - - ); - })()} -
-
- {AfterField && } -
- ); - })} - - ); -} diff --git a/src/main.tsx b/src/main.tsx index f5df0f7..f4b247d 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,28 +1,25 @@ -import { StrictMode, Suspense, lazy } from "react"; +import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; -import { kcContext as kcAccountThemeContext } from "./account/kcContext"; -import { kcContext as kcLoginThemeContext } from "./login/kcContext"; +import { KcPage } from "./kc.gen"; -const KcLoginThemeApp = lazy(() => import("./login/KcApp")); -const KcAccountThemeApp = lazy(() => import("./account/KcApp")); +// The following block can be uncommented to test a specific page with `yarn dev` +// Don't forget to comment back or your bundle size will increase -createRoot(document.getElementById("root")!).render( - - - {(() => { - if (kcLoginThemeContext !== undefined) { - return ; - } +import { getKcContextMock } from "./login/KcPageStory"; - if (kcAccountThemeContext !== undefined) { - return ; - } +if (import.meta.env.DEV) { + window.kcContext = getKcContextMock({ + pageId: "login.ftl", + overrides: {} + }); +} - throw new Error( - "This app is a Keycloak theme" + - "It isn't meant to be deployed outside of Keycloak" - ); - })()} - - +createRoot(document.getElementById("root")!).render( + + {!window.kcContext ? ( +

No Keycloak Context

+ ) : ( + + )} +
); diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 979466a..11f02fe 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -1,6 +1 @@ /// - -declare module "*.md" { - const src: string; - export default src; -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index a7fc6fb..9a5b64e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,10 +2,13 @@ "compilerOptions": { "target": "ES2020", "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], + "lib": [ + "ES2020", + "DOM", + "DOM.Iterable" + ], "module": "ESNext", "skipLibCheck": true, - /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, @@ -13,13 +16,18 @@ "isolatedModules": true, "noEmit": true, "jsx": "react-jsx", - /* Linting */ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "include": [ + "src" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] } diff --git a/tsconfig.node.json b/tsconfig.node.json index 42872c5..b5a3431 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -6,5 +6,7 @@ "moduleResolution": "bundler", "allowSyntheticDefaultImports": true }, - "include": ["vite.config.ts"] + "include": [ + "vite.config.ts" + ] } diff --git a/vite.config.ts b/vite.config.ts index 3abeab9..bfb7cc7 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,60 +1,56 @@ -import react from '@vitejs/plugin-react'; -import { defineConfig } from 'vite'; -// NOTE: This is just for the Keycloakify core contributors to be able to dynamically link -// to a local version of the keycloakify package. This is not needed for normal usage. +import react from "@vitejs/plugin-react"; import { keycloakify } from "keycloakify/vite-plugin"; -import commonjs from "vite-plugin-commonjs"; - +import { defineConfig } from "vite"; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - react(), - commonjs(), - keycloakify({ - extraThemeProperties: [ - "POSTHOG_KEY=${env.POSTHOG_KEY:fake-key}", - "POSTHOG_HOST=${env.POSTHOG_HOST:https://app.posthog.com}" - ] + plugins: [ + react(), + keycloakify({ + accountThemeImplementation: "none", + extraThemeProperties: [ + "POSTHOG_KEY=${env.POSTHOG_KEY:fake-key}", + "POSTHOG_HOST=${env.POSTHOG_HOST:https://app.posthog.com}" + ] - // themeName: "keycloakify-starter", - // extraThemeProperties: [ - // "foo=bar" - // ], - // This is a hook that will be called after the build is done - // but before the jar is created. - // You can use it to add/remove/edit your theme files. - // postBuild: async keycloakifyBuildOptions => { + // themeName: "keycloakify-starter", + // extraThemeProperties: [ + // "foo=bar" + // ], + // This is a hook that will be called after the build is done + // but before the jar is created. + // You can use it to add/remove/edit your theme files. + // postBuild: async keycloakifyBuildOptions => { - // const fs = await import("fs/promises"); - // const path = await import("path"); + // const fs = await import("fs/promises"); + // const path = await import("path"); - // await fs.writeFile( - // path.join(keycloakifyBuildOptions.keycloakifyBuildDirPath, "foo.txt"), - // Buffer.from( - // [ - // "This file was created by the postBuild hook of the keycloakify vite plugin", - // "", - // "Resolved keycloakifyBuildOptions:", - // "", - // JSON.stringify(keycloakifyBuildOptions, null, 2), - // "" - // ].join("\n"), - // "utf8" - // ) - // ); + // await fs.writeFile( + // path.join(keycloakifyBuildOptions.keycloakifyBuildDirPath, "foo.txt"), + // Buffer.from( + // [ + // "This file was created by the postBuild hook of the keycloakify vite plugin", + // "", + // "Resolved keycloakifyBuildOptions:", + // "", + // JSON.stringify(keycloakifyBuildOptions, null, 2), + // "" + // ].join("\n"), + // "utf8" + // ) + // ); - // } - }) - ], - /* - * Uncomment this if you want to use the default domain provided by GitHub Pages - * replace "keycloakify-starter" with your repository name. - * This is only relevent if you are building an Wep App + A Keycloak theme. - * If you are only building a Keycloak theme, you can ignore this. - */ - //base: "/keycloakify-starter/" - build: { - sourcemap: true, - } -}) + // } + }) + ], + /* + * Uncomment this if you want to use the default domain provided by GitHub Pages + * replace "keycloakify-starter" with your repository name. + * This is only relevent if you are building an Wep App + A Keycloak theme. + * If you are only building a Keycloak theme, you can ignore this. + */ + //base: "/keycloakify-starter/" + build: { + sourcemap: true + } +});