diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 29a917b3..57fbf569 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,63 +1,57 @@
/* eslint-env node */
module.exports = {
- root: true,
- env: { browser: true, es2020: true },
- extends: [
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:@typescript-eslint/recommended-type-checked",
- "plugin:react-hooks/recommended",
- "plugin:react/recommended",
- "plugin:import/recommended",
- "prettier",
+ root: true,
+ env: { browser: true, es2020: true },
+ extends: [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:@typescript-eslint/recommended-type-checked",
+ "plugin:react-hooks/recommended",
+ "plugin:react/recommended",
+ "plugin:import/recommended",
+ "prettier",
+ ],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ ecmaVersion: "latest",
+ sourceType: "module",
+ project: true,
+ tsconfigRootDir: __dirname,
+ },
+ ignorePatterns: ["postcss.config.cjs", "dist", ".eslintrc.cjs", "**/*.cjs"],
+ plugins: ["react-refresh", "react", "import"],
+ rules: {
+ "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }],
+ "react/no-unknown-property": ["error", { ignore: ["css"] }],
+ "@typescript-eslint/no-misused-promises": "off",
+ "react-refresh/only-export-components": ["off", { allowConstantExport: true }],
+ "react/react-in-jsx-scope": "off",
+ "no-restricted-imports": ["error", { patterns: ["../*", "../**/*"] }],
+ "import/newline-after-import": "warn",
+ "import/no-default-export": "warn",
+ "import/order": [
+ "warn",
+ {
+ "newlines-between": "always",
+ alphabetize: {
+ order: "asc",
+ caseInsensitive: true,
+ },
+ },
],
- parser: "@typescript-eslint/parser",
- parserOptions: {
- ecmaVersion: "latest",
- sourceType: "module",
- project: true,
- tsconfigRootDir: __dirname,
- },
- ignorePatterns: ["postcss.config.cjs", "dist", ".eslintrc.cjs", "**/*.cjs"],
- plugins: ["react-refresh", "react", "import"],
- rules: {
- "@typescript-eslint/no-unused-vars": [
- "warn",
- { argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
- ],
- "react/no-unknown-property": ["error", { "ignore": ["css"] }],
- "@typescript-eslint/no-misused-promises": "off",
- "react-refresh/only-export-components": [
- "off",
- { allowConstantExport: true },
- ],
- "react/react-in-jsx-scope": "off",
- "no-restricted-imports": ["error", { patterns: ["../*", "../**/*"] }],
- "import/newline-after-import": "warn",
- "import/no-default-export": "warn",
- "import/order": [
- "warn",
- {
- "newlines-between": "always",
- alphabetize: {
- order: "asc",
- caseInsensitive: true,
- },
- },
- ],
+ },
+ settings: {
+ "import/parsers": {
+ "@typescript-eslint/parser": [".ts", ".tsx"],
},
- settings: {
- "import/parsers": {
- "@typescript-eslint/parser": [".ts", ".tsx"],
- },
- "import/resolver": {
- typescript: {
- alwaysTryTypes: true,
- project: "src/",
- },
- node: {
- "extensions": [".js", ".jsx", ".ts", ".tsx"]
- }
- },
+ "import/resolver": {
+ typescript: {
+ alwaysTryTypes: true,
+ project: "src/",
+ },
+ node: {
+ extensions: [".js", ".jsx", ".ts", ".tsx"],
+ },
},
-};
\ No newline at end of file
+ },
+};
diff --git a/index.html b/index.html
index 9206f6cf..b3b058e0 100644
--- a/index.html
+++ b/index.html
@@ -2,12 +2,37 @@
-
+
+
+
- Vite + React + TS
+
+
+
+
+
+
+
+
+
+
+
+ layer
+
+
+
diff --git a/package.json b/package.json
index d15f7ded..cf7b6aee 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"@tanstack/react-query": "^5.49.2",
"@tanstack/react-query-devtools": "^5.49.2",
"axios": "^1.7.2",
+ "framer-motion": "^11.2.13",
"jotai": "^2.8.4",
"jotai-devtools": "^0.10.0",
"prettier": "^3.2.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d6015c7b..e01b4d9d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: '6.0'
+lockfileVersion: '9.0'
settings:
autoInstallPeers: true
@@ -20,6 +20,9 @@ dependencies:
axios:
specifier: ^1.7.2
version: 1.7.2
+ framer-motion:
+ specifier: ^11.2.13
+ version: 11.2.13(react-dom@18.3.1)(react@18.3.1)
jotai:
specifier: ^2.8.4
version: 2.8.4(@types/react@18.3.2)(react@18.3.1)
@@ -100,486 +103,340 @@ devDependencies:
vite-plugin-svgr:
specifier: ^4.2.0
version: 4.2.0(typescript@5.4.5)(vite@5.2.11)
+=======
+importers:
+
+ .:
+ dependencies:
+ '@emotion/react':
+ specifier: ^11.11.4
+ version: 11.11.4(@types/react@18.3.2)(react@18.3.1)
+ '@emotion/styled':
+ specifier: ^11.11.5
+ version: 11.11.5(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@types/react@18.3.2)(react@18.3.1)
+ '@tanstack/react-query':
+ specifier: ^5.49.2
+ version: 5.49.2(react@18.3.1)
+ '@tanstack/react-query-devtools':
+ specifier: ^5.49.2
+ version: 5.49.2(@tanstack/react-query@5.49.2(react@18.3.1))(react@18.3.1)
+ axios:
+ specifier: ^1.7.2
+ version: 1.7.2
+ jotai:
+ specifier: ^2.8.4
+ version: 2.8.4(@types/react@18.3.2)(react@18.3.1)
+ jotai-devtools:
+ specifier: ^0.10.0
+ version: 0.10.0(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)
+ prettier:
+ specifier: ^3.2.5
+ version: 3.2.5
+ react:
+ specifier: ^18.2.0
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.3.1(react@18.3.1)
+ react-router-dom:
+ specifier: ^6.24.0
+ version: 6.24.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ devDependencies:
+ '@babel/preset-react':
+ specifier: ^7.24.7
+ version: 7.24.7(@babel/core@7.24.5)
+ '@emotion/babel-plugin':
+ specifier: ^11.11.0
+ version: 11.11.0
+ '@tanstack/eslint-plugin-query':
+ specifier: ^5.49.1
+ version: 5.49.1(eslint@8.57.0)(typescript@5.4.5)
+ '@types/node':
+ specifier: ^20.12.12
+ version: 20.12.12
+ '@types/react':
+ specifier: ^18.2.66
+ version: 18.3.2
+ '@types/react-dom':
+ specifier: ^18.2.22
+ version: 18.3.0
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^7.2.0
+ version: 7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/parser':
+ specifier: ^7.2.0
+ version: 7.9.0(eslint@8.57.0)(typescript@5.4.5)
+ '@vitejs/plugin-react':
+ specifier: ^4.2.1
+ version: 4.2.1(vite@5.2.11(@types/node@20.12.12))
+ '@vitejs/plugin-react-swc':
+ specifier: ^3.5.0
+ version: 3.6.0(vite@5.2.11(@types/node@20.12.12))
+ eslint:
+ specifier: ^8.57.0
+ version: 8.57.0
+ eslint-config-prettier:
+ specifier: ^9.1.0
+ version: 9.1.0(eslint@8.57.0)
+ eslint-import-resolver-typescript:
+ specifier: ^3.6.1
+ version: 3.6.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-plugin-import:
+ specifier: ^2.29.1
+ version: 2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-react:
+ specifier: ^7.34.1
+ version: 7.34.1(eslint@8.57.0)
+ eslint-plugin-react-hooks:
+ specifier: ^4.6.0
+ version: 4.6.2(eslint@8.57.0)
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.6
+ version: 0.4.7(eslint@8.57.0)
+ typescript:
+ specifier: ^5.2.2
+ version: 5.4.5
+ vite:
+ specifier: ^5.2.0
+ version: 5.2.11(@types/node@20.12.12)
+ vite-plugin-svgr:
+ specifier: ^4.2.0
+ version: 4.2.0(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12))
packages:
- /@ampproject/remapping@2.3.0:
+ '@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- dev: true
- /@babel/code-frame@7.24.2:
+ '@babel/code-frame@7.24.2':
resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.24.5
- picocolors: 1.0.1
- /@babel/code-frame@7.24.7:
+ '@babel/code-frame@7.24.7':
resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.0.1
- dev: true
- /@babel/compat-data@7.24.4:
+ '@babel/compat-data@7.24.4':
resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/core@7.24.5:
+ '@babel/core@7.24.5':
resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.2
- '@babel/generator': 7.24.5
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
- '@babel/helpers': 7.24.5
- '@babel/parser': 7.24.5
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.5
- '@babel/types': 7.24.5
- convert-source-map: 2.0.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/generator@7.24.5:
+ '@babel/generator@7.24.5':
resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
- dev: true
- /@babel/generator@7.24.7:
+ '@babel/generator@7.24.7':
resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.7
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
- dev: true
- /@babel/helper-annotate-as-pure@7.24.7:
+ '@babel/helper-annotate-as-pure@7.24.7':
resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.7
- dev: true
- /@babel/helper-compilation-targets@7.23.6:
+ '@babel/helper-compilation-targets@7.23.6':
resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.24.4
- '@babel/helper-validator-option': 7.23.5
- browserslist: 4.23.0
- lru-cache: 5.1.1
- semver: 6.3.1
- dev: true
- /@babel/helper-environment-visitor@7.22.20:
+ '@babel/helper-environment-visitor@7.22.20':
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-environment-visitor@7.24.7:
+ '@babel/helper-environment-visitor@7.24.7':
resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.7
- dev: true
- /@babel/helper-function-name@7.23.0:
+ '@babel/helper-function-name@7.23.0':
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-function-name@7.24.7:
+ '@babel/helper-function-name@7.24.7':
resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.7
- '@babel/types': 7.24.7
- dev: true
- /@babel/helper-hoist-variables@7.22.5:
+ '@babel/helper-hoist-variables@7.22.5':
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-hoist-variables@7.24.7:
+ '@babel/helper-hoist-variables@7.24.7':
resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.7
- dev: true
- /@babel/helper-module-imports@7.24.3:
+ '@babel/helper-module-imports@7.24.3':
resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- /@babel/helper-module-imports@7.24.7:
+ '@babel/helper-module-imports@7.24.7':
resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5):
+ '@babel/helper-module-transforms@7.24.5':
resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-module-imports': 7.24.3
- '@babel/helper-simple-access': 7.24.5
- '@babel/helper-split-export-declaration': 7.24.5
- '@babel/helper-validator-identifier': 7.24.5
- dev: true
- /@babel/helper-plugin-utils@7.24.5:
+ '@babel/helper-plugin-utils@7.24.5':
resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-plugin-utils@7.24.7:
+ '@babel/helper-plugin-utils@7.24.7':
resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-simple-access@7.24.5:
+ '@babel/helper-simple-access@7.24.5':
resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-split-export-declaration@7.24.5:
+ '@babel/helper-split-export-declaration@7.24.5':
resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/helper-split-export-declaration@7.24.7:
+ '@babel/helper-split-export-declaration@7.24.7':
resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.7
- dev: true
- /@babel/helper-string-parser@7.24.1:
+ '@babel/helper-string-parser@7.24.1':
resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
engines: {node: '>=6.9.0'}
- /@babel/helper-string-parser@7.24.7:
+ '@babel/helper-string-parser@7.24.7':
resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-validator-identifier@7.24.5:
+ '@babel/helper-validator-identifier@7.24.5':
resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
engines: {node: '>=6.9.0'}
- /@babel/helper-validator-identifier@7.24.7:
+ '@babel/helper-validator-identifier@7.24.7':
resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-validator-option@7.23.5:
+ '@babel/helper-validator-option@7.23.5':
resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helper-validator-option@7.24.7:
+ '@babel/helper-validator-option@7.24.7':
resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==}
engines: {node: '>=6.9.0'}
- dev: true
- /@babel/helpers@7.24.5:
+ '@babel/helpers@7.24.5':
resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.5
- '@babel/types': 7.24.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/highlight@7.24.5:
+ '@babel/highlight@7.24.5':
resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.24.5
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
- /@babel/highlight@7.24.7:
+ '@babel/highlight@7.24.7':
resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
- dev: true
- /@babel/parser@7.24.5:
+ '@babel/parser@7.24.5':
resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
engines: {node: '>=6.0.0'}
hasBin: true
- dependencies:
- '@babel/types': 7.24.5
- dev: true
- /@babel/parser@7.24.7:
+ '@babel/parser@7.24.7':
resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
engines: {node: '>=6.0.0'}
hasBin: true
- dependencies:
- '@babel/types': 7.24.7
- dev: true
- /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.5):
+ '@babel/plugin-syntax-jsx@7.24.7':
resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.7
- dev: true
- /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.5):
+ '@babel/plugin-transform-react-display-name@7.24.7':
resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.7
- dev: true
- /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.5):
+ '@babel/plugin-transform-react-jsx-development@7.24.7':
resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.5)
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/plugin-transform-react-jsx-self@7.24.5(@babel/core@7.24.5):
+ '@babel/plugin-transform-react-jsx-self@7.24.5':
resolution: {integrity: sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
- dev: true
- /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.5):
+ '@babel/plugin-transform-react-jsx-source@7.24.1':
resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.5
- dev: true
- /@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.5):
+ '@babel/plugin-transform-react-jsx@7.24.7':
resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-plugin-utils': 7.24.7
- '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.5)
- '@babel/types': 7.24.7
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.5):
+ '@babel/plugin-transform-react-pure-annotations@7.24.7':
resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-annotate-as-pure': 7.24.7
- '@babel/helper-plugin-utils': 7.24.7
- dev: true
- /@babel/preset-react@7.24.7(@babel/core@7.24.5):
+ '@babel/preset-react@7.24.7':
resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- '@babel/helper-plugin-utils': 7.24.7
- '@babel/helper-validator-option': 7.24.7
- '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.5)
- '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.5)
- '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.5)
- '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.5)
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/runtime@7.24.7:
+ '@babel/runtime@7.24.7':
resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==}
engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.14.1
- /@babel/template@7.24.0:
+ '@babel/template@7.24.0':
resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.2
- '@babel/parser': 7.24.5
- '@babel/types': 7.24.5
- dev: true
- /@babel/template@7.24.7:
+ '@babel/template@7.24.7':
resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
- dev: true
- /@babel/traverse@7.24.5:
+ '@babel/traverse@7.24.5':
resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.2
- '@babel/generator': 7.24.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-split-export-declaration': 7.24.5
- '@babel/parser': 7.24.5
- '@babel/types': 7.24.5
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/traverse@7.24.7:
+ '@babel/traverse@7.24.7':
resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.24.7
- '@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.7
- '@babel/types': 7.24.7
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/types@7.24.5:
+ '@babel/types@7.24.5':
resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.24.1
- '@babel/helper-validator-identifier': 7.24.5
- to-fast-properties: 2.0.0
- /@babel/types@7.24.7:
+ '@babel/types@7.24.7':
resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
- dev: true
- /@emotion/babel-plugin@11.11.0:
+ '@emotion/babel-plugin@11.11.0':
resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==}
- dependencies:
- '@babel/helper-module-imports': 7.24.3
- '@babel/runtime': 7.24.7
- '@emotion/hash': 0.9.1
- '@emotion/memoize': 0.8.1
- '@emotion/serialize': 1.1.4
- babel-plugin-macros: 3.1.0
- convert-source-map: 1.9.0
- escape-string-regexp: 4.0.0
- find-root: 1.1.0
- source-map: 0.5.7
- stylis: 4.2.0
- /@emotion/cache@11.11.0:
+ '@emotion/cache@11.11.0':
resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==}
- dependencies:
- '@emotion/memoize': 0.8.1
- '@emotion/sheet': 1.2.2
- '@emotion/utils': 1.2.1
- '@emotion/weak-memoize': 0.3.1
- stylis: 4.2.0
- dev: false
- /@emotion/hash@0.9.1:
+ '@emotion/hash@0.9.1':
resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==}
- /@emotion/is-prop-valid@1.2.2:
+ '@emotion/is-prop-valid@1.2.2':
resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==}
- dependencies:
- '@emotion/memoize': 0.8.1
- dev: false
- /@emotion/memoize@0.8.1:
+ '@emotion/memoize@0.8.1':
resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
- /@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1):
+ '@emotion/react@11.11.4':
resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==}
peerDependencies:
'@types/react': '*'
@@ -587,33 +444,14 @@ packages:
peerDependenciesMeta:
'@types/react':
optional: true
- dependencies:
- '@babel/runtime': 7.24.7
- '@emotion/babel-plugin': 11.11.0
- '@emotion/cache': 11.11.0
- '@emotion/serialize': 1.1.4
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1)
- '@emotion/utils': 1.2.1
- '@emotion/weak-memoize': 0.3.1
- '@types/react': 18.3.2
- hoist-non-react-statics: 3.3.2
- react: 18.3.1
- dev: false
- /@emotion/serialize@1.1.4:
+ '@emotion/serialize@1.1.4':
resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==}
- dependencies:
- '@emotion/hash': 0.9.1
- '@emotion/memoize': 0.8.1
- '@emotion/unitless': 0.8.1
- '@emotion/utils': 1.2.1
- csstype: 3.1.3
- /@emotion/sheet@1.2.2:
+ '@emotion/sheet@1.2.2':
resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
- dev: false
- /@emotion/styled@11.11.5(@emotion/react@11.11.4)(@types/react@18.3.2)(react@18.3.1):
+ '@emotion/styled@11.11.5':
resolution: {integrity: sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==}
peerDependencies:
'@emotion/react': ^11.0.0-rc.0
@@ -622,452 +460,269 @@ packages:
peerDependenciesMeta:
'@types/react':
optional: true
- dependencies:
- '@babel/runtime': 7.24.7
- '@emotion/babel-plugin': 11.11.0
- '@emotion/is-prop-valid': 1.2.2
- '@emotion/react': 11.11.4(@types/react@18.3.2)(react@18.3.1)
- '@emotion/serialize': 1.1.4
- '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1)
- '@emotion/utils': 1.2.1
- '@types/react': 18.3.2
- react: 18.3.1
- dev: false
- /@emotion/unitless@0.8.1:
+ '@emotion/unitless@0.8.1':
resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
- /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1):
+ '@emotion/use-insertion-effect-with-fallbacks@1.0.1':
resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
peerDependencies:
react: '>=16.8.0'
- dependencies:
- react: 18.3.1
- dev: false
- /@emotion/utils@1.2.1:
+ '@emotion/utils@1.2.1':
resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==}
- /@emotion/weak-memoize@0.3.1:
+ '@emotion/weak-memoize@0.3.1':
resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
- dev: false
- /@esbuild/aix-ppc64@0.20.2:
+ '@esbuild/aix-ppc64@0.20.2':
resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-arm64@0.20.2:
+ '@esbuild/android-arm64@0.20.2':
resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-arm@0.20.2:
+ '@esbuild/android-arm@0.20.2':
resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-x64@0.20.2:
+ '@esbuild/android-x64@0.20.2':
resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/darwin-arm64@0.20.2:
+ '@esbuild/darwin-arm64@0.20.2':
resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/darwin-x64@0.20.2:
+ '@esbuild/darwin-x64@0.20.2':
resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/freebsd-arm64@0.20.2:
+ '@esbuild/freebsd-arm64@0.20.2':
resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/freebsd-x64@0.20.2:
+ '@esbuild/freebsd-x64@0.20.2':
resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-arm64@0.20.2:
+ '@esbuild/linux-arm64@0.20.2':
resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-arm@0.20.2:
+ '@esbuild/linux-arm@0.20.2':
resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-ia32@0.20.2:
+ '@esbuild/linux-ia32@0.20.2':
resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-loong64@0.20.2:
+ '@esbuild/linux-loong64@0.20.2':
resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-mips64el@0.20.2:
+ '@esbuild/linux-mips64el@0.20.2':
resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-ppc64@0.20.2:
+ '@esbuild/linux-ppc64@0.20.2':
resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-riscv64@0.20.2:
+ '@esbuild/linux-riscv64@0.20.2':
resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-s390x@0.20.2:
+ '@esbuild/linux-s390x@0.20.2':
resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-x64@0.20.2:
+ '@esbuild/linux-x64@0.20.2':
resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/netbsd-x64@0.20.2:
+ '@esbuild/netbsd-x64@0.20.2':
resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/openbsd-x64@0.20.2:
+ '@esbuild/openbsd-x64@0.20.2':
resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/sunos-x64@0.20.2:
+ '@esbuild/sunos-x64@0.20.2':
resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-arm64@0.20.2:
+ '@esbuild/win32-arm64@0.20.2':
resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-ia32@0.20.2:
+ '@esbuild/win32-ia32@0.20.2':
resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-x64@0.20.2:
+ '@esbuild/win32-x64@0.20.2':
resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
+ '@eslint-community/eslint-utils@4.4.0':
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 8.57.0
- eslint-visitor-keys: 3.4.3
- dev: true
- /@eslint-community/regexpp@4.10.0:
+ '@eslint-community/regexpp@4.10.0':
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
- /@eslint/eslintrc@2.1.4:
+ '@eslint/eslintrc@2.1.4':
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@eslint/js@8.57.0:
+ '@eslint/js@8.57.0':
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
- /@floating-ui/core@1.6.4:
+ '@floating-ui/core@1.6.4':
resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==}
- dependencies:
- '@floating-ui/utils': 0.2.4
- dev: false
- /@floating-ui/dom@1.6.7:
+ '@floating-ui/dom@1.6.7':
resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==}
- dependencies:
- '@floating-ui/core': 1.6.4
- '@floating-ui/utils': 0.2.4
- dev: false
- /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1):
+ '@floating-ui/react-dom@2.1.1':
resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- dependencies:
- '@floating-ui/dom': 1.6.7
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
- /@floating-ui/react@0.26.19(react-dom@18.3.1)(react@18.3.1):
+ '@floating-ui/react@0.26.19':
resolution: {integrity: sha512-Jk6zITdjjIvjO/VdQFvpRaD3qPwOHH6AoDHxjhpy+oK4KFgaSP871HYWUAPdnLmx1gQ+w/pB312co3tVml+BXA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- dependencies:
- '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1)
- '@floating-ui/utils': 0.2.4
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- tabbable: 6.2.0
- dev: false
- /@floating-ui/utils@0.2.4:
+ '@floating-ui/utils@0.2.4':
resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==}
- dev: false
- /@humanwhocodes/config-array@0.11.14:
+ '@humanwhocodes/config-array@0.11.14':
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@humanwhocodes/module-importer@1.0.1:
+ '@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- dev: true
- /@humanwhocodes/object-schema@2.0.3:
+ '@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- dev: true
- /@jridgewell/gen-mapping@0.3.5:
+ '@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.25
- dev: true
- /@jridgewell/resolve-uri@3.1.2:
+ '@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- dev: true
- /@jridgewell/set-array@1.2.1:
+ '@jridgewell/set-array@1.2.1':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- dev: true
- /@jridgewell/sourcemap-codec@1.4.15:
+ '@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
- /@jridgewell/trace-mapping@0.3.25:
+ '@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
- /@mantine/code-highlight@7.11.0(@mantine/core@7.11.0)(@mantine/hooks@7.11.0)(react-dom@18.3.1)(react@18.3.1):
+ '@mantine/code-highlight@7.11.0':
resolution: {integrity: sha512-IPx0FYcvWBeRElw5HUO0FwtR4JgTGuBd8gHKzHQyfplnnaNHYmLEncnhBtljzVriQFVpqzvWetfV/TWczAqc/g==}
peerDependencies:
'@mantine/core': 7.11.0
'@mantine/hooks': 7.11.0
react: ^18.2.0
react-dom: ^18.2.0
- dependencies:
- '@mantine/core': 7.11.0(@mantine/hooks@7.11.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1)
- '@mantine/hooks': 7.11.0(react@18.3.1)
- clsx: 2.1.1
- highlight.js: 11.9.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
- /@mantine/core@7.11.0(@mantine/hooks@7.11.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1):
+ '@mantine/core@7.11.0':
resolution: {integrity: sha512-yw2Llww9mw8rDWZtucdEuvkqqjHdreUibos7JCUpejL721FW1Tn9L91nsxO/YQFSS7jn4Q0CP+1YbQ/PMULmwA==}
peerDependencies:
'@mantine/hooks': 7.11.0
react: ^18.2.0
react-dom: ^18.2.0
- dependencies:
- '@floating-ui/react': 0.26.19(react-dom@18.3.1)(react@18.3.1)
- '@mantine/hooks': 7.11.0(react@18.3.1)
- clsx: 2.1.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-number-format: 5.4.0(react-dom@18.3.1)(react@18.3.1)
- react-remove-scroll: 2.5.10(@types/react@18.3.2)(react@18.3.1)
- react-textarea-autosize: 8.5.3(@types/react@18.3.2)(react@18.3.1)
- type-fest: 4.20.1
- transitivePeerDependencies:
- - '@types/react'
- dev: false
- /@mantine/hooks@7.11.0(react@18.3.1):
+ '@mantine/hooks@7.11.0':
resolution: {integrity: sha512-T3472GhUXFhuhXUHlxjHv0wfb73lFyNuaw631c7Ddtgvewq0WKtNqYd7j/Zz/k02DuS3r0QXA7e12/XgqHBZjg==}
peerDependencies:
react: ^18.2.0
- dependencies:
- react: 18.3.1
- dev: false
- /@nodelib/fs.scandir@2.1.5:
+ '@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
- /@nodelib/fs.stat@2.0.5:
+ '@nodelib/fs.stat@2.0.5':
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
- dev: true
- /@nodelib/fs.walk@1.2.8:
+ '@nodelib/fs.walk@1.2.8':
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
- dev: true
- /@redux-devtools/extension@3.3.0(redux@5.0.1):
+ '@redux-devtools/extension@3.3.0':
resolution: {integrity: sha512-X34S/rC8S/M1BIrkYD1mJ5f8vlH0BDqxXrs96cvxSBo4FhMdbhU+GUGsmNYov1xjSyLMHgo8NYrUG8bNX7525g==}
peerDependencies:
redux: ^3.1.0 || ^4.0.0 || ^5.0.0
- dependencies:
- '@babel/runtime': 7.24.7
- immutable: 4.3.6
- redux: 5.0.1
- dev: false
- /@remix-run/router@1.17.0:
+ '@remix-run/router@1.17.0':
resolution: {integrity: sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==}
engines: {node: '>=14.0.0'}
- dev: false
- /@rollup/pluginutils@5.1.0:
+ '@rollup/pluginutils@5.1.0':
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -1075,217 +730,2430 @@ packages:
peerDependenciesMeta:
rollup:
optional: true
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
- /@rollup/rollup-android-arm-eabi@4.17.2:
+ '@rollup/rollup-android-arm-eabi@4.17.2':
resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-android-arm64@4.17.2:
+ '@rollup/rollup-android-arm64@4.17.2':
resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-darwin-arm64@4.17.2:
+ '@rollup/rollup-darwin-arm64@4.17.2':
resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-darwin-x64@4.17.2:
+ '@rollup/rollup-darwin-x64@4.17.2':
resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.17.2:
+ '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm-musleabihf@4.17.2:
+ '@rollup/rollup-linux-arm-musleabihf@4.17.2':
resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm64-gnu@4.17.2:
+ '@rollup/rollup-linux-arm64-gnu@4.17.2':
resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm64-musl@4.17.2:
+ '@rollup/rollup-linux-arm64-musl@4.17.2':
resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-powerpc64le-gnu@4.17.2:
+ '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
cpu: [ppc64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.17.2:
+ '@rollup/rollup-linux-riscv64-gnu@4.17.2':
resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
cpu: [riscv64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-s390x-gnu@4.17.2:
+ '@rollup/rollup-linux-s390x-gnu@4.17.2':
resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
cpu: [s390x]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-x64-gnu@4.17.2:
+ '@rollup/rollup-linux-x64-gnu@4.17.2':
resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-x64-musl@4.17.2:
+ '@rollup/rollup-linux-x64-musl@4.17.2':
resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-arm64-msvc@4.17.2:
+ '@rollup/rollup-win32-arm64-msvc@4.17.2':
resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-ia32-msvc@4.17.2:
+ '@rollup/rollup-win32-ia32-msvc@4.17.2':
resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-x64-msvc@4.17.2:
+ '@rollup/rollup-win32-x64-msvc@4.17.2':
resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0':
resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0':
resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0':
resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0':
resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0':
resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0':
resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.5):
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0':
resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
+
+ '@svgr/babel-plugin-transform-svg-component@8.0.0':
+ resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/babel-preset@8.1.0':
+ resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@svgr/core@8.1.0':
+ resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
+ engines: {node: '>=14'}
+
+ '@svgr/hast-util-to-babel-ast@8.0.0':
+ resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
+ engines: {node: '>=14'}
+
+ '@svgr/plugin-jsx@8.1.0':
+ resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+
+ '@swc/core-darwin-arm64@1.5.7':
+ resolution: {integrity: sha512-bZLVHPTpH3h6yhwVl395k0Mtx8v6CGhq5r4KQdAoPbADU974Mauz1b6ViHAJ74O0IVE5vyy7tD3OpkQxL/vMDQ==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@swc/core-darwin-x64@1.5.7':
+ resolution: {integrity: sha512-RpUyu2GsviwTc2qVajPL0l8nf2vKj5wzO3WkLSHAHEJbiUZk83NJrZd1RVbEknIMO7+Uyjh54hEh8R26jSByaw==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@swc/core-linux-arm-gnueabihf@1.5.7':
+ resolution: {integrity: sha512-cTZWTnCXLABOuvWiv6nQQM0hP6ZWEkzdgDvztgHI/+u/MvtzJBN5lBQ2lue/9sSFYLMqzqff5EHKlFtrJCA9dQ==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@swc/core-linux-arm64-gnu@1.5.7':
+ resolution: {integrity: sha512-hoeTJFBiE/IJP30Be7djWF8Q5KVgkbDtjySmvYLg9P94bHg9TJPSQoC72tXx/oXOgXvElDe/GMybru0UxhKx4g==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@swc/core-linux-arm64-musl@1.5.7':
+ resolution: {integrity: sha512-+NDhK+IFTiVK1/o7EXdCeF2hEzCiaRSrb9zD7X2Z7inwWlxAntcSuzZW7Y6BRqGQH89KA91qYgwbnjgTQ22PiQ==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@swc/core-linux-x64-gnu@1.5.7':
+ resolution: {integrity: sha512-25GXpJmeFxKB+7pbY7YQLhWWjkYlR+kHz5I3j9WRl3Lp4v4UD67OGXwPe+DIcHqcouA1fhLhsgHJWtsaNOMBNg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@swc/core-linux-x64-musl@1.5.7':
+ resolution: {integrity: sha512-0VN9Y5EAPBESmSPPsCJzplZHV26akC0sIgd3Hc/7S/1GkSMoeuVL+V9vt+F/cCuzr4VidzSkqftdP3qEIsXSpg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@swc/core-win32-arm64-msvc@1.5.7':
+ resolution: {integrity: sha512-RtoNnstBwy5VloNCvmvYNApkTmuCe4sNcoYWpmY7C1+bPR+6SOo8im1G6/FpNem8AR5fcZCmXHWQ+EUmRWJyuA==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@swc/core-win32-ia32-msvc@1.5.7':
+ resolution: {integrity: sha512-Xm0TfvcmmspvQg1s4+USL3x8D+YPAfX2JHygvxAnCJ0EHun8cm2zvfNBcsTlnwYb0ybFWXXY129aq1wgFC9TpQ==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@swc/core-win32-x64-msvc@1.5.7':
+ resolution: {integrity: sha512-tp43WfJLCsKLQKBmjmY/0vv1slVywR5Q4qKjF5OIY8QijaEW7/8VwPyUyVoJZEnDgv9jKtUTG5PzqtIYPZGnyg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@swc/core@1.5.7':
+ resolution: {integrity: sha512-U4qJRBefIJNJDRCCiVtkfa/hpiZ7w0R6kASea+/KLp+vkus3zcLSB8Ub8SvKgTIxjWpwsKcZlPf5nrv4ls46SQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@swc/helpers': ^0.5.0
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/types@0.1.7':
+ resolution: {integrity: sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==}
+
+ '@tanstack/eslint-plugin-query@5.49.1':
+ resolution: {integrity: sha512-pTaEvG3HC1y7BOsFJtZmi8dhWwML97zEBq4qLM6BaUSzZ4WlFyhmtG2sBVO0H+lP1WgnLpQclRQ+nFikTqoUfQ==}
+ peerDependencies:
+ eslint: ^8 || ^9
+
+ '@tanstack/query-core@5.49.1':
+ resolution: {integrity: sha512-JnC9ndmD1KKS01Rt/ovRUB1tmwO7zkyXAyIxN9mznuJrcNtOrkmOnQqdJF2ib9oHzc2VxHomnEG7xyfo54Npkw==}
+
+ '@tanstack/query-devtools@5.49.1':
+ resolution: {integrity: sha512-9mBtuq76fp+OE780ImoNG109bM7lucZ9MLPLzAkQ2OMx+X6s3BfVATySTxm1Mrtui3qJIFo05ZI4zv9A44+GAg==}
+
+ '@tanstack/react-query-devtools@5.49.2':
+ resolution: {integrity: sha512-ARQ8GXaTcwXyXIv215sfFqT9s87Jj8vP8jAc9LlC28M+4RbexfBRvm+cra3Cn/xlXJrUEjijf+vUf1Ju9F1XJQ==}
+ peerDependencies:
+ '@tanstack/react-query': ^5.49.2
+ react: ^18 || ^19
+
+ '@tanstack/react-query@5.49.2':
+ resolution: {integrity: sha512-6rfwXDK9BvmHISbNFuGd+wY3P44lyW7lWiA9vIFGT/T0P9aHD1VkjTvcM4SDAIbAQ9ygEZZoLt7dlU1o3NjMVA==}
+ peerDependencies:
+ react: ^18.0.0
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.6.8':
+ resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.20.5':
+ resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
+
+ '@types/base16@1.0.5':
+ resolution: {integrity: sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==}
+
+ '@types/estree@1.0.5':
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+
+ '@types/json5@0.0.29':
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+
+ '@types/lodash@4.17.6':
+ resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==}
+
+ '@types/node@20.12.12':
+ resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
+
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
+ '@types/prop-types@15.7.12':
+ resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
+
+ '@types/react-dom@18.3.0':
+ resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+
+ '@types/react@18.3.2':
+ resolution: {integrity: sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==}
+
+ '@typescript-eslint/eslint-plugin@7.9.0':
+ resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/parser@7.9.0':
+ resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/scope-manager@7.9.0':
+ resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
+ '@typescript-eslint/scope-manager@8.0.0-alpha.30':
+ resolution: {integrity: sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/type-utils@7.9.0':
+ resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/types@7.9.0':
+ resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
+ '@typescript-eslint/types@8.0.0-alpha.30':
+ resolution: {integrity: sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@7.9.0':
+ resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/typescript-estree@8.0.0-alpha.30':
+ resolution: {integrity: sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/utils@7.9.0':
+ resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ peerDependencies:
+ eslint: ^8.56.0
+
+ '@typescript-eslint/utils@8.0.0-alpha.30':
+ resolution: {integrity: sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+
+ '@typescript-eslint/visitor-keys@7.9.0':
+ resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
+ '@typescript-eslint/visitor-keys@8.0.0-alpha.30':
+ resolution: {integrity: sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@ungap/structured-clone@1.2.0':
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+
+ '@vitejs/plugin-react-swc@3.6.0':
+ resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==}
+ peerDependencies:
+ vite: ^4 || ^5
+
+ '@vitejs/plugin-react@4.2.1':
+ resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
+
+ array-includes@3.1.8:
+ resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
+ engines: {node: '>= 0.4'}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.findlastindex@1.2.5:
+ resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.toreversed@1.1.2:
+ resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+
+ array.prototype.tosorted@1.1.3:
+ resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
+
+ arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ axios@1.7.2:
+ resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==}
+
+ babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base16@1.0.0:
+ resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+
+ browserslist@4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ caniuse-lite@1.0.30001620:
+ resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+ engines: {node: '>=8'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+
+ color@3.2.1:
+ resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+
+ cosmiconfig@8.3.6:
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ data-view-buffer@1.0.1:
+ resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.1:
+ resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.0:
+ resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ engines: {node: '>= 0.4'}
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
+ diff-match-patch@1.0.5:
+ resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+
+ doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ electron-to-chromium@1.4.774:
+ resolution: {integrity: sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==}
+
+ enhanced-resolve@5.16.1:
+ resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==}
+ engines: {node: '>=10.13.0'}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ es-abstract@1.23.3:
+ resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ engines: {node: '>= 0.4'}
+
+ es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-iterator-helpers@1.0.19:
+ resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
+ engines: {node: '>= 0.4'}
+
+ es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.0.3:
+ resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
+
+ es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+
+ es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+
+ esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ eslint-config-prettier@9.1.0:
+ resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+
+ eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+
+ eslint-import-resolver-typescript@3.6.1:
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+
+ eslint-module-utils@2.8.1:
+ resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+
+ eslint-plugin-import@2.29.1:
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+
+ eslint-plugin-react-hooks@4.6.2:
+ resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+
+ eslint-plugin-react-refresh@0.4.7:
+ resolution: {integrity: sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==}
+ peerDependencies:
+ eslint: '>=7'
+
+ eslint-plugin-react@7.34.1:
+ resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+
+ eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint@8.57.0:
+ resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+
+ espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
+ file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
+ fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+
+ find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
+ flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+
+ follow-redirects@1.15.6:
+ resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+
+ form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
+ get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+
+ get-tsconfig@4.7.5:
+ resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ highlight.js@11.9.0:
+ resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
+ engines: {node: '>=12.0.0'}
+
+ hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+
+ ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+
+ immutable@4.3.6:
+ resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==}
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+
+ invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+
+ is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+
+ is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+
+ is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+
+ is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+
+ is-data-view@1.0.1:
+ resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
+
+ is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+
+ is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+
+ is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+
+ is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+
+ is-shared-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
+
+ is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+
+ is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+
+ is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+
+ is-weakset@2.0.3:
+ resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ engines: {node: '>= 0.4'}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+
+ javascript-stringify@2.1.0:
+ resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
+
+ jotai-devtools@0.10.0:
+ resolution: {integrity: sha512-ltGzJMam7sXbC827U1A2H6rMg+iiK5VzaBmanVfVpWS4fK9/8Mq5NLaG3n2OFtsQgI0nUDaNl/3NObI38sBx+A==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ react: '>=17.0.0'
+
+ jotai@2.8.4:
+ resolution: {integrity: sha512-f6jwjhBJcDtpeauT2xH01gnqadKEySwwt1qNBLvAXcnojkmb76EdqRt05Ym8IamfHGAQz2qMKAwftnyjeSoHAA==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ '@types/react': '>=17.0.0'
+ react: '>=17.0.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsondiffpatch@0.5.0:
+ resolution: {integrity: sha512-Quz3MvAwHxVYNXsOByL7xI5EB2WYOeFswqaHIA3qOK3isRWTxiplBEocmmru6XmxDB2L7jDNYtYA4FyimoAFEw==}
+ engines: {node: '>=8.17.0'}
+ hasBin: true
+ bundledDependencies: []
+
+ jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash.curry@4.1.1:
+ resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.4:
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
+ node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+
+ object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
+ engines: {node: '>= 0.4'}
+
+ object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+
+ object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
+
+ object.hasown@1.1.4:
+ resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
+ engines: {node: '>= 0.4'}
+
+ object.values@1.2.0:
+ resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
+ engines: {node: '>= 0.4'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ picocolors@1.0.1:
+ resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ possible-typed-array-names@1.0.0:
+ resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
+
+ postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ react-base16-styling@0.9.1:
+ resolution: {integrity: sha512-1s0CY1zRBOQ5M3T61wetEpvQmsYSNtWEcdYzyZNxKa8t7oDvaOn9d21xrGezGAHFWLM7SHcktPuPTrvoqxSfKw==}
+
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
+
+ react-error-boundary@4.0.13:
+ resolution: {integrity: sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==}
+ peerDependencies:
+ react: '>=16.13.1'
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react-json-tree@0.18.0:
+ resolution: {integrity: sha512-Qe6HKSXrr++n9Y31nkRJ3XvQMATISpqigH1vEKhLwB56+nk5thTP0ITThpjxY6ZG/ubpVq/aEHIcyLP/OPHxeA==}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ react-number-format@5.4.0:
+ resolution: {integrity: sha512-NWdICrqLhI7rAS8yUeLVd6Wr4cN7UjJ9IBTS0f/a9i7UB4x4Ti70kGnksBtZ7o4Z7YRbvCMMR/jQmkoOBa/4fg==}
+ peerDependencies:
+ react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+
+ react-refresh@0.14.2:
+ resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
+ engines: {node: '>=0.10.0'}
+
+ react-remove-scroll-bar@2.3.6:
+ resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.5.10:
+ resolution: {integrity: sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-resizable-panels@2.0.10:
+ resolution: {integrity: sha512-1cQl5rp3VDWRL04XXX92lzM1hej2Fe5x+vpjYXcldfOjKwLV5JVrt5T6q0cTB5yfp4Wh+JIdYQ9A5EnZypO1DQ==}
+ peerDependencies:
+ react: ^16.14.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0
+
+ react-router-dom@6.24.0:
+ resolution: {integrity: sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ react: '>=16.8'
+ react-dom: '>=16.8'
+
+ react-router@6.24.0:
+ resolution: {integrity: sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ react: '>=16.8'
+
+ react-style-singleton@2.2.1:
+ resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-textarea-autosize@8.5.3:
+ resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
+ engines: {node: '>=0.10.0'}
+
+ redux@5.0.1:
+ resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==}
+
+ reflect.getprototypeof@1.0.6:
+ resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
+ engines: {node: '>= 0.4'}
+
+ regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
+ regexp.prototype.flags@1.5.2:
+ resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+ resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+
+ rollup@4.17.2:
+ resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ safe-array-concat@1.1.2:
+ resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ engines: {node: '>=0.4'}
+
+ safe-regex-test@1.0.3:
+ resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.6.2:
+ resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+
+ simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ snake-case@3.0.4:
+ resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+
+ source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
+ string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trim@1.2.9:
+ resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimend@1.0.8:
+ resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svg-parser@2.0.4:
+ resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
+
+ tabbable@6.2.0:
+ resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ ts-api-utils@1.3.0:
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+
+ tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+
+ tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ type-fest@4.20.1:
+ resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==}
+ engines: {node: '>=16'}
+
+ typed-array-buffer@1.0.2:
+ resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-length@1.0.1:
+ resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-offset@1.0.2:
+ resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-length@1.0.6:
+ resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ engines: {node: '>= 0.4'}
+
+ typescript@5.4.5:
+ resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+
+ undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
+ update-browserslist-db@1.0.16:
+ resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ use-callback-ref@1.3.2:
+ resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-composed-ref@1.3.0:
+ resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ use-isomorphic-layout-effect@1.1.2:
+ resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-latest@1.2.1:
+ resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.2:
+ resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ vite-plugin-svgr@4.2.0:
+ resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==}
+ peerDependencies:
+ vite: ^2.6.0 || 3 || 4 || 5
+
+ vite@5.2.11:
+ resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+
+ which-builtin-type@1.1.3:
+ resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
+ engines: {node: '>= 0.4'}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+
+ which-typed-array@1.1.15:
+ resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ engines: {node: '>= 0.4'}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+snapshots:
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@babel/code-frame@7.24.2':
+ dependencies:
+ '@babel/highlight': 7.24.5
+ picocolors: 1.0.1
+
+ '@babel/code-frame@7.24.7':
+ dependencies:
+ '@babel/highlight': 7.24.7
+ picocolors: 1.0.1
+
+ '@babel/compat-data@7.24.4': {}
+
+ '@babel/core@7.24.5':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
+ '@babel/helpers': 7.24.5
+ '@babel/parser': 7.24.5
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/generator@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.7
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/helper-annotate-as-pure@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.7
+
+ '@babel/helper-compilation-targets@7.23.6':
+ dependencies:
+ '@babel/compat-data': 7.24.4
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.23.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-environment-visitor@7.22.20': {}
+
+ '@babel/helper-environment-visitor@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.7
+
+ '@babel/helper-function-name@7.23.0':
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.5
+
+ '@babel/helper-function-name@7.24.7':
+ dependencies:
+ '@babel/template': 7.24.7
+ '@babel/types': 7.24.7
+
+ '@babel/helper-hoist-variables@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-hoist-variables@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.7
+
+ '@babel/helper-module-imports@7.24.3':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-module-imports@7.24.7':
+ dependencies:
+ '@babel/traverse': 7.24.7
+ '@babel/types': 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-simple-access': 7.24.5
+ '@babel/helper-split-export-declaration': 7.24.5
+ '@babel/helper-validator-identifier': 7.24.5
+
+ '@babel/helper-plugin-utils@7.24.5': {}
+
+ '@babel/helper-plugin-utils@7.24.7': {}
+
+ '@babel/helper-simple-access@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-split-export-declaration@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-split-export-declaration@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.7
+
+ '@babel/helper-string-parser@7.24.1': {}
+
+ '@babel/helper-string-parser@7.24.7': {}
+
+ '@babel/helper-validator-identifier@7.24.5': {}
+
+ '@babel/helper-validator-identifier@7.24.7': {}
+
+ '@babel/helper-validator-option@7.23.5': {}
+
+ '@babel/helper-validator-option@7.24.7': {}
+
+ '@babel/helpers@7.24.5':
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/highlight@7.24.5':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.5
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.1
+
+ '@babel/highlight@7.24.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.1
+
+ '@babel/parser@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/parser@7.24.7':
+ dependencies:
+ '@babel/types': 7.24.7
+
+ '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.7
+
+ '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.7
+
+ '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-react-jsx-self@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.24.7
+ '@babel/helper-module-imports': 7.24.7
+ '@babel/helper-plugin-utils': 7.24.7
+ '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.5)
+ '@babel/types': 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.24.7
+ '@babel/helper-plugin-utils': 7.24.7
+
+ '@babel/preset-react@7.24.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.7
+ '@babel/helper-validator-option': 7.24.7
+ '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/runtime@7.24.7':
+ dependencies:
+ regenerator-runtime: 0.14.1
+
+ '@babel/template@7.24.0':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/parser': 7.24.5
+ '@babel/types': 7.24.5
+
+ '@babel/template@7.24.7':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/parser': 7.24.7
+ '@babel/types': 7.24.7
+
+ '@babel/traverse@7.24.5':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.24.5
+ '@babel/parser': 7.24.5
+ '@babel/types': 7.24.5
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/traverse@7.24.7':
+ dependencies:
+ '@babel/code-frame': 7.24.7
+ '@babel/generator': 7.24.7
+ '@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.7
+ '@babel/types': 7.24.7
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.24.5':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.1
+ '@babel/helper-validator-identifier': 7.24.5
+ to-fast-properties: 2.0.0
+
+ '@babel/types@7.24.7':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.7
+ '@babel/helper-validator-identifier': 7.24.7
+ to-fast-properties: 2.0.0
+
+ '@emotion/babel-plugin@11.11.0':
+ dependencies:
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/runtime': 7.24.7
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/serialize': 1.1.4
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
+
+ '@emotion/cache@11.11.0':
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ '@emotion/sheet': 1.2.2
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ stylis: 4.2.0
+
+ '@emotion/hash@0.9.1': {}
+
+ '@emotion/is-prop-valid@1.2.2':
+ dependencies:
+ '@emotion/memoize': 0.8.1
+
+ '@emotion/memoize@0.8.1': {}
+
+ '@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.24.7
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/cache': 11.11.0
+ '@emotion/serialize': 1.1.4
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1)
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ hoist-non-react-statics: 3.3.2
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.2
+
+ '@emotion/serialize@1.1.4':
+ dependencies:
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/unitless': 0.8.1
+ '@emotion/utils': 1.2.1
+ csstype: 3.1.3
+
+ '@emotion/sheet@1.2.2': {}
+
+ '@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@types/react@18.3.2)(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.24.7
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/is-prop-valid': 1.2.2
+ '@emotion/react': 11.11.4(@types/react@18.3.2)(react@18.3.1)
+ '@emotion/serialize': 1.1.4
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1)
+ '@emotion/utils': 1.2.1
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.2
+
+ '@emotion/unitless@0.8.1': {}
+
+ '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
+ '@emotion/utils@1.2.1': {}
+
+ '@emotion/weak-memoize@0.3.1': {}
+
+ '@esbuild/aix-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm@0.20.2':
+ optional: true
+
+ '@esbuild/android-x64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.20.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.20.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.20.2':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
+ dependencies:
+ eslint: 8.57.0
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.10.0': {}
+
+ '@eslint/eslintrc@2.1.4':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@8.57.0': {}
+
+ '@floating-ui/core@1.6.4':
+ dependencies:
+ '@floating-ui/utils': 0.2.4
+
+ '@floating-ui/dom@1.6.7':
+ dependencies:
+ '@floating-ui/core': 1.6.4
+ '@floating-ui/utils': 0.2.4
+
+ '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.7
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/react@0.26.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@floating-ui/utils': 0.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tabbable: 6.2.0
+
+ '@floating-ui/utils@0.2.4': {}
+
+ '@humanwhocodes/config-array@0.11.14':
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.3
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/object-schema@2.0.3': {}
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.4.15': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ '@mantine/code-highlight@7.11.0(@mantine/core@7.11.0(@mantine/hooks@7.11.0(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.11.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@mantine/core': 7.11.0(@mantine/hooks@7.11.0(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.11.0(react@18.3.1)
+ clsx: 2.1.1
+ highlight.js: 11.9.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@mantine/core@7.11.0(@mantine/hooks@7.11.0(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react': 0.26.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.11.0(react@18.3.1)
+ clsx: 2.1.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-number-format: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-remove-scroll: 2.5.10(@types/react@18.3.2)(react@18.3.1)
+ react-textarea-autosize: 8.5.3(@types/react@18.3.2)(react@18.3.1)
+ type-fest: 4.20.1
+ transitivePeerDependencies:
+ - '@types/react'
+
+ '@mantine/hooks@7.11.0(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@redux-devtools/extension@3.3.0(redux@5.0.1)':
+ dependencies:
+ '@babel/runtime': 7.24.7
+ immutable: 4.3.6
+ redux: 5.0.1
+
+ '@remix-run/router@1.17.0': {}
+
+ '@rollup/pluginutils@5.1.0(rollup@4.17.2)':
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ optionalDependencies:
+ rollup: 4.17.2
+
+ '@rollup/rollup-android-arm-eabi@4.17.2':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.17.2':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.17.2':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.17.2':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.17.2':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.17.2':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.17.2':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.17.2':
+ optional: true
+
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.5)':
dependencies:
'@babel/core': 7.24.5
- dev: true
- /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.5):
- resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
- engines: {node: '>=12'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.5)':
dependencies:
'@babel/core': 7.24.5
- dev: true
- /@svgr/babel-preset@8.1.0(@babel/core@7.24.5):
- resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
- engines: {node: '>=14'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@svgr/babel-preset@8.1.0(@babel/core@7.24.5)':
dependencies:
'@babel/core': 7.24.5
'@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.5)
@@ -1296,11 +3164,8 @@ packages:
'@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.5)
'@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.5)
'@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.5)
- dev: true
- /@svgr/core@8.1.0(typescript@5.4.5):
- resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
- engines: {node: '>=14'}
+ '@svgr/core@8.1.0(typescript@5.4.5)':
dependencies:
'@babel/core': 7.24.5
'@svgr/babel-preset': 8.1.0(@babel/core@7.24.5)
@@ -1310,21 +3175,13 @@ packages:
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /@svgr/hast-util-to-babel-ast@8.0.0:
- resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
- engines: {node: '>=14'}
+ '@svgr/hast-util-to-babel-ast@8.0.0':
dependencies:
'@babel/types': 7.24.5
entities: 4.5.0
- dev: true
- /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0):
- resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
- engines: {node: '>=14'}
- peerDependencies:
- '@svgr/core': '*'
+ '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.4.5))':
dependencies:
'@babel/core': 7.24.5
'@svgr/babel-preset': 8.1.0(@babel/core@7.24.5)
@@ -1333,107 +3190,38 @@ packages:
svg-parser: 2.0.4
transitivePeerDependencies:
- supports-color
- dev: true
- /@swc/core-darwin-arm64@1.5.7:
- resolution: {integrity: sha512-bZLVHPTpH3h6yhwVl395k0Mtx8v6CGhq5r4KQdAoPbADU974Mauz1b6ViHAJ74O0IVE5vyy7tD3OpkQxL/vMDQ==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@swc/core-darwin-arm64@1.5.7':
optional: true
- /@swc/core-darwin-x64@1.5.7:
- resolution: {integrity: sha512-RpUyu2GsviwTc2qVajPL0l8nf2vKj5wzO3WkLSHAHEJbiUZk83NJrZd1RVbEknIMO7+Uyjh54hEh8R26jSByaw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
+ '@swc/core-darwin-x64@1.5.7':
optional: true
- /@swc/core-linux-arm-gnueabihf@1.5.7:
- resolution: {integrity: sha512-cTZWTnCXLABOuvWiv6nQQM0hP6ZWEkzdgDvztgHI/+u/MvtzJBN5lBQ2lue/9sSFYLMqzqff5EHKlFtrJCA9dQ==}
- engines: {node: '>=10'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@swc/core-linux-arm-gnueabihf@1.5.7':
optional: true
- /@swc/core-linux-arm64-gnu@1.5.7:
- resolution: {integrity: sha512-hoeTJFBiE/IJP30Be7djWF8Q5KVgkbDtjySmvYLg9P94bHg9TJPSQoC72tXx/oXOgXvElDe/GMybru0UxhKx4g==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@swc/core-linux-arm64-gnu@1.5.7':
optional: true
- /@swc/core-linux-arm64-musl@1.5.7:
- resolution: {integrity: sha512-+NDhK+IFTiVK1/o7EXdCeF2hEzCiaRSrb9zD7X2Z7inwWlxAntcSuzZW7Y6BRqGQH89KA91qYgwbnjgTQ22PiQ==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@swc/core-linux-arm64-musl@1.5.7':
optional: true
- /@swc/core-linux-x64-gnu@1.5.7:
- resolution: {integrity: sha512-25GXpJmeFxKB+7pbY7YQLhWWjkYlR+kHz5I3j9WRl3Lp4v4UD67OGXwPe+DIcHqcouA1fhLhsgHJWtsaNOMBNg==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@swc/core-linux-x64-gnu@1.5.7':
optional: true
- /@swc/core-linux-x64-musl@1.5.7:
- resolution: {integrity: sha512-0VN9Y5EAPBESmSPPsCJzplZHV26akC0sIgd3Hc/7S/1GkSMoeuVL+V9vt+F/cCuzr4VidzSkqftdP3qEIsXSpg==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
+ '@swc/core-linux-x64-musl@1.5.7':
optional: true
- /@swc/core-win32-arm64-msvc@1.5.7:
- resolution: {integrity: sha512-RtoNnstBwy5VloNCvmvYNApkTmuCe4sNcoYWpmY7C1+bPR+6SOo8im1G6/FpNem8AR5fcZCmXHWQ+EUmRWJyuA==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@swc/core-win32-arm64-msvc@1.5.7':
optional: true
- /@swc/core-win32-ia32-msvc@1.5.7:
- resolution: {integrity: sha512-Xm0TfvcmmspvQg1s4+USL3x8D+YPAfX2JHygvxAnCJ0EHun8cm2zvfNBcsTlnwYb0ybFWXXY129aq1wgFC9TpQ==}
- engines: {node: '>=10'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@swc/core-win32-ia32-msvc@1.5.7':
optional: true
- /@swc/core-win32-x64-msvc@1.5.7:
- resolution: {integrity: sha512-tp43WfJLCsKLQKBmjmY/0vv1slVywR5Q4qKjF5OIY8QijaEW7/8VwPyUyVoJZEnDgv9jKtUTG5PzqtIYPZGnyg==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
+ '@swc/core-win32-x64-msvc@1.5.7':
optional: true
- /@swc/core@1.5.7:
- resolution: {integrity: sha512-U4qJRBefIJNJDRCCiVtkfa/hpiZ7w0R6kASea+/KLp+vkus3zcLSB8Ub8SvKgTIxjWpwsKcZlPf5nrv4ls46SQ==}
- engines: {node: '>=10'}
- requiresBuild: true
- peerDependencies:
- '@swc/helpers': ^0.5.0
- peerDependenciesMeta:
- '@swc/helpers':
- optional: true
+ '@swc/core@1.5.7':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.7
@@ -1448,137 +3236,83 @@ packages:
'@swc/core-win32-arm64-msvc': 1.5.7
'@swc/core-win32-ia32-msvc': 1.5.7
'@swc/core-win32-x64-msvc': 1.5.7
- dev: true
- /@swc/counter@0.1.3:
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
- dev: true
+ '@swc/counter@0.1.3': {}
- /@swc/types@0.1.7:
- resolution: {integrity: sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==}
+ '@swc/types@0.1.7':
dependencies:
'@swc/counter': 0.1.3
- dev: true
- /@tanstack/eslint-plugin-query@5.49.1(eslint@8.57.0)(typescript@5.4.5):
- resolution: {integrity: sha512-pTaEvG3HC1y7BOsFJtZmi8dhWwML97zEBq4qLM6BaUSzZ4WlFyhmtG2sBVO0H+lP1WgnLpQclRQ+nFikTqoUfQ==}
- peerDependencies:
- eslint: ^8 || ^9
+ '@tanstack/eslint-plugin-query@5.49.1(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@typescript-eslint/utils': 8.0.0-alpha.30(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /@tanstack/query-core@5.49.1:
- resolution: {integrity: sha512-JnC9ndmD1KKS01Rt/ovRUB1tmwO7zkyXAyIxN9mznuJrcNtOrkmOnQqdJF2ib9oHzc2VxHomnEG7xyfo54Npkw==}
- dev: false
+ '@tanstack/query-core@5.49.1': {}
- /@tanstack/query-devtools@5.49.1:
- resolution: {integrity: sha512-9mBtuq76fp+OE780ImoNG109bM7lucZ9MLPLzAkQ2OMx+X6s3BfVATySTxm1Mrtui3qJIFo05ZI4zv9A44+GAg==}
- dev: false
+ '@tanstack/query-devtools@5.49.1': {}
- /@tanstack/react-query-devtools@5.49.2(@tanstack/react-query@5.49.2)(react@18.3.1):
- resolution: {integrity: sha512-ARQ8GXaTcwXyXIv215sfFqT9s87Jj8vP8jAc9LlC28M+4RbexfBRvm+cra3Cn/xlXJrUEjijf+vUf1Ju9F1XJQ==}
- peerDependencies:
- '@tanstack/react-query': ^5.49.2
- react: ^18 || ^19
+ '@tanstack/react-query-devtools@5.49.2(@tanstack/react-query@5.49.2(react@18.3.1))(react@18.3.1)':
dependencies:
'@tanstack/query-devtools': 5.49.1
'@tanstack/react-query': 5.49.2(react@18.3.1)
react: 18.3.1
- dev: false
- /@tanstack/react-query@5.49.2(react@18.3.1):
- resolution: {integrity: sha512-6rfwXDK9BvmHISbNFuGd+wY3P44lyW7lWiA9vIFGT/T0P9aHD1VkjTvcM4SDAIbAQ9ygEZZoLt7dlU1o3NjMVA==}
- peerDependencies:
- react: ^18.0.0
+ '@tanstack/react-query@5.49.2(react@18.3.1)':
dependencies:
'@tanstack/query-core': 5.49.1
react: 18.3.1
- dev: false
- /@types/babel__core@7.20.5:
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+ '@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.24.5
'@babel/types': 7.24.5
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.5
- dev: true
- /@types/babel__generator@7.6.8:
- resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
+ '@types/babel__generator@7.6.8':
dependencies:
'@babel/types': 7.24.5
- dev: true
- /@types/babel__template@7.4.4:
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+ '@types/babel__template@7.4.4':
dependencies:
'@babel/parser': 7.24.5
'@babel/types': 7.24.5
- dev: true
- /@types/babel__traverse@7.20.5:
- resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
+ '@types/babel__traverse@7.20.5':
dependencies:
'@babel/types': 7.24.5
- dev: true
- /@types/base16@1.0.5:
- resolution: {integrity: sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==}
- dev: false
+ '@types/base16@1.0.5': {}
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
+ '@types/estree@1.0.5': {}
- /@types/json5@0.0.29:
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- dev: true
+ '@types/json5@0.0.29': {}
- /@types/lodash@4.17.6:
- resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==}
- dev: false
+ '@types/lodash@4.17.6': {}
- /@types/node@20.12.12:
- resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
+ '@types/node@20.12.12':
dependencies:
undici-types: 5.26.5
- dev: true
- /@types/parse-json@4.0.2:
- resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+ '@types/parse-json@4.0.2': {}
- /@types/prop-types@15.7.12:
- resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
+ '@types/prop-types@15.7.12': {}
- /@types/react-dom@18.3.0:
- resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+ '@types/react-dom@18.3.0':
dependencies:
'@types/react': 18.3.2
- dev: true
- /@types/react@18.3.2:
- resolution: {integrity: sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==}
+ '@types/react@18.3.2':
dependencies:
'@types/prop-types': 15.7.12
csstype: 3.1.3
- /@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0)(eslint@8.57.0)(typescript@5.4.5):
- resolution: {integrity: sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/eslint-plugin@7.9.0(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
@@ -1591,20 +3325,12 @@ packages:
ignore: 5.3.1
natural-compare: 1.4.0
ts-api-utils: 1.3.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5):
- resolution: {integrity: sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@typescript-eslint/scope-manager': 7.9.0
'@typescript-eslint/types': 7.9.0
@@ -1612,65 +3338,38 @@ packages:
'@typescript-eslint/visitor-keys': 7.9.0
debug: 4.3.4
eslint: 8.57.0
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/scope-manager@7.9.0:
- resolution: {integrity: sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/scope-manager@7.9.0':
dependencies:
'@typescript-eslint/types': 7.9.0
'@typescript-eslint/visitor-keys': 7.9.0
- dev: true
- /@typescript-eslint/scope-manager@8.0.0-alpha.30:
- resolution: {integrity: sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.0.0-alpha.30':
dependencies:
'@typescript-eslint/types': 8.0.0-alpha.30
'@typescript-eslint/visitor-keys': 8.0.0-alpha.30
- dev: true
- /@typescript-eslint/type-utils@7.9.0(eslint@8.57.0)(typescript@5.4.5):
- resolution: {integrity: sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/type-utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@typescript-eslint/typescript-estree': 7.9.0(typescript@5.4.5)
'@typescript-eslint/utils': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/types@7.9.0:
- resolution: {integrity: sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==}
- engines: {node: ^18.18.0 || >=20.0.0}
- dev: true
+ '@typescript-eslint/types@7.9.0': {}
- /@typescript-eslint/types@8.0.0-alpha.30:
- resolution: {integrity: sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- dev: true
+ '@typescript-eslint/types@8.0.0-alpha.30': {}
- /@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5):
- resolution: {integrity: sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/typescript-estree@7.9.0(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 7.9.0
'@typescript-eslint/visitor-keys': 7.9.0
@@ -1680,19 +3379,12 @@ packages:
minimatch: 9.0.4
semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/typescript-estree@8.0.0-alpha.30(typescript@5.4.5):
- resolution: {integrity: sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@typescript-eslint/typescript-estree@8.0.0-alpha.30(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 8.0.0-alpha.30
'@typescript-eslint/visitor-keys': 8.0.0-alpha.30
@@ -1702,16 +3394,12 @@ packages:
minimatch: 9.0.4
semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
+ optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- dev: true
- /@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5):
- resolution: {integrity: sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==}
- engines: {node: ^18.18.0 || >=20.0.0}
- peerDependencies:
- eslint: ^8.56.0
+ '@typescript-eslint/utils@7.9.0(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@typescript-eslint/scope-manager': 7.9.0
@@ -1721,13 +3409,8 @@ packages:
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /@typescript-eslint/utils@8.0.0-alpha.30(eslint@8.57.0)(typescript@5.4.5):
- resolution: {integrity: sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
+ '@typescript-eslint/utils@8.0.0-alpha.30(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@typescript-eslint/scope-manager': 8.0.0-alpha.30
@@ -1737,44 +3420,27 @@ packages:
transitivePeerDependencies:
- supports-color
- typescript
- dev: true
- /@typescript-eslint/visitor-keys@7.9.0:
- resolution: {integrity: sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/visitor-keys@7.9.0':
dependencies:
'@typescript-eslint/types': 7.9.0
eslint-visitor-keys: 3.4.3
- dev: true
- /@typescript-eslint/visitor-keys@8.0.0-alpha.30:
- resolution: {integrity: sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.0.0-alpha.30':
dependencies:
'@typescript-eslint/types': 8.0.0-alpha.30
eslint-visitor-keys: 3.4.3
- dev: true
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: true
+ '@ungap/structured-clone@1.2.0': {}
- /@vitejs/plugin-react-swc@3.6.0(vite@5.2.11):
- resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==}
- peerDependencies:
- vite: ^4 || ^5
+ '@vitejs/plugin-react-swc@3.6.0(vite@5.2.11(@types/node@20.12.12))':
dependencies:
'@swc/core': 1.5.7
vite: 5.2.11(@types/node@20.12.12)
transitivePeerDependencies:
- '@swc/helpers'
- dev: true
- /@vitejs/plugin-react@4.2.1(vite@5.2.11):
- resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- vite: ^4.2.0 || ^5.0.0
+ '@vitejs/plugin-react@4.2.1(vite@5.2.11(@types/node@20.12.12))':
dependencies:
'@babel/core': 7.24.5
'@babel/plugin-transform-react-jsx-self': 7.24.5(@babel/core@7.24.5)
@@ -1784,63 +3450,38 @@ packages:
vite: 5.2.11(@types/node@20.12.12)
transitivePeerDependencies:
- supports-color
- dev: true
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ acorn-jsx@5.3.2(acorn@8.11.3):
dependencies:
acorn: 8.11.3
- dev: true
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
+ acorn@8.11.3: {}
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- dev: true
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
- dev: true
+ ansi-regex@5.0.1: {}
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
+ ansi-styles@3.2.1:
dependencies:
color-convert: 1.9.3
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
+ argparse@2.0.1: {}
- /array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
+ array-buffer-byte-length@1.0.1:
dependencies:
call-bind: 1.0.7
is-array-buffer: 3.0.4
- dev: true
- /array-includes@3.1.8:
- resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
- engines: {node: '>= 0.4'}
+ array-includes@3.1.8:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -1848,16 +3489,10 @@ packages:
es-object-atoms: 1.0.0
get-intrinsic: 1.2.4
is-string: 1.0.7
- dev: true
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: true
+ array-union@2.1.0: {}
- /array.prototype.findlast@1.2.5:
- resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
- engines: {node: '>= 0.4'}
+ array.prototype.findlast@1.2.5:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -1865,11 +3500,8 @@ packages:
es-errors: 1.3.0
es-object-atoms: 1.0.0
es-shim-unscopables: 1.0.2
- dev: true
- /array.prototype.findlastindex@1.2.5:
- resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
- engines: {node: '>= 0.4'}
+ array.prototype.findlastindex@1.2.5:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -1877,50 +3509,37 @@ packages:
es-errors: 1.3.0
es-object-atoms: 1.0.0
es-shim-unscopables: 1.0.2
- dev: true
- /array.prototype.flat@1.3.2:
- resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
- engines: {node: '>= 0.4'}
+ array.prototype.flat@1.3.2:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
es-shim-unscopables: 1.0.2
- dev: true
- /array.prototype.flatmap@1.3.2:
- resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
- engines: {node: '>= 0.4'}
+ array.prototype.flatmap@1.3.2:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
es-shim-unscopables: 1.0.2
- dev: true
- /array.prototype.toreversed@1.1.2:
- resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+ array.prototype.toreversed@1.1.2:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
es-shim-unscopables: 1.0.2
- dev: true
- /array.prototype.tosorted@1.1.3:
- resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
+ array.prototype.tosorted@1.1.3:
dependencies:
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
- dev: true
- /arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
+ arraybuffer.prototype.slice@1.0.3:
dependencies:
array-buffer-byte-length: 1.0.1
call-bind: 1.0.7
@@ -1930,181 +3549,116 @@ packages:
get-intrinsic: 1.2.4
is-array-buffer: 3.0.4
is-shared-array-buffer: 1.0.3
- dev: true
- /asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- dev: false
+ asynckit@0.4.0: {}
- /available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
+ available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
- dev: true
- /axios@1.7.2:
- resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==}
+ axios@1.7.2:
dependencies:
follow-redirects: 1.15.6
form-data: 4.0.0
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
- dev: false
- /babel-plugin-macros@3.1.0:
- resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
- engines: {node: '>=10', npm: '>=6'}
+ babel-plugin-macros@3.1.0:
dependencies:
'@babel/runtime': 7.24.7
cosmiconfig: 7.1.0
resolve: 1.22.8
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
+ balanced-match@1.0.2: {}
- /base16@1.0.0:
- resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==}
- dev: false
+ base16@1.0.0: {}
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- dev: true
- /brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
- dev: true
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
+ braces@3.0.2:
dependencies:
fill-range: 7.0.1
- dev: true
- /browserslist@4.23.0:
- resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
+ browserslist@4.23.0:
dependencies:
caniuse-lite: 1.0.30001620
electron-to-chromium: 1.4.774
node-releases: 2.0.14
update-browserslist-db: 1.0.16(browserslist@4.23.0)
- dev: true
- /call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
+ call-bind@1.0.7:
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.2
- dev: true
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ callsites@3.1.0: {}
- /camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
- dev: true
+ camelcase@6.3.0: {}
- /caniuse-lite@1.0.30001620:
- resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==}
- dev: true
+ caniuse-lite@1.0.30001620: {}
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
+ chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- /chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
+ chalk@3.0.0:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- dev: false
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
supports-color: 7.2.0
- dev: true
- /clsx@2.1.1:
- resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
- engines: {node: '>=6'}
- dev: false
+ clsx@2.1.1: {}
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ color-convert@1.9.3:
dependencies:
color-name: 1.1.3
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ color-convert@2.0.1:
dependencies:
color-name: 1.1.4
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ color-name@1.1.3: {}
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ color-name@1.1.4: {}
- /color-string@1.9.1:
- resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+ color-string@1.9.1:
dependencies:
color-name: 1.1.4
simple-swizzle: 0.2.2
- dev: false
- /color@3.2.1:
- resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
+ color@3.2.1:
dependencies:
color-convert: 1.9.3
color-string: 1.9.1
- dev: false
- /combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
+ combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
- dev: false
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
+ concat-map@0.0.1: {}
- /convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ convert-source-map@1.9.0: {}
- /convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- dev: true
+ convert-source-map@2.0.0: {}
- /cosmiconfig@7.1.0:
- resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
- engines: {node: '>=10'}
+ cosmiconfig@7.1.0:
dependencies:
'@types/parse-json': 4.0.2
import-fresh: 3.3.0
@@ -2112,172 +3666,100 @@ packages:
path-type: 4.0.0
yaml: 1.10.2
- /cosmiconfig@8.3.6(typescript@5.4.5):
- resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
+ cosmiconfig@8.3.6(typescript@5.4.5):
dependencies:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
+ optionalDependencies:
typescript: 5.4.5
- dev: true
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ cross-spawn@7.0.3:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
- dev: true
- /csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ csstype@3.1.3: {}
- /data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
+ data-view-buffer@1.0.1:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
is-data-view: 1.0.1
- dev: true
- /data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
+ data-view-byte-length@1.0.1:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
is-data-view: 1.0.1
- dev: true
- /data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
+ data-view-byte-offset@1.0.0:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
is-data-view: 1.0.1
- dev: true
- /debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debug@3.2.7:
dependencies:
ms: 2.1.2
- dev: true
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
+ debug@4.3.4:
dependencies:
ms: 2.1.2
- dev: true
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
+ deep-is@0.1.4: {}
- /define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
+ define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.0
es-errors: 1.3.0
gopd: 1.0.1
- dev: true
- /define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
+ define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
has-property-descriptors: 1.0.2
object-keys: 1.1.1
- dev: true
- /delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
- dev: false
+ delayed-stream@1.0.0: {}
- /detect-node-es@1.1.0:
- resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
- dev: false
+ detect-node-es@1.1.0: {}
- /diff-match-patch@1.0.5:
- resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==}
- dev: false
+ diff-match-patch@1.0.5: {}
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
+ dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
- dev: true
- /doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
+ doctrine@2.1.0:
dependencies:
esutils: 2.0.3
- dev: true
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
+ doctrine@3.0.0:
dependencies:
esutils: 2.0.3
- dev: true
- /dot-case@3.0.4:
- resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dot-case@3.0.4:
dependencies:
no-case: 3.0.4
tslib: 2.6.2
- dev: true
- /electron-to-chromium@1.4.774:
- resolution: {integrity: sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==}
- dev: true
+ electron-to-chromium@1.4.774: {}
- /enhanced-resolve@5.16.1:
- resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==}
- engines: {node: '>=10.13.0'}
+ enhanced-resolve@5.16.1:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
- dev: true
- /entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
- dev: true
+ entities@4.5.0: {}
- /error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
- /es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
- engines: {node: '>= 0.4'}
+ es-abstract@1.23.3:
dependencies:
array-buffer-byte-length: 1.0.1
arraybuffer.prototype.slice: 1.0.3
@@ -2325,23 +3807,14 @@ packages:
typed-array-length: 1.0.6
unbox-primitive: 1.0.2
which-typed-array: 1.1.15
- dev: true
- /es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
+ es-define-property@1.0.0:
dependencies:
get-intrinsic: 1.2.4
- dev: true
- /es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
- dev: true
+ es-errors@1.3.0: {}
- /es-iterator-helpers@1.0.19:
- resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
- engines: {node: '>= 0.4'}
+ es-iterator-helpers@1.0.19:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -2357,44 +3830,28 @@ packages:
internal-slot: 1.0.7
iterator.prototype: 1.1.2
safe-array-concat: 1.1.2
- dev: true
- /es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
+ es-object-atoms@1.0.0:
dependencies:
es-errors: 1.3.0
- dev: true
- /es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
+ es-set-tostringtag@2.0.3:
dependencies:
get-intrinsic: 1.2.4
has-tostringtag: 1.0.2
hasown: 2.0.2
- dev: true
- /es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ es-shim-unscopables@1.0.2:
dependencies:
hasown: 2.0.2
- dev: true
- /es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
+ es-to-primitive@1.2.1:
dependencies:
is-callable: 1.2.7
is-date-object: 1.0.5
is-symbol: 1.0.4
- dev: true
- /esbuild@0.20.2:
- resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
+ esbuild@0.20.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.20.2
'@esbuild/android-arm': 0.20.2
@@ -2419,52 +3876,32 @@ packages:
'@esbuild/win32-arm64': 0.20.2
'@esbuild/win32-ia32': 0.20.2
'@esbuild/win32-x64': 0.20.2
- dev: true
- /escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
- dev: true
+ escalade@3.1.2: {}
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
+ escape-string-regexp@1.0.5: {}
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
+ escape-string-regexp@4.0.0: {}
- /eslint-config-prettier@9.1.0(eslint@8.57.0):
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
- hasBin: true
- peerDependencies:
- eslint: '>=7.0.0'
+ eslint-config-prettier@9.1.0(eslint@8.57.0):
dependencies:
eslint: 8.57.0
- dev: true
- /eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ eslint-import-resolver-node@0.3.9:
dependencies:
debug: 3.2.7
is-core-module: 2.13.1
resolve: 1.22.8
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.9.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
- resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- eslint: '*'
- eslint-plugin-import: '*'
+ eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0):
dependencies:
debug: 4.3.4
enhanced-resolve: 5.16.1
eslint: 8.57.0
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.5
is-core-module: 2.13.1
@@ -2474,49 +3911,20 @@ packages:
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
- dev: true
- /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
- resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
- engines: {node: '>=4'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
- eslint:
- optional: true
- eslint-import-resolver-node:
- optional: true
- eslint-import-resolver-typescript:
- optional: true
- eslint-import-resolver-webpack:
- optional: true
+ eslint-module-utils@2.8.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
dependencies:
- '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.9.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
- dev: true
- /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
- resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
- engines: {node: '>=4'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
dependencies:
- '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
@@ -2525,7 +3933,7 @@ packages:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.9.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.13.1
is-glob: 4.0.3
@@ -2535,34 +3943,22 @@ packages:
object.values: 1.2.0
semver: 6.3.1
tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 7.9.0(eslint@8.57.0)(typescript@5.4.5)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- dev: true
- /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0):
- resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
- engines: {node: '>=10'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ eslint-plugin-react-hooks@4.6.2(eslint@8.57.0):
dependencies:
eslint: 8.57.0
- dev: true
- /eslint-plugin-react-refresh@0.4.7(eslint@8.57.0):
- resolution: {integrity: sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==}
- peerDependencies:
- eslint: '>=7'
+ eslint-plugin-react-refresh@0.4.7(eslint@8.57.0):
dependencies:
eslint: 8.57.0
- dev: true
- /eslint-plugin-react@7.34.1(eslint@8.57.0):
- resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ eslint-plugin-react@7.34.1(eslint@8.57.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
@@ -2583,25 +3979,15 @@ packages:
resolve: 2.0.0-next.5
semver: 6.3.1
string.prototype.matchall: 4.0.11
- dev: true
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
- dev: true
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
+ eslint-visitor-keys@3.4.3: {}
- /eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
+ eslint@8.57.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@eslint-community/regexpp': 4.10.0
@@ -2643,218 +4029,149 @@ packages:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
- dev: true
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ espree@9.6.1:
dependencies:
acorn: 8.11.3
acorn-jsx: 5.3.2(acorn@8.11.3)
eslint-visitor-keys: 3.4.3
- dev: true
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
+ esquery@1.5.0:
dependencies:
estraverse: 5.3.0
- dev: true
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ esrecurse@4.3.0:
dependencies:
estraverse: 5.3.0
- dev: true
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: true
+ estraverse@5.3.0: {}
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
- dev: true
+ estree-walker@2.0.2: {}
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- dev: true
+ esutils@2.0.3: {}
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
+ fast-deep-equal@3.1.3: {}
- /fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
- dev: true
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- dev: true
+ fast-json-stable-stringify@2.1.0: {}
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: true
+ fast-levenshtein@2.0.6: {}
- /fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ fastq@1.17.1:
dependencies:
reusify: 1.0.4
- dev: true
- /file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ file-entry-cache@6.0.1:
dependencies:
flat-cache: 3.2.0
- dev: true
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
+ fill-range@7.0.1:
dependencies:
to-regex-range: 5.0.1
- dev: true
- /find-root@1.1.0:
- resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ find-root@1.1.0: {}
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ find-up@5.0.0:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
- dev: true
- /flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ flat-cache@3.2.0:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
rimraf: 3.0.2
- dev: true
- /flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
- dev: true
+ flatted@3.3.1: {}
- /follow-redirects@1.15.6:
- resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
- dev: false
+ follow-redirects@1.15.6: {}
- /for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ for-each@0.3.3:
dependencies:
is-callable: 1.2.7
- dev: true
- /form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
- engines: {node: '>= 6'}
+ form-data@4.0.0:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
+
+ /framer-motion@11.2.13(react-dom@18.3.1)(react@18.3.1):
+ resolution: {integrity: sha512-AyIeegfkXlkX1lWEudRYsJlC+0A59cE8oFK9IsN9bUQzxLwcvN3AEaYaznkELiWlHC7a0eD7pxsYQo7BC05S5A==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ tslib: 2.6.2
dev: false
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
+ fs.realpath@1.0.0: {}
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
+ fsevents@2.3.3:
optional: true
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ function-bind@1.1.2: {}
- /function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
+ function.prototype.name@1.1.6:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
functions-have-names: 1.2.3
- dev: true
- /functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
- dev: true
+ functions-have-names@1.2.3: {}
- /gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
- dev: true
+ gensync@1.0.0-beta.2: {}
- /get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
+ get-intrinsic@1.2.4:
dependencies:
es-errors: 1.3.0
function-bind: 1.1.2
has-proto: 1.0.3
has-symbols: 1.0.3
hasown: 2.0.2
- dev: true
- /get-nonce@1.0.1:
- resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
- engines: {node: '>=6'}
- dev: false
+ get-nonce@1.0.1: {}
- /get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
+ get-symbol-description@1.0.2:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
get-intrinsic: 1.2.4
- dev: true
- /get-tsconfig@4.7.5:
- resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+ get-tsconfig@4.7.5:
dependencies:
resolve-pkg-maps: 1.0.0
- dev: true
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
- dev: true
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ glob-parent@6.0.2:
dependencies:
is-glob: 4.0.3
- dev: true
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
@@ -2862,31 +4179,19 @@ packages:
minimatch: 3.1.2
once: 1.4.0
path-is-absolute: 1.0.1
- dev: true
- /globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
- dev: true
+ globals@11.12.0: {}
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ globals@13.24.0:
dependencies:
type-fest: 0.20.2
- dev: true
- /globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
+ globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
gopd: 1.0.1
- dev: true
- /globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
@@ -2894,323 +4199,185 @@ packages:
ignore: 5.3.1
merge2: 1.4.1
slash: 3.0.0
- dev: true
- /gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
- dev: true
- /graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- dev: true
+ graceful-fs@4.2.11: {}
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
+ graphemer@1.4.0: {}
- /has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
- dev: true
+ has-bigints@1.0.2: {}
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
+ has-flag@3.0.0: {}
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ has-flag@4.0.0: {}
- /has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.0
- dev: true
- /has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
- dev: true
+ has-proto@1.0.3: {}
- /has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
- dev: true
+ has-symbols@1.0.3: {}
- /has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
+ has-tostringtag@1.0.2:
dependencies:
has-symbols: 1.0.3
- dev: true
- /hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ hasown@2.0.2:
dependencies:
function-bind: 1.1.2
- /highlight.js@11.9.0:
- resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
- engines: {node: '>=12.0.0'}
- dev: false
+ highlight.js@11.9.0: {}
- /hoist-non-react-statics@3.3.2:
- resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ hoist-non-react-statics@3.3.2:
dependencies:
react-is: 16.13.1
- dev: false
- /ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
- dev: true
+ ignore@5.3.1: {}
- /immutable@4.3.6:
- resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==}
- dev: false
+ immutable@4.3.6: {}
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
- dev: true
+ imurmurhash@0.1.4: {}
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ inflight@1.0.6:
dependencies:
once: 1.4.0
wrappy: 1.0.2
- dev: true
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
+ inherits@2.0.4: {}
- /internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
+ internal-slot@1.0.7:
dependencies:
es-errors: 1.3.0
hasown: 2.0.2
side-channel: 1.0.6
- dev: true
- /invariant@2.2.4:
- resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ invariant@2.2.4:
dependencies:
loose-envify: 1.4.0
- dev: false
- /is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
+ is-array-buffer@3.0.4:
dependencies:
call-bind: 1.0.7
get-intrinsic: 1.2.4
- dev: true
- /is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ is-arrayish@0.2.1: {}
- /is-arrayish@0.3.2:
- resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
- dev: false
+ is-arrayish@0.3.2: {}
- /is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
- engines: {node: '>= 0.4'}
+ is-async-function@2.0.0:
dependencies:
has-tostringtag: 1.0.2
- dev: true
- /is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ is-bigint@1.0.4:
dependencies:
has-bigints: 1.0.2
- dev: true
- /is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
+ is-boolean-object@1.1.2:
dependencies:
call-bind: 1.0.7
has-tostringtag: 1.0.2
- dev: true
- /is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-callable@1.2.7: {}
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ is-core-module@2.13.1:
dependencies:
hasown: 2.0.2
- /is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
+ is-data-view@1.0.1:
dependencies:
is-typed-array: 1.1.13
- dev: true
- /is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
+ is-date-object@1.0.5:
dependencies:
has-tostringtag: 1.0.2
- dev: true
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
+ is-extglob@2.1.1: {}
- /is-finalizationregistry@1.0.2:
- resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ is-finalizationregistry@1.0.2:
dependencies:
call-bind: 1.0.7
- dev: true
- /is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
+ is-generator-function@1.0.10:
dependencies:
has-tostringtag: 1.0.2
- dev: true
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
- dev: true
- /is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-map@2.0.3: {}
- /is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-negative-zero@2.0.3: {}
- /is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
+ is-number-object@1.0.7:
dependencies:
has-tostringtag: 1.0.2
- dev: true
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
+ is-number@7.0.0: {}
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: true
+ is-path-inside@3.0.3: {}
- /is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
+ is-regex@1.1.4:
dependencies:
call-bind: 1.0.7
has-tostringtag: 1.0.2
- dev: true
- /is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-set@2.0.3: {}
- /is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
+ is-shared-array-buffer@1.0.3:
dependencies:
call-bind: 1.0.7
- dev: true
- /is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
+ is-string@1.0.7:
dependencies:
has-tostringtag: 1.0.2
- dev: true
- /is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
+ is-symbol@1.0.4:
dependencies:
has-symbols: 1.0.3
- dev: true
- /is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
+ is-typed-array@1.1.13:
dependencies:
which-typed-array: 1.1.15
- dev: true
- /is-weakmap@2.0.2:
- resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
- engines: {node: '>= 0.4'}
- dev: true
+ is-weakmap@2.0.2: {}
- /is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ is-weakref@1.0.2:
dependencies:
call-bind: 1.0.7
- dev: true
- /is-weakset@2.0.3:
- resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
- engines: {node: '>= 0.4'}
+ is-weakset@2.0.3:
dependencies:
call-bind: 1.0.7
get-intrinsic: 1.2.4
- dev: true
- /isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
- dev: true
+ isarray@2.0.5: {}
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
+ isexe@2.0.0: {}
- /iterator.prototype@1.1.2:
- resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ iterator.prototype@1.1.2:
dependencies:
define-properties: 1.2.1
get-intrinsic: 1.2.4
has-symbols: 1.0.3
reflect.getprototypeof: 1.0.6
set-function-name: 2.0.2
- dev: true
- /javascript-stringify@2.1.0:
- resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
- dev: false
+ javascript-stringify@2.1.0: {}
- /jotai-devtools@0.10.0(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1)(redux@5.0.1):
- resolution: {integrity: sha512-ltGzJMam7sXbC827U1A2H6rMg+iiK5VzaBmanVfVpWS4fK9/8Mq5NLaG3n2OFtsQgI0nUDaNl/3NObI38sBx+A==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- react: '>=17.0.0'
+ jotai-devtools@0.10.0(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1):
dependencies:
- '@mantine/code-highlight': 7.11.0(@mantine/core@7.11.0)(@mantine/hooks@7.11.0)(react-dom@18.3.1)(react@18.3.1)
- '@mantine/core': 7.11.0(@mantine/hooks@7.11.0)(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1)
+ '@mantine/code-highlight': 7.11.0(@mantine/core@7.11.0(@mantine/hooks@7.11.0(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.11.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/core': 7.11.0(@mantine/hooks@7.11.0(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks': 7.11.0(react@18.3.1)
'@redux-devtools/extension': 3.3.0(redux@5.0.1)
clsx: 2.1.1
@@ -3220,287 +4387,169 @@ packages:
react-base16-styling: 0.9.1
react-error-boundary: 4.0.13(react@18.3.1)
react-json-tree: 0.18.0(@types/react@18.3.2)(react@18.3.1)
- react-resizable-panels: 2.0.10(react-dom@18.3.1)(react@18.3.1)
+ react-resizable-panels: 2.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
transitivePeerDependencies:
- - '@types/react'
- - react-dom
- - redux
- dev: false
-
- /jotai@2.8.4(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-f6jwjhBJcDtpeauT2xH01gnqadKEySwwt1qNBLvAXcnojkmb76EdqRt05Ym8IamfHGAQz2qMKAwftnyjeSoHAA==}
- engines: {node: '>=12.20.0'}
- peerDependencies:
- '@types/react': '>=17.0.0'
- react: '>=17.0.0'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- react:
- optional: true
- dependencies:
+ - '@types/react'
+ - react-dom
+ - redux
+
+ jotai@2.8.4(@types/react@18.3.2)(react@18.3.1):
+ optionalDependencies:
'@types/react': 18.3.2
react: 18.3.1
- dev: false
- /js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ js-tokens@4.0.0: {}
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
+ js-yaml@4.1.0:
dependencies:
argparse: 2.0.1
- dev: true
- /jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
+ jsesc@2.5.2: {}
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- dev: true
+ json-buffer@3.0.1: {}
- /json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ json-parse-even-better-errors@2.3.1: {}
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: true
+ json-schema-traverse@0.4.1: {}
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: true
+ json-stable-stringify-without-jsonify@1.0.1: {}
- /json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
- hasBin: true
+ json5@1.0.2:
dependencies:
minimist: 1.2.8
- dev: true
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
- dev: true
+ json5@2.2.3: {}
- /jsondiffpatch@0.5.0:
- resolution: {integrity: sha512-Quz3MvAwHxVYNXsOByL7xI5EB2WYOeFswqaHIA3qOK3isRWTxiplBEocmmru6XmxDB2L7jDNYtYA4FyimoAFEw==}
- engines: {node: '>=8.17.0'}
- hasBin: true
+ jsondiffpatch@0.5.0:
dependencies:
chalk: 3.0.0
diff-match-patch: 1.0.5
dev: false
+ bundledDependencies: []
- /jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
+ jsx-ast-utils@3.3.5:
dependencies:
array-includes: 3.1.8
array.prototype.flat: 1.3.2
object.assign: 4.1.5
object.values: 1.2.0
- dev: true
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
- dev: true
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- dev: true
- /lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ lines-and-columns@1.2.4: {}
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
- dev: true
- /lodash.curry@4.1.1:
- resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==}
- dev: false
+ lodash.curry@4.1.1: {}
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- dev: true
+ lodash.merge@4.6.2: {}
- /loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
+ loose-envify@1.4.0:
dependencies:
js-tokens: 4.0.0
- /lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ lower-case@2.0.2:
dependencies:
tslib: 2.6.2
- dev: true
- /lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
- dev: true
- /merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
- dev: true
+ merge2@1.4.1: {}
- /micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
+ micromatch@4.0.5:
dependencies:
braces: 3.0.2
picomatch: 2.3.1
- dev: true
- /mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
- dev: false
+ mime-db@1.52.0: {}
- /mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
+ mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
- dev: false
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
- dev: true
- /minimatch@9.0.4:
- resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ minimatch@9.0.4:
dependencies:
brace-expansion: 2.0.1
- dev: true
- /minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- dev: true
+ minimist@1.2.8: {}
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
+ ms@2.1.2: {}
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
+ nanoid@3.3.7: {}
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- dev: true
+ natural-compare@1.4.0: {}
- /no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ no-case@3.0.4:
dependencies:
lower-case: 2.0.2
tslib: 2.6.2
- dev: true
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
- dev: true
+ node-releases@2.0.14: {}
- /object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ object-assign@4.1.1: {}
- /object-inspect@1.13.1:
- resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
- dev: true
+ object-inspect@1.13.1: {}
- /object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
- dev: true
+ object-keys@1.1.1: {}
- /object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
+ object.assign@4.1.5:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
has-symbols: 1.0.3
object-keys: 1.1.1
- dev: true
- /object.entries@1.1.8:
- resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
- engines: {node: '>= 0.4'}
+ object.entries@1.1.8:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-object-atoms: 1.0.0
- dev: true
- /object.fromentries@2.0.8:
- resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
- engines: {node: '>= 0.4'}
+ object.fromentries@2.0.8:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
es-object-atoms: 1.0.0
- dev: true
- /object.groupby@1.0.3:
- resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
- engines: {node: '>= 0.4'}
+ object.groupby@1.0.3:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
- dev: true
- /object.hasown@1.1.4:
- resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
- engines: {node: '>= 0.4'}
+ object.hasown@1.1.4:
dependencies:
define-properties: 1.2.1
es-abstract: 1.23.3
es-object-atoms: 1.0.0
- dev: true
- /object.values@1.2.0:
- resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
- engines: {node: '>= 0.4'}
+ object.values@1.2.0:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-object-atoms: 1.0.0
- dev: true
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ once@1.4.0:
dependencies:
wrappy: 1.0.2
- dev: true
- /optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
+ optionator@0.9.4:
dependencies:
deep-is: 0.1.4
fast-levenshtein: 2.0.6
@@ -3508,114 +4557,65 @@ packages:
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.5
- dev: true
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
- dev: true
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ p-locate@5.0.0:
dependencies:
p-limit: 3.1.0
- dev: true
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ parent-module@1.0.1:
dependencies:
callsites: 3.1.0
- /parse-json@5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
+ parse-json@5.2.0:
dependencies:
'@babel/code-frame': 7.24.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
+ path-exists@4.0.0: {}
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
+ path-is-absolute@1.0.1: {}
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
+ path-key@3.1.1: {}
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ path-parse@1.0.7: {}
- /path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
+ path-type@4.0.0: {}
- /picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ picocolors@1.0.1: {}
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
+ picomatch@2.3.1: {}
- /possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
- dev: true
+ possible-typed-array-names@1.0.0: {}
- /postcss@8.4.38:
- resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
- engines: {node: ^10 || ^12 || >=14}
+ postcss@8.4.38:
dependencies:
nanoid: 3.3.7
picocolors: 1.0.1
source-map-js: 1.2.0
- dev: true
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
- dev: true
+ prelude-ls@1.2.1: {}
- /prettier@3.2.5:
- resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
- engines: {node: '>=14'}
- hasBin: true
- dev: false
+ prettier@3.2.5: {}
- /prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
- /proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
- dev: false
+ proxy-from-env@1.1.0: {}
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
- dev: true
+ punycode@2.3.1: {}
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
+ queue-microtask@1.2.3: {}
- /react-base16-styling@0.9.1:
- resolution: {integrity: sha512-1s0CY1zRBOQ5M3T61wetEpvQmsYSNtWEcdYzyZNxKa8t7oDvaOn9d21xrGezGAHFWLM7SHcktPuPTrvoqxSfKw==}
+ react-base16-styling@0.9.1:
dependencies:
'@babel/runtime': 7.24.7
'@types/base16': 1.0.5
@@ -3624,149 +4624,82 @@ packages:
color: 3.2.1
csstype: 3.1.3
lodash.curry: 4.1.1
- dev: false
- /react-dom@18.3.1(react@18.3.1):
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
+ react-dom@18.3.1(react@18.3.1):
dependencies:
loose-envify: 1.4.0
react: 18.3.1
scheduler: 0.23.2
- dev: false
- /react-error-boundary@4.0.13(react@18.3.1):
- resolution: {integrity: sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==}
- peerDependencies:
- react: '>=16.13.1'
+ react-error-boundary@4.0.13(react@18.3.1):
dependencies:
'@babel/runtime': 7.24.7
react: 18.3.1
- dev: false
- /react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ react-is@16.13.1: {}
- /react-json-tree@0.18.0(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-Qe6HKSXrr++n9Y31nkRJ3XvQMATISpqigH1vEKhLwB56+nk5thTP0ITThpjxY6ZG/ubpVq/aEHIcyLP/OPHxeA==}
- peerDependencies:
- '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-json-tree@0.18.0(@types/react@18.3.2)(react@18.3.1):
dependencies:
'@babel/runtime': 7.24.7
'@types/lodash': 4.17.6
'@types/react': 18.3.2
react: 18.3.1
react-base16-styling: 0.9.1
- dev: false
- /react-number-format@5.4.0(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-NWdICrqLhI7rAS8yUeLVd6Wr4cN7UjJ9IBTS0f/a9i7UB4x4Ti70kGnksBtZ7o4Z7YRbvCMMR/jQmkoOBa/4fg==}
- peerDependencies:
- react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
- react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-number-format@5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
prop-types: 15.8.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- dev: false
- /react-refresh@0.14.2:
- resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ react-refresh@0.14.2: {}
- /react-remove-scroll-bar@2.3.6(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ react-remove-scroll-bar@2.3.6(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
react: 18.3.1
react-style-singleton: 2.2.1(@types/react@18.3.2)(react@18.3.1)
tslib: 2.6.2
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /react-remove-scroll@2.5.10(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ react-remove-scroll@2.5.10(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
react: 18.3.1
react-remove-scroll-bar: 2.3.6(@types/react@18.3.2)(react@18.3.1)
react-style-singleton: 2.2.1(@types/react@18.3.2)(react@18.3.1)
tslib: 2.6.2
use-callback-ref: 1.3.2(@types/react@18.3.2)(react@18.3.1)
use-sidecar: 1.1.2(@types/react@18.3.2)(react@18.3.1)
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /react-resizable-panels@2.0.10(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-1cQl5rp3VDWRL04XXX92lzM1hej2Fe5x+vpjYXcldfOjKwLV5JVrt5T6q0cTB5yfp4Wh+JIdYQ9A5EnZypO1DQ==}
- peerDependencies:
- react: ^16.14.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0
+ react-resizable-panels@2.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- dev: false
- /react-router-dom@6.24.0(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- react: '>=16.8'
- react-dom: '>=16.8'
+ react-router-dom@6.24.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@remix-run/router': 1.17.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-router: 6.24.0(react@18.3.1)
- dev: false
- /react-router@6.24.0(react@18.3.1):
- resolution: {integrity: sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- react: '>=16.8'
+ react-router@6.24.0(react@18.3.1):
dependencies:
'@remix-run/router': 1.17.0
react: 18.3.1
- dev: false
- /react-style-singleton@2.2.1(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ react-style-singleton@2.2.1(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.3.1
tslib: 2.6.2
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /react-textarea-autosize@8.5.3(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==}
- engines: {node: '>=10'}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-textarea-autosize@8.5.3(@types/react@18.3.2)(react@18.3.1):
dependencies:
'@babel/runtime': 7.24.7
react: 18.3.1
@@ -3774,22 +4707,14 @@ packages:
use-latest: 1.2.1(@types/react@18.3.2)(react@18.3.1)
transitivePeerDependencies:
- '@types/react'
- dev: false
- /react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
+ react@18.3.1:
dependencies:
loose-envify: 1.4.0
- dev: false
- /redux@5.0.1:
- resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==}
- dev: false
+ redux@5.0.1: {}
- /reflect.getprototypeof@1.0.6:
- resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
- engines: {node: '>= 0.4'}
+ reflect.getprototypeof@1.0.6:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -3798,62 +4723,39 @@ packages:
get-intrinsic: 1.2.4
globalthis: 1.0.4
which-builtin-type: 1.1.3
- dev: true
- /regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ regenerator-runtime@0.14.1: {}
- /regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
- engines: {node: '>= 0.4'}
+ regexp.prototype.flags@1.5.2:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-errors: 1.3.0
set-function-name: 2.0.2
- dev: true
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ resolve-from@4.0.0: {}
- /resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- dev: true
+ resolve-pkg-maps@1.0.0: {}
- /resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
+ resolve@1.22.8:
dependencies:
is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- /resolve@2.0.0-next.5:
- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
- hasBin: true
+ resolve@2.0.0-next.5:
dependencies:
is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- dev: true
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
+ reusify@1.0.4: {}
- /rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
+ rimraf@3.0.2:
dependencies:
glob: 7.2.3
- dev: true
- /rollup@4.17.2:
- resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
+ rollup@4.17.2:
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
@@ -3874,53 +4776,33 @@ packages:
'@rollup/rollup-win32-ia32-msvc': 4.17.2
'@rollup/rollup-win32-x64-msvc': 4.17.2
fsevents: 2.3.3
- dev: true
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- dev: true
- /safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
+ safe-array-concat@1.1.2:
dependencies:
call-bind: 1.0.7
get-intrinsic: 1.2.4
has-symbols: 1.0.3
isarray: 2.0.5
- dev: true
- /safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
+ safe-regex-test@1.0.3:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
is-regex: 1.1.4
- dev: true
- /scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+ scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
- dev: false
- /semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
- dev: true
+ semver@6.3.1: {}
- /semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
- engines: {node: '>=10'}
- hasBin: true
- dev: true
+ semver@7.6.2: {}
- /set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
+ set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
es-errors: 1.3.0
@@ -3928,70 +4810,43 @@ packages:
get-intrinsic: 1.2.4
gopd: 1.0.1
has-property-descriptors: 1.0.2
- dev: true
- /set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
+ set-function-name@2.0.2:
dependencies:
define-data-property: 1.1.4
es-errors: 1.3.0
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
- dev: true
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
- dev: true
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
+ shebang-regex@3.0.0: {}
- /side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
+ side-channel@1.0.6:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
get-intrinsic: 1.2.4
object-inspect: 1.13.1
- dev: true
- /simple-swizzle@0.2.2:
- resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ simple-swizzle@0.2.2:
dependencies:
is-arrayish: 0.3.2
- dev: false
- /slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
- dev: true
+ slash@3.0.0: {}
- /snake-case@3.0.4:
- resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+ snake-case@3.0.4:
dependencies:
dot-case: 3.0.4
tslib: 2.6.2
- dev: true
- /source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
- dev: true
+ source-map-js@1.2.0: {}
- /source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
+ source-map@0.5.7: {}
- /string.prototype.matchall@4.0.11:
- resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
- engines: {node: '>= 0.4'}
+ string.prototype.matchall@4.0.11:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -4005,160 +4860,96 @@ packages:
regexp.prototype.flags: 1.5.2
set-function-name: 2.0.2
side-channel: 1.0.6
- dev: true
- /string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
+ string.prototype.trim@1.2.9:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
es-object-atoms: 1.0.0
- dev: true
- /string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ string.prototype.trimend@1.0.8:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-object-atoms: 1.0.0
- dev: true
- /string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
+ string.prototype.trimstart@1.0.8:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-object-atoms: 1.0.0
- dev: true
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
- dev: true
- /strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
- dev: true
+ strip-bom@3.0.0: {}
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
- dev: true
+ strip-json-comments@3.1.1: {}
- /stylis@4.2.0:
- resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ stylis@4.2.0: {}
- /supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
- engines: {node: '>=4'}
+ supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
- /supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ supports-preserve-symlinks-flag@1.0.0: {}
- /svg-parser@2.0.4:
- resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
- dev: true
+ svg-parser@2.0.4: {}
- /tabbable@6.2.0:
- resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
- dev: false
+ tabbable@6.2.0: {}
- /tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
- dev: true
+ tapable@2.2.1: {}
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: true
+ text-table@0.2.0: {}
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
+ to-fast-properties@2.0.0: {}
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- dev: true
- /ts-api-utils@1.3.0(typescript@5.4.5):
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
+ ts-api-utils@1.3.0(typescript@5.4.5):
dependencies:
typescript: 5.4.5
- dev: true
- /tsconfig-paths@3.15.0:
- resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ tsconfig-paths@3.15.0:
dependencies:
'@types/json5': 0.0.29
json5: 1.0.2
minimist: 1.2.8
strip-bom: 3.0.0
- dev: true
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+ tslib@2.6.2: {}
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- dev: true
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
+ type-fest@0.20.2: {}
- /type-fest@4.20.1:
- resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==}
- engines: {node: '>=16'}
- dev: false
+ type-fest@4.20.1: {}
- /typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
+ typed-array-buffer@1.0.2:
dependencies:
call-bind: 1.0.7
es-errors: 1.3.0
is-typed-array: 1.1.13
- dev: true
- /typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
+ typed-array-byte-length@1.0.1:
dependencies:
call-bind: 1.0.7
for-each: 0.3.3
gopd: 1.0.1
has-proto: 1.0.3
is-typed-array: 1.1.13
- dev: true
- /typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
+ typed-array-byte-offset@1.0.2:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.7
@@ -4166,11 +4957,8 @@ packages:
gopd: 1.0.1
has-proto: 1.0.3
is-typed-array: 1.1.13
- dev: true
- /typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
+ typed-array-length@1.0.6:
dependencies:
call-bind: 1.0.7
for-each: 0.3.3
@@ -4178,174 +4966,89 @@ packages:
has-proto: 1.0.3
is-typed-array: 1.1.13
possible-typed-array-names: 1.0.0
- dev: true
- /typescript@5.4.5:
- resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
- engines: {node: '>=14.17'}
- hasBin: true
- dev: true
+ typescript@5.4.5: {}
- /unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ unbox-primitive@1.0.2:
dependencies:
call-bind: 1.0.7
has-bigints: 1.0.2
has-symbols: 1.0.3
which-boxed-primitive: 1.0.2
- dev: true
- /undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
- dev: true
+ undici-types@5.26.5: {}
- /update-browserslist-db@1.0.16(browserslist@4.23.0):
- resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
+ update-browserslist-db@1.0.16(browserslist@4.23.0):
dependencies:
browserslist: 4.23.0
escalade: 3.1.2
picocolors: 1.0.1
- dev: true
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- dev: true
- /use-callback-ref@1.3.2(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ use-callback-ref@1.3.2(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
react: 18.3.1
tslib: 2.6.2
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /use-composed-ref@1.3.0(react@18.3.1):
- resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ use-composed-ref@1.3.0(react@18.3.1):
dependencies:
react: 18.3.1
- dev: false
- /use-isomorphic-layout-effect@1.1.2(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ use-isomorphic-layout-effect@1.1.2(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
react: 18.3.1
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /use-latest@1.2.1(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ use-latest@1.2.1(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
react: 18.3.1
use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.2)(react@18.3.1)
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /use-sidecar@1.1.2(@types/react@18.3.2)(react@18.3.1):
- resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
+ use-sidecar@1.1.2(@types/react@18.3.2)(react@18.3.1):
dependencies:
- '@types/react': 18.3.2
detect-node-es: 1.1.0
react: 18.3.1
tslib: 2.6.2
- dev: false
+ optionalDependencies:
+ '@types/react': 18.3.2
- /vite-plugin-svgr@4.2.0(typescript@5.4.5)(vite@5.2.11):
- resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==}
- peerDependencies:
- vite: ^2.6.0 || 3 || 4 || 5
+ vite-plugin-svgr@4.2.0(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12)):
dependencies:
- '@rollup/pluginutils': 5.1.0
+ '@rollup/pluginutils': 5.1.0(rollup@4.17.2)
'@svgr/core': 8.1.0(typescript@5.4.5)
- '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0)
+ '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5))
vite: 5.2.11(@types/node@20.12.12)
transitivePeerDependencies:
- rollup
- supports-color
- typescript
- dev: true
- /vite@5.2.11(@types/node@20.12.12):
- resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
+ vite@5.2.11(@types/node@20.12.12):
dependencies:
- '@types/node': 20.12.12
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.17.2
optionalDependencies:
+ '@types/node': 20.12.12
fsevents: 2.3.3
- dev: true
- /which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ which-boxed-primitive@1.0.2:
dependencies:
is-bigint: 1.0.4
is-boolean-object: 1.1.2
is-number-object: 1.0.7
is-string: 1.0.7
is-symbol: 1.0.4
- dev: true
- /which-builtin-type@1.1.3:
- resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
- engines: {node: '>= 0.4'}
+ which-builtin-type@1.1.3:
dependencies:
function.prototype.name: 1.1.6
has-tostringtag: 1.0.2
@@ -4359,55 +5062,32 @@ packages:
which-boxed-primitive: 1.0.2
which-collection: 1.0.2
which-typed-array: 1.1.15
- dev: true
- /which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
+ which-collection@1.0.2:
dependencies:
is-map: 2.0.3
is-set: 2.0.3
is-weakmap: 2.0.2
is-weakset: 2.0.3
- dev: true
- /which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
+ which-typed-array@1.1.15:
dependencies:
available-typed-arrays: 1.0.7
call-bind: 1.0.7
for-each: 0.3.3
gopd: 1.0.1
has-tostringtag: 1.0.2
- dev: true
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
+ which@2.0.2:
dependencies:
isexe: 2.0.0
- dev: true
- /word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
- dev: true
+ word-wrap@1.2.5: {}
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
+ wrappy@1.0.2: {}
- /yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: true
+ yallist@3.1.1: {}
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
+ yaml@1.10.2: {}
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
+ yocto-queue@0.1.0: {}
diff --git a/public/layer.png b/public/layer.png
new file mode 100644
index 00000000..8b9f032d
Binary files /dev/null and b/public/layer.png differ
diff --git a/src/app.tsx b/src/app.tsx
index 9a52f650..a753256f 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -2,20 +2,19 @@ import "@/style/global.css";
import { QueryClientProvider } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
import { DevTools } from "jotai-devtools";
+import React from "react";
+import ReactDOM from "react-dom/client";
import { Routers } from "./router";
import { queryClient } from "@/lib/tanstack-query/queryClient";
-import React from "react";
-import ReactDOM from "react-dom/client";
-
ReactDOM.createRoot(document.getElementById("root")!).render(
-
-
-
-
-
-
- ,
+
+
+
+
+
+
+ ,
);
diff --git a/src/app/MainPage.tsx b/src/app/MainPage.tsx
index 4df87f27..e40061f7 100644
--- a/src/app/MainPage.tsx
+++ b/src/app/MainPage.tsx
@@ -1,15 +1,33 @@
/*NOTE - 해당 파일은 루트 router를 위한 임시 페이지입니다. 실제 페이지 작성 후 지워주세요! */
import { useAtom } from "jotai";
+import { Button } from "@/component/common/button";
+import { Modal } from "@/component/common/Modal";
+import { Toast } from "@/component/common/Toast";
+import { useModal } from "@/hooks/useModal";
+import { useToast } from "@/hooks/useToast";
import { messageAtom } from "@/store/messageAtom.tsx";
function MainPage() {
const [message] = useAtom(messageAtom);
+ const { open } = useModal();
+ const { toast } = useToast();
+
return (
-
-
welcome to layer 🎇
-
{message}
-
+ <>
+
+
welcome to layer 🎇
+
open({ title: "냠냠", content: "쩝쩝", callBack: () => console.log("확인") })}>{message}
+
+
+ toast.success("성공")} css={{ marginBottom: "1rem" }}>
+ Success Toast
+
+ toast.error("에러")}>Error Toast
+
+
+
+ >
);
}
diff --git a/src/app/login/KakaoLogin.tsx b/src/app/login/KakaoLogin.tsx
deleted file mode 100644
index 19ba178e..00000000
--- a/src/app/login/KakaoLogin.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-const Login = () => {
- const REST_API_KEY: string = import.meta.env.VITE_REST_API_KEY;
- const REDIRECT_URI: string = import.meta.env.VITE_REDIRECT_URI;
- const link = `https://kauth.kakao.com/oauth/authorize?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code`;
-
- const loginHandler = () => {
- window.location.href = link;
- };
-
- return (
-
-
- Hello Kakao Login
-
-
- );
-};
-export default Login;
diff --git a/src/app/login/KakaoLoginRedirection.tsx b/src/app/login/KakaoLoginRedirection.tsx
index 07390ffc..82f7fe43 100644
--- a/src/app/login/KakaoLoginRedirection.tsx
+++ b/src/app/login/KakaoLoginRedirection.tsx
@@ -1,11 +1,12 @@
import { useEffect } from "react";
import { useNavigate } from "react-router-dom";
+
import { api } from "@/api";
//FIXME: 응답 데이터 형식에 따라 수정
-type Response = {};
+type KakaoLoginResponse = { data: string };
-const KaKaoRedirection = () => {
+export function KaKaoRedirection() {
const code = window.location.search;
const navigate = useNavigate();
@@ -13,19 +14,18 @@ const KaKaoRedirection = () => {
// FIXME: 백엔드 API에 따라 주소 수정 필요
api
.post(`kakaoLogin${code}`)
- .then((_: Response) => {
+ .then((data: KakaoLoginResponse) => {
// FIXME: 받은걸 어디에 저장할지 논의 필요 (로그인 저장 방식에 따라 달리짐)
// => 로그인 성공 시 로직 추가
// FIXME: 완료 후 이동 (프로세스에 따라 페이지 URL 변경)
+ console.log(data);
navigate("/test");
})
.catch((err) => {
console.log(err);
});
- }, []);
+ });
// FIXME: 로그인 로딩 디자인 필요 및 이에 따른 코드 추가 개발 필요
return 로그인 중입니다.
;
-};
-
-export default KaKaoRedirection;
+}
diff --git a/src/app/login/LoginPage.tsx b/src/app/login/LoginPage.tsx
new file mode 100644
index 00000000..520d7882
--- /dev/null
+++ b/src/app/login/LoginPage.tsx
@@ -0,0 +1,22 @@
+import { SocialLoginButton } from "@/component/login";
+import { DefaultLayout } from "@/layout/DefaultLayout";
+
+export function LoginPage() {
+ return (
+
+
+
+
+ );
+}
+
+function kakaoLogin() {
+ const REST_API_KEY = import.meta.env.VITE_REST_API_KEY as string;
+ const REDIRECT_URI = import.meta.env.VITE_REDIRECT_URI as string;
+ const link = `https://kauth.kakao.com/oauth/authorize?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code`;
+ window.location.href = link;
+}
+
+function googleLogin() {
+ console.log("구글 로그인 시도");
+}
diff --git a/src/app/test/Staging.tsx b/src/app/test/Staging.tsx
new file mode 100644
index 00000000..c7ebeed4
--- /dev/null
+++ b/src/app/test/Staging.tsx
@@ -0,0 +1,98 @@
+import { css } from "@emotion/react";
+import { Fragment, useEffect, useState } from "react";
+
+import { BottomSheet } from "@/component/BottomSheet";
+import { Button, ButtonProvider } from "@/component/common/button";
+import { CheckBox, CheckBoxGroup } from "@/component/common/checkBox";
+import { Input, InputLabelContainer, Label, TextArea } from "@/component/common/input";
+import { ProgressBar } from "@/component/common/ProgressBar";
+import { Radio, RadioButtonGroup } from "@/component/common/radioButton";
+import { useBottomSheet } from "@/hooks/useBottomSheet.ts";
+import { useCheckBox } from "@/hooks/useCheckBox";
+import { useInput } from "@/hooks/useInput";
+import { useRadioButton } from "@/hooks/useRadioButton";
+import { DefaultLayout } from "@/layout/DefaultLayout.tsx";
+
+export default function Staging() {
+ const { isChecked: isRadioChecked, onChange, selectedValue } = useRadioButton();
+ const { isChecked: isCheckBoxChecked, toggle, selectedValues } = useCheckBox();
+ const { openBottomSheet, bottomSheetState } = useBottomSheet();
+ const [number, setNumber] = useState(0);
+ const { value: layerName, handleInputChange: handleChangeName } = useInput();
+ const { value: description, handleInputChange: handleChangeDescription } = useInput();
+
+ useEffect(() => {
+ console.log("라디오 버튼 선택 value:", selectedValue);
+ }, [selectedValue]);
+
+ useEffect(() => {
+ console.log("체크박스 선택 values:", selectedValues);
+ }, [selectedValues]);
+
+ useEffect(() => {
+ console.log("현재 바텀 시트 상태: ", bottomSheetState);
+ }, [bottomSheetState]);
+
+ return (
+
+
+ setNumber(number + 1)}>업
+ setNumber(number - 1)}>다운
+ 그냥 그저 그런 버튼
+ 그냥 그저 그런 버튼
+ 그냥 그저 그런 버튼
+ 그냥 그저 그런 버튼
+
+
+ 라디오버튼
+
+ 주 1회
+ 월 1회
+ 분기별
+ 프로젝트 끝난 후
+
+
+
+ 체크박스
+
+ 주 1회
+ 월 1회
+ 분기별
+ 프로젝트 끝난 후
+
+
+
+
+ 회고 이름
+
+
+
+
+ 한 줄 설명
+
+
+
+
+ 기본 버튼
+ 하늘색 버튼
+ 회색 버튼
+ 비활성화 버튼
+
+
+ 완전 이거 럭키비키자냐?
+
+ }
+ handler={true}
+ />
+
+ );
+}
diff --git a/src/assets/react.svg b/src/assets/react.svg
deleted file mode 100644
index 6c87de9b..00000000
--- a/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/assets/svgs/bottom-sheet/ic_quit.svg b/src/assets/svgs/bottom-sheet/ic_quit.svg
new file mode 100644
index 00000000..9d67cb28
--- /dev/null
+++ b/src/assets/svgs/bottom-sheet/ic_quit.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/assets/svgs/bottom-sheet/index.ts b/src/assets/svgs/bottom-sheet/index.ts
new file mode 100644
index 00000000..0b4bd1bc
--- /dev/null
+++ b/src/assets/svgs/bottom-sheet/index.ts
@@ -0,0 +1 @@
+export { default as ic_quit } from "./ic_quit.svg?react";
diff --git a/src/assets/svgs/common/ic_back.svg b/src/assets/svgs/common/ic_back.svg
new file mode 100644
index 00000000..7db280d8
--- /dev/null
+++ b/src/assets/svgs/common/ic_back.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/assets/svgs/common/ic_check.svg b/src/assets/svgs/common/ic_check.svg
new file mode 100644
index 00000000..a67205b4
--- /dev/null
+++ b/src/assets/svgs/common/ic_check.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/assets/svgs/common/index.ts b/src/assets/svgs/common/index.ts
new file mode 100644
index 00000000..89cc2442
--- /dev/null
+++ b/src/assets/svgs/common/index.ts
@@ -0,0 +1,2 @@
+export { default as ic_back } from "./ic_back.svg?react";
+export { default as ic_check } from "./ic_check.svg?react";
diff --git a/src/assets/svgs/index.ts b/src/assets/svgs/index.ts
new file mode 100644
index 00000000..0ef0236a
--- /dev/null
+++ b/src/assets/svgs/index.ts
@@ -0,0 +1,3 @@
+export * from "./common";
+export * from "./toast";
+export * from "./bottom-sheet";
diff --git a/src/assets/svgs/spriteSvgs/loginLogo.svg b/src/assets/svgs/spriteSvgs/loginLogo.svg
new file mode 100644
index 00000000..ec5f8590
--- /dev/null
+++ b/src/assets/svgs/spriteSvgs/loginLogo.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/assets/svgs/toast/ic_success.svg b/src/assets/svgs/toast/ic_success.svg
new file mode 100644
index 00000000..08351fe0
--- /dev/null
+++ b/src/assets/svgs/toast/ic_success.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/assets/svgs/toast/index.ts b/src/assets/svgs/toast/index.ts
new file mode 100644
index 00000000..70380b1b
--- /dev/null
+++ b/src/assets/svgs/toast/index.ts
@@ -0,0 +1 @@
+export { default as ic_success } from "./ic_success.svg?react";
diff --git a/src/component/BottomSheet/BottomSheet.tsx b/src/component/BottomSheet/BottomSheet.tsx
new file mode 100644
index 00000000..ea09fb71
--- /dev/null
+++ b/src/component/BottomSheet/BottomSheet.tsx
@@ -0,0 +1,73 @@
+import { css } from "@emotion/react";
+import { ReactElement, useEffect, useState } from "react";
+
+import { MIN_Y } from "@/component/BottomSheet/BottomSheetOption.ts";
+import { BottomSheetContent, BottomSheetHeader } from "@/component/BottomSheet/component";
+import { Portal } from "@/component/common/Portal/Portal.tsx";
+import { useBottomSheet, useSetBottomSheet } from "@/hooks/useBottomSheet.ts";
+
+export type BottomSheetType = {
+ title?: string;
+ contents: ReactElement;
+ handler: boolean;
+ sheetHeight?: number;
+};
+
+export function BottomSheet({ title, contents, handler = false, sheetHeight = 349 }: BottomSheetType) {
+ const { sheet, content } = useSetBottomSheet({ handler, sheetHeight });
+ const { bottomSheetState } = useBottomSheet();
+ const [height, _] = useState(sheetHeight);
+
+ useEffect(() => {
+ sheet.current!.style.setProperty("transform", ``);
+ }, [bottomSheetState]);
+
+ return (
+
+
+
+
+ {contents}
+
+
+ );
+}
diff --git a/src/component/BottomSheet/BottomSheetOption.ts b/src/component/BottomSheet/BottomSheetOption.ts
new file mode 100644
index 00000000..7131736d
--- /dev/null
+++ b/src/component/BottomSheet/BottomSheetOption.ts
@@ -0,0 +1,2 @@
+export const MIN_Y = 0; // 바텀시트가 최대로 높이 올라갔을 때의 y 값
+export const MAX_Y = window.innerHeight - 80; // 바텀시트가 최소로 내려갔을 때의 y 값
diff --git a/src/component/BottomSheet/component/BottomSheetContent.tsx b/src/component/BottomSheet/component/BottomSheetContent.tsx
new file mode 100644
index 00000000..ca9c7538
--- /dev/null
+++ b/src/component/BottomSheet/component/BottomSheetContent.tsx
@@ -0,0 +1,33 @@
+import { css } from "@emotion/react";
+import { forwardRef, PropsWithChildren } from "react";
+
+export const BottomSheetContent = forwardRef(function Content({ children }, ref) {
+ return (
+
+ {children}
+
+ );
+});
diff --git a/src/component/BottomSheet/component/BottomSheetHeader.tsx b/src/component/BottomSheet/component/BottomSheetHeader.tsx
new file mode 100644
index 00000000..4b2be758
--- /dev/null
+++ b/src/component/BottomSheet/component/BottomSheetHeader.tsx
@@ -0,0 +1,65 @@
+import { css } from "@emotion/react";
+
+import { BottomSheetType } from "@/component/BottomSheet/BottomSheet.tsx";
+import { Icon } from "@/component/common/Icon";
+import { useBottomSheet } from "@/hooks/useBottomSheet.ts";
+
+export function BottomSheetHeader({ title, handler }: Pick) {
+ const { closeBottomSheet } = useBottomSheet();
+
+ if (!title && !handler) return;
+ return (
+
+ {handler && (
+
+ )}
+ {title && (
+
+
+ {title}
+
+ {/* FIXME: 아이콘 영역 */}
+
+
+ )}
+
+ );
+}
diff --git a/src/component/BottomSheet/component/index.ts b/src/component/BottomSheet/component/index.ts
new file mode 100644
index 00000000..42f12fb9
--- /dev/null
+++ b/src/component/BottomSheet/component/index.ts
@@ -0,0 +1,2 @@
+export { BottomSheetContent } from "./BottomSheetContent.tsx";
+export { BottomSheetHeader } from "./BottomSheetHeader.tsx";
diff --git a/src/component/BottomSheet/index.ts b/src/component/BottomSheet/index.ts
new file mode 100644
index 00000000..1bb75a0e
--- /dev/null
+++ b/src/component/BottomSheet/index.ts
@@ -0,0 +1 @@
+export { BottomSheet } from "./BottomSheet.tsx";
diff --git a/src/component/common/Card/ListItemCard.tsx b/src/component/common/Card/ListItemCard.tsx
new file mode 100644
index 00000000..3c86eba4
--- /dev/null
+++ b/src/component/common/Card/ListItemCard.tsx
@@ -0,0 +1,29 @@
+import { css } from "@emotion/react";
+
+type ListItemCardProps = {
+ variant?: "default" | "theme";
+ height?: string;
+ borderRadius?: string;
+ children: React.ReactNode;
+};
+
+const ListItemCard = ({ variant = "default", height = "5rem", borderRadius = ".8rem", children }: ListItemCardProps) => {
+ return (
+
+ {children}
+
+ );
+};
+
+export default ListItemCard;
diff --git a/src/component/common/Icon/Icon.tsx b/src/component/common/Icon/Icon.tsx
new file mode 100644
index 00000000..a3e56df3
--- /dev/null
+++ b/src/component/common/Icon/Icon.tsx
@@ -0,0 +1,34 @@
+import { css } from "@emotion/react";
+import { memo } from "react";
+
+import * as icons from "@/assets/svgs";
+
+type IconType = keyof typeof icons;
+
+type Props = {
+ icon: IconType;
+ color?: string;
+ size?: string | number;
+ onClick?: () => void;
+} & React.SVGProps;
+
+const DEFAULT_ICON_COLOR = "#000000";
+
+export const Icon = memo(function Icon({ icon, color = DEFAULT_ICON_COLOR, size = "2rem", onClick, ...props }: Props) {
+ // eslint-disable-next-line import/namespace
+ const SVGIcon = icons[icon];
+ const widthRem = typeof size === "number" ? `${size}rem` : size;
+
+ return (
+
+ );
+});
diff --git a/src/component/common/Icon/index.ts b/src/component/common/Icon/index.ts
new file mode 100644
index 00000000..87604f19
--- /dev/null
+++ b/src/component/common/Icon/index.ts
@@ -0,0 +1 @@
+export { Icon } from "@/component/common/Icon/Icon";
diff --git a/src/component/common/Modal/Modal.tsx b/src/component/common/Modal/Modal.tsx
new file mode 100644
index 00000000..9f76f0af
--- /dev/null
+++ b/src/component/common/Modal/Modal.tsx
@@ -0,0 +1,68 @@
+import { css } from "@emotion/react";
+import { useEffect, useRef } from "react";
+
+import { Portal } from "@/component/common/Portal";
+import { useModal } from "@/hooks/useModal";
+
+export function Modal() {
+ const { modalDataState, close } = useModal();
+ const modalRef = useRef(null);
+
+ // 모달 영역 이외 클릭 시 모달 닫기
+ useEffect(() => {
+ const listener = (e: MouseEvent) => {
+ if (modalRef.current && !modalRef.current.contains(e.target as Node)) {
+ close();
+ }
+ };
+ document.addEventListener("mousedown", listener);
+ return () => {
+ document.removeEventListener("mousedown", listener);
+ };
+ }, [close]);
+
+ // 모달 오픈 시 스크롤 금지
+ useEffect(() => {
+ document.body.style.overflow = modalDataState.isOpen ? "hidden" : "auto";
+ }, [modalDataState.isOpen]);
+
+ if (!modalDataState.isOpen) return null;
+
+ return (
+ // FIXME: 추후 디자인 토큰 연동 후 컬러 값 변경
+ // FIXME: 추후 Modal 디자인 확정 시 Body 형태 변경
+
+
+
+
{modalDataState.title}
+
{modalDataState.content}
+
확인
+
+
+
+ );
+}
diff --git a/src/component/common/Modal/index.ts b/src/component/common/Modal/index.ts
new file mode 100644
index 00000000..0920f43c
--- /dev/null
+++ b/src/component/common/Modal/index.ts
@@ -0,0 +1 @@
+export { Modal } from "@/component/common/Modal/Modal";
diff --git a/src/component/common/Portal/Portal.tsx b/src/component/common/Portal/Portal.tsx
new file mode 100644
index 00000000..702f9d6f
--- /dev/null
+++ b/src/component/common/Portal/Portal.tsx
@@ -0,0 +1,12 @@
+import { ReactNode } from "react";
+import { createPortal } from "react-dom";
+
+type Props = {
+ children: ReactNode;
+ id: string;
+};
+
+export const Portal = ({ id, children }: Props) => {
+ const el = document.getElementById(`${id}`) as HTMLElement;
+ return createPortal(children, el);
+};
diff --git a/src/component/common/Portal/index.ts b/src/component/common/Portal/index.ts
new file mode 100644
index 00000000..4723b974
--- /dev/null
+++ b/src/component/common/Portal/index.ts
@@ -0,0 +1 @@
+export { Portal } from "@/component/common/Portal/Portal";
diff --git a/src/component/common/ProgressBar/ProgressBar.tsx b/src/component/common/ProgressBar/ProgressBar.tsx
new file mode 100644
index 00000000..7d34c3c3
--- /dev/null
+++ b/src/component/common/ProgressBar/ProgressBar.tsx
@@ -0,0 +1,50 @@
+import { css } from "@emotion/react";
+import { Fragment } from "react";
+
+type ProgressBarProps = {
+ curPage: number;
+ lastPage: number;
+} & Omit, "type">;
+
+export function ProgressBar({ curPage, lastPage, ...props }: ProgressBarProps) {
+ if (curPage > lastPage) curPage = lastPage;
+
+ const segments = Array.from({ length: lastPage }, (_, i) => i < curPage);
+
+ return (
+
+ {segments.map((isActive, index) => (
+
+
+
+ ))}
+
+ );
+}
diff --git a/src/component/common/ProgressBar/index.ts b/src/component/common/ProgressBar/index.ts
new file mode 100644
index 00000000..4d83fe2b
--- /dev/null
+++ b/src/component/common/ProgressBar/index.ts
@@ -0,0 +1 @@
+export { ProgressBar } from "./ProgressBar.tsx";
diff --git a/src/component/common/Spacing/Spacing.tsx b/src/component/common/Spacing/Spacing.tsx
new file mode 100644
index 00000000..9d35622d
--- /dev/null
+++ b/src/component/common/Spacing/Spacing.tsx
@@ -0,0 +1,15 @@
+import styled from "@emotion/styled";
+
+interface SpacingProps {
+ size: number;
+ direction?: "vertical" | "horizontal";
+}
+
+export const Spacing = styled.div`
+ ${({ size, direction = "vertical" }) =>
+ direction === "vertical"
+ ? `
+ height: ${size}rem
+ `
+ : `width: ${size}rem`}
+`;
diff --git a/src/component/common/Spacing/index.ts b/src/component/common/Spacing/index.ts
new file mode 100644
index 00000000..f4908f75
--- /dev/null
+++ b/src/component/common/Spacing/index.ts
@@ -0,0 +1 @@
+export { Spacing } from "./Spacing.tsx";
diff --git a/src/component/common/Toast/Toast.tsx b/src/component/common/Toast/Toast.tsx
new file mode 100644
index 00000000..a0e1819e
--- /dev/null
+++ b/src/component/common/Toast/Toast.tsx
@@ -0,0 +1,29 @@
+import { css } from "@emotion/react";
+
+import { Portal } from "@/component/common/Portal";
+import { ToastItem } from "@/component/common/Toast";
+import { useToast } from "@/hooks/useToast";
+
+export function Toast() {
+ const { toastDataState } = useToast();
+
+ return (
+
+
+ {toastDataState.map((toast) => (
+
+ ))}
+
+
+ );
+}
diff --git a/src/component/common/Toast/ToastItem.tsx b/src/component/common/Toast/ToastItem.tsx
new file mode 100644
index 00000000..b0f06e7e
--- /dev/null
+++ b/src/component/common/Toast/ToastItem.tsx
@@ -0,0 +1,84 @@
+import { css } from "@emotion/react";
+import { useRef, useState } from "react";
+
+import { Icon } from "@/component/common/Icon";
+import { useToast } from "@/hooks/useToast";
+import { ANIMATION } from "@/style/common/animation";
+import { toastMap } from "@/style/common/toast";
+import { ToastType } from "@/types/toast";
+import { collapseToast } from "@/util/toast/collapseToast";
+
+export function ToastItem({ type, content, id, duration = 3000 }: ToastType) {
+ const { removeToast } = useToast();
+ const toastRef = useRef(null);
+ const [isClosing, setIsClosing] = useState(false);
+ const [isPaused, setIsPaused] = useState(false);
+
+ const handleExitingAnimationEnd = () => {
+ setIsClosing(true);
+ collapseToast(toastRef.current!, () => {
+ removeToast(id);
+ });
+ };
+
+ const handleTriggerAnimationEnd = () => {
+ duration && setIsClosing(true);
+ };
+
+ const handleClick = () => {
+ handleTriggerAnimationEnd();
+ };
+
+ const handleMouseEnter = () => {
+ duration && setIsPaused(true);
+ };
+
+ const handleMouseLeave = () => {
+ duration && setIsPaused(false);
+ };
+
+ const getIcon = () => {
+ switch (type) {
+ case "success":
+ return ;
+ case "error":
+ return ;
+ }
+ };
+
+ return (
+
+
+ {getIcon()}
+ {content}
+
+
+
+ );
+}
diff --git a/src/component/common/Toast/index.ts b/src/component/common/Toast/index.ts
new file mode 100644
index 00000000..52f67247
--- /dev/null
+++ b/src/component/common/Toast/index.ts
@@ -0,0 +1,2 @@
+export { Toast } from "./Toast";
+export { ToastItem } from "./ToastItem";
diff --git a/src/component/common/appBar/AppBar.tsx b/src/component/common/appBar/AppBar.tsx
new file mode 100644
index 00000000..69284478
--- /dev/null
+++ b/src/component/common/appBar/AppBar.tsx
@@ -0,0 +1,66 @@
+import { css } from "@emotion/react";
+import { useNavigate } from "react-router-dom";
+
+import { Icon } from "@/component/common/Icon";
+
+export type AppBarProps = {
+ title?: string;
+ LeftComp?: React.ReactNode;
+ RightComp?: React.ReactNode;
+};
+
+//FIXME: 색깔 디자인 토큰에 따라 변경
+function Back() {
+ const navigate = useNavigate();
+ return (
+ {
+ navigate(-1);
+ }}
+ />
+ );
+}
+
+//FIXME : 디자인 토큰에 따라 색깔 변경, 폰트 수정
+export function AppBar({ title, LeftComp = , RightComp =
}: AppBarProps) {
+ return (
+ <>
+
+ {LeftComp}
+
+ {title}
+
+ {RightComp}
+
+
+ >
+ );
+}
diff --git a/src/component/common/appBar/index.ts b/src/component/common/appBar/index.ts
new file mode 100644
index 00000000..9ac924ce
--- /dev/null
+++ b/src/component/common/appBar/index.ts
@@ -0,0 +1,2 @@
+export { AppBar } from "./AppBar";
+export type { AppBarProps } from "./AppBar";
diff --git a/src/component/common/button/Button.tsx b/src/component/common/button/Button.tsx
new file mode 100644
index 00000000..0bf273ac
--- /dev/null
+++ b/src/component/common/button/Button.tsx
@@ -0,0 +1,47 @@
+import { css } from "@emotion/react";
+import { PropsWithChildren } from "react";
+
+export type ButtonProps = {
+ colorSchema?: string;
+ disabled?: boolean;
+} & Omit, "type">;
+
+export function Button({ children, colorSchema = "primary", disabled = false, ...props }: PropsWithChildren) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/src/component/common/button/ButtonProvider.tsx b/src/component/common/button/ButtonProvider.tsx
new file mode 100644
index 00000000..f051e4f6
--- /dev/null
+++ b/src/component/common/button/ButtonProvider.tsx
@@ -0,0 +1,56 @@
+import { css } from "@emotion/react";
+import { Children, cloneElement, isValidElement, PropsWithChildren } from "react";
+
+import { Button, ButtonProps } from "@/component/common/button/Button.tsx";
+
+type SortSet = "vertical" | "horizontal";
+
+type ButtonProviderProps = {
+ sort?: SortSet;
+} & ButtonProps;
+
+const Primary = ({ ...props }) => {
+ return ;
+};
+
+const Sky = ({ ...props }) => {
+ return ;
+};
+
+const Gray = ({ ...props }) => {
+ return ;
+};
+
+export const ButtonProvider = ({ sort = "vertical", children, ...props }: PropsWithChildren) => {
+ return (
+
+ {Children.map(children, (child) => {
+ if (isValidElement(child)) {
+ return cloneElement(child, { ...props });
+ }
+ })}
+
+ );
+};
+
+ButtonProvider.Primary = Primary;
+ButtonProvider.Gray = Gray;
+ButtonProvider.Sky = Sky;
diff --git a/src/component/common/button/index.ts b/src/component/common/button/index.ts
new file mode 100644
index 00000000..aaee1061
--- /dev/null
+++ b/src/component/common/button/index.ts
@@ -0,0 +1,2 @@
+export { Button } from "./Button.tsx";
+export { ButtonProvider } from "./ButtonProvider";
diff --git a/src/component/common/checkBox/CheckBox.tsx b/src/component/common/checkBox/CheckBox.tsx
new file mode 100644
index 00000000..3b982d4c
--- /dev/null
+++ b/src/component/common/checkBox/CheckBox.tsx
@@ -0,0 +1,44 @@
+import { css } from "@emotion/react";
+import { useContext } from "react";
+
+import { CheckBoxContext } from "./CheckBoxGroup";
+
+import ListItemCard from "@/component/common/Card/ListItemCard";
+
+type CheckBoxProps = {
+ value: string;
+ children: React.ReactNode;
+};
+
+export function CheckBox({ value, children }: CheckBoxProps) {
+ const checkboxContext = useContext(CheckBoxContext);
+ return (
+
+
+ {children}
+
+ {
+ checkboxContext?.onChange && checkboxContext.onChange(e.target.value);
+ }}
+ css={css`
+ display: none;
+ `}
+ />
+
+ );
+}
diff --git a/src/component/common/checkBox/CheckBoxGroup.tsx b/src/component/common/checkBox/CheckBoxGroup.tsx
new file mode 100644
index 00000000..32e0fbf9
--- /dev/null
+++ b/src/component/common/checkBox/CheckBoxGroup.tsx
@@ -0,0 +1,27 @@
+import { css } from "@emotion/react";
+import { createContext } from "react";
+
+export type CheckBoxContextState = {
+ isChecked: (value: string) => boolean;
+ onChange: (value: string) => void;
+};
+
+export const CheckBoxContext = createContext(undefined);
+
+type CheckBoxGroupProps = {
+ children: React.ReactNode;
+} & CheckBoxContextState;
+
+export function CheckBoxGroup({ children, ...props }: CheckBoxGroupProps) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/src/component/common/checkBox/index.ts b/src/component/common/checkBox/index.ts
new file mode 100644
index 00000000..1c96a44e
--- /dev/null
+++ b/src/component/common/checkBox/index.ts
@@ -0,0 +1,2 @@
+export { CheckBox } from "./CheckBox";
+export { CheckBoxGroup } from "./CheckBoxGroup";
diff --git a/src/component/common/header/Header.tsx b/src/component/common/header/Header.tsx
new file mode 100644
index 00000000..96962823
--- /dev/null
+++ b/src/component/common/header/Header.tsx
@@ -0,0 +1,83 @@
+import { css } from "@emotion/react";
+import { Fragment } from "react";
+
+import { Typography } from "@/component/common/typography";
+import { DESIGN_SYSTEM_COLOR } from "@/style/variable.ts";
+
+type HeaderProps = {
+ theme?: ThemeSet;
+ title: string;
+ contents?: string;
+};
+
+type ThemeSet = "white" | "primary";
+
+export function Header({ theme = "primary", title, contents }: HeaderProps) {
+ const themeSet: Record = {
+ primary: {
+ titleColor: "black",
+ contentsColor: "grey500",
+ },
+ white: {
+ titleColor: "white",
+ contentsColor: "grey300",
+ },
+ };
+
+ const parseTextToJSX = (text: string) => {
+ const regex = /\{(.*?)\}|([^{}]+)/g;
+ const matches = text.matchAll(regex);
+
+ return Array.from(matches).map((match, index) => {
+ if (match[1]) {
+ return (
+
+ {match[1]}
+
+ );
+ } else {
+ return {match[2]} ;
+ }
+ });
+ };
+
+ return (
+
+
+
+ {title.split("\n").map((item) => (
+
+ {parseTextToJSX(item).map((title, index) => (
+
+ {title}
+
+ ))}
+
+ ))}
+
+ {contents &&
+ contents.split("\n").map((item) => (
+
+ {parseTextToJSX(item).map((contents, index) => (
+
+ {contents}
+
+ ))}
+
+ ))}
+
+
+ );
+}
diff --git a/src/component/common/header/index.ts b/src/component/common/header/index.ts
new file mode 100644
index 00000000..76db0637
--- /dev/null
+++ b/src/component/common/header/index.ts
@@ -0,0 +1 @@
+export { Header } from "./Header.tsx";
diff --git a/src/component/common/input/Input.tsx b/src/component/common/input/Input.tsx
new file mode 100644
index 00000000..21b3e5b2
--- /dev/null
+++ b/src/component/common/input/Input.tsx
@@ -0,0 +1,43 @@
+import { css } from "@emotion/react";
+import { forwardRef, useContext } from "react";
+
+import { InputContext } from "./InputLabelContainer";
+
+import { Typography } from "@/component/common/typography";
+
+type InputProps = {
+ value: string;
+ onChange: (e: React.ChangeEvent) => void;
+ width?: string;
+ count?: boolean;
+} & React.InputHTMLAttributes;
+
+export const Input = forwardRef(function ({ id, width = "100%", count, ...props }: InputProps) {
+ const { maxLength, value } = props;
+ const inputContext = useContext(InputContext);
+ return (
+
+
+
+ {/* FIXME - typography 컬러 넣기 !! */}
+ {count && maxLength && {`${value.length}/${maxLength}`} }
+
+
+ );
+});
+
+Input.displayName = "Input";
diff --git a/src/component/common/input/InputLabelContainer.tsx b/src/component/common/input/InputLabelContainer.tsx
new file mode 100644
index 00000000..c868b195
--- /dev/null
+++ b/src/component/common/input/InputLabelContainer.tsx
@@ -0,0 +1,27 @@
+import { css } from "@emotion/react";
+import { createContext } from "react";
+
+type InputLabelContainerProps = {
+ id: string;
+ children: React.ReactNode;
+};
+
+export const InputContext = createContext<{ id: string } | undefined>(undefined);
+
+export function InputLabelContainer({ id, children }: InputLabelContainerProps) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/src/component/common/input/Label.tsx b/src/component/common/input/Label.tsx
new file mode 100644
index 00000000..1c7486a5
--- /dev/null
+++ b/src/component/common/input/Label.tsx
@@ -0,0 +1,63 @@
+import { css, Interpolation, Theme } from "@emotion/react";
+import { useContext } from "react";
+
+import { InputContext } from "./InputLabelContainer";
+
+type LabelProps = {
+ order?: number;
+ styles?: Interpolation;
+} & React.LabelHTMLAttributes;
+
+export function Label({ id, children, order, styles }: LabelProps) {
+ const inputContext = useContext(InputContext);
+
+ return (
+
+ {order && (
+
+ {/* FIXME text 컴포넌트 적용하기 */}
+
+ {order}
+
+
+ )}
+
+ {children}
+
+
+ );
+}
diff --git a/src/component/common/input/TextArea.tsx b/src/component/common/input/TextArea.tsx
new file mode 100644
index 00000000..253aaf21
--- /dev/null
+++ b/src/component/common/input/TextArea.tsx
@@ -0,0 +1,54 @@
+import { css } from "@emotion/react";
+import { forwardRef, useContext } from "react";
+
+import { InputContext } from "./InputLabelContainer";
+
+import { Typography } from "@/component/common/typography";
+
+type TextAreaProps = {
+ value: string;
+ onChange: (e: React.ChangeEvent) => void;
+ width?: string;
+ height?: string;
+ count?: boolean;
+} & React.TextareaHTMLAttributes;
+
+export const TextArea = forwardRef(function ({ id, width = "100%", height = "8.4rem", count, ...props }: TextAreaProps) {
+ const { maxLength, value } = props;
+ const textareaContext = useContext(InputContext);
+ return (
+
+
+
+ {count && maxLength && (
+
+ {`${value.length}/${maxLength}`}
+
+ )}
+
+
+ );
+});
+
+TextArea.displayName = "TextArea";
diff --git a/src/component/common/input/index.ts b/src/component/common/input/index.ts
new file mode 100644
index 00000000..de0f6351
--- /dev/null
+++ b/src/component/common/input/index.ts
@@ -0,0 +1,4 @@
+export { Input } from "./Input";
+export { Label } from "./Label";
+export { InputLabelContainer } from "./InputLabelContainer";
+export { TextArea } from "./TextArea";
diff --git a/src/component/common/radioButton/Radio.tsx b/src/component/common/radioButton/Radio.tsx
new file mode 100644
index 00000000..6c668d62
--- /dev/null
+++ b/src/component/common/radioButton/Radio.tsx
@@ -0,0 +1,45 @@
+import { css } from "@emotion/react";
+import { useContext } from "react";
+
+import { RadioContext } from "./RadioButtonGroup";
+
+import ListItemCard from "@/component/common/Card/ListItemCard";
+
+type RadioProps = {
+ value: string;
+ children: React.ReactNode;
+};
+
+export function Radio({ value, children }: RadioProps) {
+ const radioContext = useContext(RadioContext);
+ return (
+
+
+ {children}
+
+ {
+ radioContext?.onChange && radioContext.onChange(e.target.value);
+ }}
+ css={css`
+ display: none;
+ `}
+ />
+
+ );
+}
diff --git a/src/component/common/radioButton/RadioButtonGroup.tsx b/src/component/common/radioButton/RadioButtonGroup.tsx
new file mode 100644
index 00000000..1093bc5d
--- /dev/null
+++ b/src/component/common/radioButton/RadioButtonGroup.tsx
@@ -0,0 +1,28 @@
+import { css } from "@emotion/react";
+import { createContext } from "react";
+
+export type RadioContextState = {
+ radioName: string;
+ isChecked: (value: string) => boolean;
+ onChange: (value: string) => void;
+};
+
+export const RadioContext = createContext(undefined);
+
+type RadioButtonGroupProps = {
+ children: React.ReactNode;
+} & RadioContextState;
+
+export function RadioButtonGroup({ children, ...props }: RadioButtonGroupProps) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/src/component/common/radioButton/index.ts b/src/component/common/radioButton/index.ts
new file mode 100644
index 00000000..054777c4
--- /dev/null
+++ b/src/component/common/radioButton/index.ts
@@ -0,0 +1,2 @@
+export { Radio } from "./Radio";
+export { RadioButtonGroup } from "./RadioButtonGroup";
diff --git a/src/component/common/typography/Typography.tsx b/src/component/common/typography/Typography.tsx
new file mode 100644
index 00000000..afdfb705
--- /dev/null
+++ b/src/component/common/typography/Typography.tsx
@@ -0,0 +1,26 @@
+import { css } from "@emotion/react";
+
+import { DESIGN_SYSTEM_TEXT, DESIGN_SYSTEM_COLOR } from "@/style/variable";
+
+type TextTags = "span" | "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "strong" | "em" | "small" | "q" | "u";
+
+type TypographyProps = {
+ as?: Extract;
+ variant?: keyof typeof DESIGN_SYSTEM_TEXT;
+ color?: keyof typeof DESIGN_SYSTEM_COLOR;
+ children: React.ReactElement | string;
+};
+
+// FIXME: 디자인 토큰에 따른 default 값 수정
+export function Typography({ as: Component = "span", variant = "B1", color = "black", children }: TypographyProps) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/src/component/common/typography/index.ts b/src/component/common/typography/index.ts
new file mode 100644
index 00000000..7c1e31a8
--- /dev/null
+++ b/src/component/common/typography/index.ts
@@ -0,0 +1 @@
+export { Typography } from "./Typography";
diff --git a/src/component/login/LoginSpriteSvg.tsx b/src/component/login/LoginSpriteSvg.tsx
new file mode 100644
index 00000000..d0cfde10
--- /dev/null
+++ b/src/component/login/LoginSpriteSvg.tsx
@@ -0,0 +1,10 @@
+import loginLogo from "@/assets/svgs/spriteSvgs/loginLogo.svg";
+import { loginType } from "@/types/loginType";
+
+export function LoginSpriteSvg({ type }: loginType) {
+ return (
+
+
+
+ );
+}
diff --git a/src/component/login/SocialLoginButton.tsx b/src/component/login/SocialLoginButton.tsx
new file mode 100644
index 00000000..3df78251
--- /dev/null
+++ b/src/component/login/SocialLoginButton.tsx
@@ -0,0 +1,36 @@
+import { css } from "@emotion/react";
+
+import { LoginSpriteSvg } from "./LoginSpriteSvg";
+
+import { loginTypeProvider, loginBtnProps, backgroundColors } from "@/types/loginType";
+
+export function SocialLoginButton({ type, handler }: loginBtnProps) {
+ return (
+ {
+ handler();
+ }}
+ >
+
+
+
+ {loginTypeProvider[type]}로 로그인
+
+ );
+}
diff --git a/src/component/login/index.ts b/src/component/login/index.ts
new file mode 100644
index 00000000..b8e7ae22
--- /dev/null
+++ b/src/component/login/index.ts
@@ -0,0 +1 @@
+export { SocialLoginButton } from "./SocialLoginButton";
diff --git a/src/hooks/useBottomSheet.ts b/src/hooks/useBottomSheet.ts
new file mode 100644
index 00000000..dd7c4e04
--- /dev/null
+++ b/src/hooks/useBottomSheet.ts
@@ -0,0 +1,180 @@
+import { useRef, useEffect } from "react";
+
+import { BottomSheetType } from "@/component/BottomSheet/BottomSheet.tsx";
+import { MIN_Y, MAX_Y } from "@/component/BottomSheet/BottomSheetOption.ts";
+import { useStore } from "@/utils/externalStore/create.ts";
+import { externalStore } from "@/utils/externalStore/hook.ts";
+
+type BottomSheetMetrics = {
+ touchStart: {
+ sheetY: number;
+ touchY: number;
+ };
+ touchMove: {
+ prevTouchY?: number;
+ movingDirection: "none" | "down" | "up";
+ };
+ isContentAreaTouched: boolean;
+};
+
+const bottomSheetStore = externalStore(false);
+
+export const useBottomSheet = () => {
+ const [bottomSheetState, setBottomSheetState] = useStore(bottomSheetStore);
+ const openBottomSheet = () => {
+ setBottomSheetState(true);
+ };
+
+ const closeBottomSheet = () => {
+ setBottomSheetState(false);
+ };
+
+ return { openBottomSheet, closeBottomSheet, bottomSheetState } as const;
+};
+
+export const useSetBottomSheet = ({ handler, sheetHeight }: Pick) => {
+ const { bottomSheetState, closeBottomSheet } = useBottomSheet();
+ const sheet = useRef(null);
+ const content = useRef(null);
+ const metrics = useRef({
+ touchStart: {
+ sheetY: 0,
+ touchY: 0,
+ },
+ touchMove: {
+ prevTouchY: 0,
+ movingDirection: "none",
+ },
+ isContentAreaTouched: false,
+ });
+
+ useEffect(() => {
+ // Even if there is no handler bar, it doesn't fire the event.
+ if (!handler) return;
+ const canUserMoveBottomSheet = () => {
+ const { touchMove, isContentAreaTouched } = metrics.current;
+
+ if (!isContentAreaTouched) {
+ return true;
+ }
+
+ if (touchMove.movingDirection === "down") {
+ return content.current!.scrollTop <= 0;
+ }
+ return false;
+ };
+
+ /** Bottom Sheet Move Start Event Handler */
+ const handleStart = (e: TouchEvent | MouseEvent, method: string = "touch") => {
+ const { touchStart } = metrics.current;
+
+ touchStart.sheetY = sheet.current!.getBoundingClientRect().y;
+ touchStart.touchY = method === "touch" ? (e as TouchEvent).touches[0].clientY : (e as MouseEvent).clientY;
+
+ if (method === "mouse") {
+ document.addEventListener("mousemove", handleMouseMove);
+ document.addEventListener("mouseup", handleMouseUp);
+ }
+ };
+
+ /** Bottom Sheet Move Event Handler */
+ const handleMove = (e: TouchEvent | MouseEvent, method: string = "touch") => {
+ const { touchStart, touchMove } = metrics.current;
+ const currentTouch = method === "touch" ? (e as TouchEvent).touches[0].clientY : (e as MouseEvent).clientY;
+
+ if (currentTouch === touchStart.touchY) return;
+ if (touchMove.prevTouchY === undefined) touchMove.prevTouchY = touchStart.touchY;
+ if (touchMove.prevTouchY === 0) touchMove.prevTouchY = touchStart.touchY;
+ if (touchMove.prevTouchY < currentTouch) touchMove.movingDirection = "down";
+ if (touchMove.prevTouchY > currentTouch) touchMove.movingDirection = "up";
+
+ if (canUserMoveBottomSheet()) {
+ e.preventDefault();
+ const touchOffset = currentTouch - touchStart.touchY;
+ let nextSheetY = touchStart.sheetY + touchOffset;
+ if (nextSheetY <= MIN_Y) nextSheetY = MIN_Y;
+ if (nextSheetY >= MAX_Y) nextSheetY = MAX_Y;
+ if (Math.abs(nextSheetY - MAX_Y) > (sheetHeight as number)) return;
+
+ sheet.current!.style.setProperty("transform", `translate3d(-50%, ${nextSheetY - MAX_Y}px, 0)`);
+ } else {
+ document.body.style.overflowY = "hidden";
+ }
+ };
+
+ /** Bottom Sheet Move End Event Handler */
+ const handleEnd = (e: TouchEvent | MouseEvent, method = "touch") => {
+ document.body.style.overflowY = "auto";
+ const { touchMove } = metrics.current;
+ const currentSheetY = sheet.current!.getBoundingClientRect().y;
+
+ if (currentSheetY !== MIN_Y) {
+ if (touchMove.movingDirection === "down") {
+ if (method === "touch") {
+ if (content.current!.scrollTop !== 0 && content.current!.contains(e.target)) return;
+ }
+ sheet.current!.style.setProperty("transform", "translate3d(-50%, 0, 0)");
+ closeBottomSheet();
+ }
+
+ if (touchMove.movingDirection === "up") {
+ sheet.current!.style.setProperty("transform", `translate3d(-50%, -${sheetHeight}px, 0)`);
+ }
+ }
+ metrics.current = {
+ touchStart: {
+ sheetY: 0,
+ touchY: 0,
+ },
+ touchMove: {
+ prevTouchY: 0,
+ movingDirection: "none",
+ },
+ isContentAreaTouched: false,
+ };
+
+ if (method === "mouse") {
+ document.removeEventListener("mousemove", handleMouseMove);
+ document.removeEventListener("mouseup", handleMouseUp);
+ }
+ };
+
+ const handleMouseDown = (e: MouseEvent) => handleStart(e, "mouse");
+ const handleMouseMove = (e: MouseEvent) => handleMove(e, "mouse");
+ const handleMouseUp = (e: MouseEvent) => handleEnd(e, "mouse");
+ const handleTouchStart = (e: TouchEvent) => handleStart(e, "touch");
+ const handleTouchMove = (e: TouchEvent) => handleMove(e, "touch");
+ const handleTouchEnd = (e: TouchEvent) => handleEnd(e, "touch");
+
+ sheet.current!.addEventListener("mousedown", handleMouseDown);
+ sheet.current!.addEventListener("touchstart", handleTouchStart);
+ sheet.current!.addEventListener("touchmove", handleTouchMove);
+ sheet.current!.addEventListener("touchend", handleTouchEnd);
+
+ return () => {
+ sheet.current!.removeEventListener("mousedown", handleMouseDown);
+ sheet.current!.removeEventListener("touchstart", handleTouchStart);
+ sheet.current!.removeEventListener("touchmove", handleTouchMove);
+ sheet.current!.removeEventListener("touchend", handleTouchEnd);
+ };
+ }, []);
+
+ useEffect(() => {
+ const handleTouchStart = () => {
+ metrics.current.isContentAreaTouched = true;
+ };
+ content.current!.addEventListener("touchstart", handleTouchStart);
+
+ return () => content.current!.removeEventListener("touchstart", handleTouchStart);
+ }, []);
+
+ useEffect(() => {
+ if (!bottomSheetState) return;
+ document.body.style.overflow = "hidden";
+ return () => {
+ document.body.style.overflow = "unset";
+ };
+ }, [bottomSheetState]);
+
+ return { sheet, content };
+};
diff --git a/src/hooks/useCheckBox.ts b/src/hooks/useCheckBox.ts
new file mode 100644
index 00000000..a6c815ca
--- /dev/null
+++ b/src/hooks/useCheckBox.ts
@@ -0,0 +1,10 @@
+import { useState } from "react";
+
+export const useCheckBox = () => {
+ const [checkedStates, setCheckedStates] = useState>({});
+ const isChecked = (value: string) => checkedStates[value];
+ const toggle = (value: string) => setCheckedStates((prev) => ({ ...prev, [value]: !prev[value] }));
+ const selectedValues = Object.keys(checkedStates).filter((key) => checkedStates[key]);
+
+ return { isChecked, toggle, selectedValues };
+};
diff --git a/src/hooks/useInput.ts b/src/hooks/useInput.ts
new file mode 100644
index 00000000..0893f06f
--- /dev/null
+++ b/src/hooks/useInput.ts
@@ -0,0 +1,11 @@
+import { useCallback, useState } from "react";
+
+export const useInput = (defaultValue?: string) => {
+ const [value, setValue] = useState(defaultValue || "");
+
+ const handleInputChange = useCallback((e: React.ChangeEvent) => {
+ setValue(e.target.value);
+ }, []);
+
+ return { value, handleInputChange };
+};
diff --git a/src/hooks/useModal.ts b/src/hooks/useModal.ts
new file mode 100644
index 00000000..dd68fb42
--- /dev/null
+++ b/src/hooks/useModal.ts
@@ -0,0 +1,31 @@
+import { useAtom } from "jotai";
+import { useCallback } from "react";
+
+import { modalState } from "@/store/modal/modalAtom";
+import { ModalType } from "@/types/modal";
+
+export const useModal = () => {
+ const [modalDataState, setModalDataState] = useAtom(modalState);
+
+ const close = useCallback(() => {
+ setModalDataState({ ...modalDataState, isOpen: false });
+ }, [modalDataState, setModalDataState]);
+
+ const open = useCallback(
+ ({ content, title, callBack }: Omit) => {
+ setModalDataState({
+ isOpen: true,
+ title,
+ content,
+ callBack,
+ });
+ },
+ [setModalDataState],
+ );
+
+ return {
+ open,
+ close,
+ modalDataState,
+ };
+};
diff --git a/src/hooks/useRadioButton.ts b/src/hooks/useRadioButton.ts
new file mode 100644
index 00000000..027e3364
--- /dev/null
+++ b/src/hooks/useRadioButton.ts
@@ -0,0 +1,9 @@
+import { useState } from "react";
+
+export const useRadioButton = () => {
+ const [selectedValue, setSelectedValue] = useState();
+ const isChecked = (value: string) => selectedValue === value;
+ const onChange = (value: string) => setSelectedValue(value);
+
+ return { isChecked, onChange, selectedValue };
+};
diff --git a/src/hooks/useToast.ts b/src/hooks/useToast.ts
new file mode 100644
index 00000000..d6feb6b9
--- /dev/null
+++ b/src/hooks/useToast.ts
@@ -0,0 +1,29 @@
+import { useAtom } from "jotai";
+import { useCallback } from "react";
+
+import { toastState } from "@/store/toast/toastAtom";
+import { ToastType } from "@/types/toast";
+import { getRandomID } from "@/util/etc";
+
+export const useToast = () => {
+ const [toastDataState, setToastDataState] = useAtom(toastState);
+
+ const removeToast = useCallback(
+ (toastID: ToastType["id"]) => setToastDataState((prev) => prev.filter((toast) => toast.id !== toastID)),
+ [setToastDataState],
+ );
+
+ const emitToast = useCallback(
+ (toast: Omit) => {
+ setToastDataState((prev) => [...prev, { ...toast, id: getRandomID() }]);
+ },
+ [setToastDataState],
+ );
+
+ const toast = {
+ success: (content: string) => emitToast({ type: "success", content }),
+ error: (content: string) => emitToast({ type: "error", content }),
+ };
+
+ return { toast, toastDataState, emitToast, removeToast };
+};
diff --git a/src/layout/DefaultLayout.tsx b/src/layout/DefaultLayout.tsx
new file mode 100644
index 00000000..fd183be9
--- /dev/null
+++ b/src/layout/DefaultLayout.tsx
@@ -0,0 +1,25 @@
+import { css } from "@emotion/react";
+import { Fragment, ReactNode } from "react";
+import { AppBar, AppBarProps } from "@/component/common/appBar";
+
+type DefaultLayoutProps = AppBarProps & {
+ appBarVisible?: boolean;
+ children: ReactNode;
+};
+
+export function DefaultLayout({ children, title, appBarVisible = true, LeftComp, RightComp }: DefaultLayoutProps) {
+ return (
+
+ {appBarVisible && }
+
+ {children}
+
+
+ );
+}
diff --git a/src/layout/GlobalLayout.tsx b/src/layout/GlobalLayout.tsx
new file mode 100644
index 00000000..db422bf4
--- /dev/null
+++ b/src/layout/GlobalLayout.tsx
@@ -0,0 +1,26 @@
+import { css } from "@emotion/react";
+import { Outlet } from "react-router-dom";
+
+export default function GlobalLayout() {
+ return (
+
+
+
+ );
+}
diff --git a/src/layout/default.tsx b/src/layout/default.tsx
deleted file mode 100644
index 7b4b783c..00000000
--- a/src/layout/default.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import {Outlet} from "react-router-dom";
-import {css} from "@emotion/react";
-
-export function DefaultLayout() {
- return (
-
-
-
- )
-}
\ No newline at end of file
diff --git a/src/router/index.tsx b/src/router/index.tsx
index 593f8a76..e3225f0f 100644
--- a/src/router/index.tsx
+++ b/src/router/index.tsx
@@ -1,20 +1,30 @@
import { Fragment } from "react";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
+import { LoginPage } from "@/app/login/LoginPage";
import MainPage from "@/app/MainPage.tsx"; /* FIXME - 실제 메인 페이지 작성 후 대체해주세요. */
-import { DefaultLayout } from "@/layout/default.tsx";
+import Staging from "@/app/test/Staging.tsx";
+import GlobalLayout from "@/layout/GlobalLayout.tsx";
const routerChildren = [
{
path: "/",
element: ,
},
+ {
+ path: "/staging",
+ element: ,
+ },
+ {
+ path: "/login",
+ element: ,
+ },
];
const router = createBrowserRouter([
{
path: "/",
- element: ,
+ element: ,
errorElement: ,
children: routerChildren,
},
diff --git a/src/store/modal/modalAtom.ts b/src/store/modal/modalAtom.ts
new file mode 100644
index 00000000..de534011
--- /dev/null
+++ b/src/store/modal/modalAtom.ts
@@ -0,0 +1,9 @@
+import { atom } from "jotai";
+
+import { ModalType } from "@/types/modal";
+
+export const modalState = atom({
+ isOpen: false,
+ title: "",
+ content: "",
+});
diff --git a/src/store/toast/toastAtom.ts b/src/store/toast/toastAtom.ts
new file mode 100644
index 00000000..dc1af4d0
--- /dev/null
+++ b/src/store/toast/toastAtom.ts
@@ -0,0 +1,5 @@
+import { atom } from "jotai";
+
+import { ToastType } from "@/types/toast";
+
+export const toastState = atom([]);
diff --git a/src/style/common/animation.ts b/src/style/common/animation.ts
new file mode 100644
index 00000000..2d69c4a4
--- /dev/null
+++ b/src/style/common/animation.ts
@@ -0,0 +1,30 @@
+import { keyframes } from "@emotion/react";
+
+export const ANIMATION = {
+ FADE_IN: keyframes`
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+ `,
+ FADE_OUT: keyframes`
+ from {
+ opacity: 1;
+ transform: translateY(0);
+ }
+ to {
+ opacity: 0;
+ transform: translateY(-1.5rem);
+ }
+ `,
+ TRIGGER: keyframes`
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 1;
+ }
+ `,
+};
diff --git a/src/style/common/toast.ts b/src/style/common/toast.ts
new file mode 100644
index 00000000..14356f94
--- /dev/null
+++ b/src/style/common/toast.ts
@@ -0,0 +1,14 @@
+import { css } from "@emotion/react";
+
+export const toastMap = {
+ success: css`
+ background-color: rgba(33, 37, 41, 0.8);
+ color: #ffffff;
+ `,
+ error: css`
+ background-color: rgba(225, 74, 74, 0.8);
+ color: #ffffff;
+ `,
+};
+
+export type ToastMessageType = keyof typeof toastMap;
diff --git a/src/style/global.css b/src/style/global.css
index 03afaff8..144bf302 100644
--- a/src/style/global.css
+++ b/src/style/global.css
@@ -1,4 +1,58 @@
+* {
+ box-sizing: border-box;
+ font-family:
+ "Pretendard Variable",
+ Pretendard,
+ -apple-system,
+ BlinkMacSystemFont,
+ system-ui,
+ Roboto,
+ "Helvetica Neue",
+ "Segoe UI",
+ "Apple SD Gothic Neo",
+ "Noto Sans KR",
+ "Malgun Gothic",
+ "Apple Color Emoji",
+ "Segoe UI Emoji",
+ "Segoe UI Symbol",
+ sans-serif;
+}
+
+html {
+ font-size: 62.5%;
+}
+
body {
- margin: 0;
- padding: 0;
-}
\ No newline at end of file
+ font-size: 1.5rem;
+ margin: 0;
+ padding: 0;
+}
+
+button {
+ border: none;
+ outline: none;
+ user-select: none;
+}
+
+input,
+textarea {
+ border: none;
+ background-color: inherit;
+ outline: none;
+ padding: 0;
+}
+
+textarea {
+ resize: none;
+}
+
+::-webkit-scrollbar {
+ border: none;
+ width: 0.8rem;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: rgb(231, 231, 231);
+ border-radius: 0.8rem;
+ border: 0.4rem solid transparent;
+}
diff --git a/src/style/variable.ts b/src/style/variable.ts
new file mode 100644
index 00000000..498bf94c
--- /dev/null
+++ b/src/style/variable.ts
@@ -0,0 +1,403 @@
+//FIXME: 팀 디자인 토큰 나오는대로 수정 필요
+export const DESIGN_SYSTEM_TEXT = {
+ E1: {
+ fontWeight: "Bold",
+ fontSize: "9.6rem",
+ lineHeight: "12rem",
+ letterSpacing: "-2%",
+ },
+ E2: {
+ fontWeight: "Bold",
+ fontSize: "6rem",
+ lineHeight: "8rem",
+ letterSpacing: "-2%",
+ },
+ E3: {
+ fontWeight: "Bold",
+ fontSize: "4.8rem",
+ lineHeight: "6.4rem",
+ letterSpacing: "-2%",
+ },
+ E4: {
+ fontWeight: "Bold",
+ fontSize: "4rem",
+ lineHeight: "5.6rem",
+ letterSpacing: "-2%",
+ },
+ T1: {
+ fontWeight: "Bold",
+ fontSize: "3.2rem",
+ lineHeight: "4.8rem",
+ letterSpacing: "-2%",
+ },
+ T2: {
+ fontWeight: "Bold",
+ fontSize: "2.8rem",
+ lineHeight: "4rem",
+ letterSpacing: "-2%",
+ },
+ T3: {
+ fontWeight: "Bold",
+ fontSize: "2.6rem",
+ lineHeight: "3.8rem",
+ letterSpacing: "-2%",
+ },
+ T4: {
+ fontWeight: "Bold",
+ fontSize: "2.4rem",
+ lineHeight: "3.2rem",
+ letterSpacing: "-2%",
+ },
+ S1: {
+ fontWeight: "Bold",
+ fontSize: "2rem",
+ lineHeight: "2.8rem",
+ letterSpacing: "-2%",
+ },
+ S2: {
+ fontWeight: "Bold",
+ fontSize: "1.8rem",
+ lineHeight: "2.6rem",
+ letterSpacing: "-2%",
+ },
+ S3: {
+ fontWeight: "Bold",
+ fontSize: "1.8rem",
+ lineHeight: "2.6rem",
+ letterSpacing: "-2%",
+ },
+ B1_BOLD: {
+ fontWeight: "Bold",
+ fontSize: "1.6rem",
+ lineHeight: "2.4rem",
+ letterSpacing: "-2%",
+ },
+ B1: {
+ fontWeight: "Regular",
+ fontSize: "1.6rem",
+ lineHeight: "2.4rem",
+ letterSpacing: "-2%",
+ },
+ B2_BOLD: {
+ fontWeight: "Bold",
+ fontSize: "1.4rem",
+ lineHeight: "2.2rem",
+ letterSpacing: "-2%",
+ },
+ B2: {
+ fontWeight: "Regular",
+ fontSize: "1.4rem",
+ lineHeight: "2.2rem",
+ letterSpacing: "-2%",
+ },
+ CAPTION: {
+ fontWeight: "Regular",
+ fontSize: "1.2rem",
+ lineHeight: "1.8rem",
+ letterSpacing: "-2%",
+ },
+ OVERLINE: {
+ fontWeight: "Regular",
+ fontSize: "1rem",
+ lineHeight: "1.6rem",
+ letterSpacing: "-2%",
+ },
+};
+
+export const DESIGN_SYSTEM_COLOR = {
+ inverseGrey50: "#202027",
+ inverseGrey100: "#2c2c35",
+ inverseGrey200: "#3c3c47",
+ inverseGrey300: "#4d4d59",
+ inverseGrey400: "#62626d",
+ inverseGrey500: "#7e7e87",
+ inverseGrey600: "#9e9ea4",
+ inverseGrey700: "#c3c3c6",
+ inverseGrey800: "#e4e4e5",
+ inverseGrey900: "#fff",
+ lightGrey: "#ced4da",
+ background: "#fff",
+ darkBackground: "#17171c",
+ greyBackground: "#f2f4f6",
+ darkGreyBackground: "#101013",
+ layeredBackground: "#fff",
+ darkLayeredBackground: "#202027",
+ floatBackground: "#fff",
+ darkFloatBackground: "#2c2c35",
+ black: "#000",
+ newBlack: "#222222",
+ kreamBlack: "#333333",
+ grey50: "#f9fafb",
+ grey100: "#f2f4f6",
+ grey200: "#e5e8eb",
+ grey300: "#d1d6db",
+ grey400: "#b0b8c1",
+ grey500: "#8b95a1",
+ grey600: "#6b7684",
+ grey700: "#4e5968",
+ grey800: "#333d4b",
+ grey900: "#191f28",
+ greyOpacity50: "rgba(0, 23, 51, 0.02)",
+ greyOpacity100: "rgba(2, 32, 71, 0.05)",
+ greyOpacity200: "rgba(0, 27, 55, 0.1)",
+ greyOpacity300: "rgba(0, 29, 58, 0.18)",
+ greyOpacity400: "rgba(0, 25, 54, 0.31)",
+ greyOpacity500: "rgba(3, 24, 50, 0.46)",
+ greyOpacity600: "rgba(0, 19, 43, 0.58)",
+ greyOpacity700: "rgba(3, 18, 40, 0.7)",
+ greyOpacity800: "rgba(0, 12, 30, 0.8)",
+ greyOpacity900: "rgba(2, 9, 19, 0.91)",
+ white: "#fff",
+ blue50: "#e8f3ff",
+ blue100: "#c9e2ff",
+ blue200: "#90c2ff",
+ blue300: "#64a8ff",
+ blue400: "#4593fc",
+ blue500: "#3182f6",
+ blue600: "#2272eb",
+ blue700: "#1b64da",
+ blue800: "#1957c2",
+ blue900: "#194aa6",
+ red50: "#fee",
+ red100: "#ffd4d6",
+ red200: "#feafb4",
+ red300: "#fb8890",
+ red400: "#f66570",
+ red500: "#f04452",
+ red600: "#e42939",
+ red700: "#d22030",
+ red800: "#bc1b2a",
+ red900: "#a51926",
+ orange50: "#fff3e0",
+ orange100: "#ffe0b0",
+ orange200: "#ffcd80",
+ orange300: "#ffbd51",
+ orange400: "#ffa927",
+ orange500: "#fe9800",
+ orange600: "#fb8800",
+ orange700: "#f57800",
+ orange800: "#ed6700",
+ orange900: "#e45600",
+ yellow50: "#fff9e7",
+ yellow100: "#ffefbf",
+ yellow200: "#ffe69b",
+ yellow300: "#ffdd78",
+ yellow400: "#ffd158",
+ yellow500: "#ffc342",
+ yellow600: "#ffb331",
+ yellow700: "#faa131",
+ yellow800: "#ee8f11",
+ yellow900: "#dd7d02",
+ green50: "#f0faf6",
+ green100: "#aeefd5",
+ green200: "#76e4b8",
+ green300: "#3fd599",
+ green400: "#15c47e",
+ green500: "#03b26c",
+ green600: "#02a262",
+ green700: "#029359",
+ green800: "#028450",
+ green900: "#027648",
+ teal50: "#edf8f8",
+ teal100: "#bce9e9",
+ teal200: "#89d8d8",
+ teal300: "#58c7c7",
+ teal400: "#30b6b6",
+ teal500: "#18a5a5",
+ teal600: "#109595",
+ teal700: "#0c8585",
+ teal800: "#097575",
+ teal900: "#076565",
+ purple50: "#f9f0fc",
+ purple100: "#edccf8",
+ purple200: "#da9bef",
+ purple300: "#c770e4",
+ purple400: "#b44bd7",
+ purple500: "#a234c7",
+ purple600: "#9128b4",
+ purple700: "#8222a2",
+ purple800: "#73228e",
+ purple900: "#65237b",
+ whiteOpacity50: "rgba(209, 209, 253, 0.05)",
+ whiteOpacity100: "rgba(217, 217, 255, 0.11)",
+ whiteOpacity200: "rgba(222, 222, 255, 0.19)",
+ whiteOpacity300: "rgba(224, 224, 255, 0.27)",
+ whiteOpacity400: "rgba(232, 232, 253, 0.36)",
+ whiteOpacity500: "rgba(242, 242, 255, 0.47)",
+ whiteOpacity600: "rgba(248, 248, 255, 0.6)",
+ whiteOpacity700: "rgba(253, 253, 255, 0.75)",
+ whiteOpacity800: "rgba(253, 253, 254, 0.89)",
+ whiteOpacity900: "#fff",
+ lightThemeGrey50: "#f9fafb",
+ lightThemeGrey100: "#f2f4f6",
+ lightThemeGrey200: "#e5e8eb",
+ lightThemeGrey300: "#d1d6db",
+ lightThemeGrey400: "#b0b8c1",
+ lightThemeGrey500: "#8b95a1",
+ lightThemeGrey600: "#6b7684",
+ lightThemeGrey700: "#4e5968",
+ lightThemeGrey800: "#333d4b",
+ lightThemeGrey900: "#191f28",
+ darkThemeGrey50: "#202027",
+ darkThemeGrey100: "#2c2c35",
+ darkThemeGrey200: "#3c3c47",
+ darkThemeGrey300: "#4d4d59",
+ darkThemeGrey400: "#62626d",
+ darkThemeGrey500: "#7e7e87",
+ darkThemeGrey600: "#9e9ea4",
+ darkThemeGrey700: "#c3c3c6",
+ darkThemeGrey800: "#e4e4e5",
+ darkThemeGrey900: "#fff",
+ lightThemeBlue50: "#e8f3ff",
+ lightThemeBlue100: "#c9e2ff",
+ lightThemeBlue200: "#90c2ff",
+ lightThemeBlue300: "#64a8ff",
+ lightThemeBlue400: "#4593fc",
+ lightThemeBlue500: "#3182f6",
+ lightThemeBlue600: "#2272eb",
+ lightThemeBlue700: "#1b64da",
+ lightThemeBlue800: "#1957c2",
+ lightThemeBlue900: "#194aa6",
+ darkThemeBlue50: "#202c4d",
+ darkThemeBlue100: "#23386a",
+ darkThemeBlue200: "#25478c",
+ darkThemeBlue300: "#265ab3",
+ darkThemeBlue400: "#2970d9",
+ darkThemeBlue500: "#3485fa",
+ darkThemeBlue600: "#449bff",
+ darkThemeBlue700: "#61b0ff",
+ darkThemeBlue800: "#8fcdff",
+ darkThemeBlue900: "#c8e7ff",
+ lightThemeRed50: "#fee",
+ lightThemeRed100: "#ffd4d6",
+ lightThemeRed200: "#feafb4",
+ lightThemeRed300: "#fb8890",
+ lightThemeRed400: "#f66570",
+ lightThemeRed500: "#f04452",
+ lightThemeRed600: "#e42939",
+ lightThemeRed700: "#d22030",
+ lightThemeRed800: "#bc1b2a",
+ lightThemeRed900: "#a51926",
+ darkThemeRed50: "#3c2020",
+ darkThemeRed100: "#562025",
+ darkThemeRed200: "#7a242d",
+ darkThemeRed300: "#9e2733",
+ darkThemeRed400: "#ca2f3d",
+ darkThemeRed500: "#f04251",
+ darkThemeRed600: "#fa616d",
+ darkThemeRed700: "#fe818b",
+ darkThemeRed800: "#ffa8ad",
+ darkThemeRed900: "#ffd1d3",
+ lightThemeOrange50: "#ffe0b0",
+ lightThemeOrange100: "#ffe0b0",
+ lightThemeOrange200: "#ffcd80",
+ lightThemeOrange300: "#ffbd51",
+ lightThemeOrange400: "#ffa927",
+ lightThemeOrange500: "#fe9800",
+ lightThemeOrange600: "#fb8800",
+ lightThemeOrange700: "#f57800",
+ lightThemeOrange800: "#ed6700",
+ lightThemeOrange900: "#e45600",
+ darkThemeOrange50: "#3d2500",
+ darkThemeOrange100: "#563200",
+ darkThemeOrange200: "#804600",
+ darkThemeOrange300: "#a85f00",
+ darkThemeOrange400: "#cf7200",
+ darkThemeOrange500: "#f18600",
+ darkThemeOrange600: "#fd9528",
+ darkThemeOrange700: "#ffa861",
+ darkThemeOrange800: "#ffc39e",
+ darkThemeOrange900: "#ffe4d6",
+ lightThemeYellow50: "#fff9e7",
+ lightThemeYellow100: "#ffefbf",
+ lightThemeYellow200: "#ffe69b",
+ lightThemeYellow300: "#ffdd78",
+ lightThemeYellow400: "#ffd158",
+ lightThemeYellow500: "#ffc342",
+ lightThemeYellow600: "#ffb331",
+ lightThemeYellow700: "#faa131",
+ lightThemeYellow800: "#ee8f11",
+ lightThemeYellow900: "#dd7d02",
+ darkThemeYellow50: "#3d2d1a",
+ darkThemeYellow100: "#724c1e",
+ darkThemeYellow200: "#b56f1d",
+ darkThemeYellow300: "#eb8b1e",
+ darkThemeYellow400: "#ffa126",
+ darkThemeYellow500: "#ffb134",
+ darkThemeYellow600: "#ffc259",
+ darkThemeYellow700: "#ffd68a",
+ darkThemeYellow800: "#ffe5b2",
+ darkThemeYellow900: "#fff1d4",
+ lightThemeGreen50: "#f0faf6",
+ lightThemeGreen100: "#aeefd5",
+ lightThemeGreen200: "#76e4b8",
+ lightThemeGreen300: "#3fd599",
+ lightThemeGreen400: "#15c47e",
+ lightThemeGreen500: "#03b26c",
+ lightThemeGreen600: "#02a262",
+ lightThemeGreen700: "#029359",
+ lightThemeGreen800: "#028450",
+ lightThemeGreen900: "#027648",
+ darkThemeGreen50: "#153729",
+ darkThemeGreen100: "#135338",
+ darkThemeGreen200: "#136d47",
+ darkThemeGreen300: "#138a59",
+ darkThemeGreen400: "#13a065",
+ darkThemeGreen500: "#16bb76",
+ darkThemeGreen600: "#26cf88",
+ darkThemeGreen700: "#4ee4a6",
+ darkThemeGreen800: "#82f6c5",
+ darkThemeGreen900: "#ccffea",
+ lightThemeTeal50: "#edf8f8",
+ lightThemeTeal100: "#bce9e9",
+ lightThemeTeal200: "#89d8d8",
+ lightThemeTeal300: "#58c7c7",
+ lightThemeTeal400: "#30b6b6",
+ lightThemeTeal500: "#18a5a5",
+ lightThemeTeal600: "#109595",
+ lightThemeTeal700: "#0c8585",
+ lightThemeTeal800: "#097575",
+ lightThemeTeal900: "#076565",
+ darkThemeTeal50: "#203537",
+ darkThemeTeal100: "#224e51",
+ darkThemeTeal200: "#226368",
+ darkThemeTeal300: "#247e85",
+ darkThemeTeal400: "#26939a",
+ darkThemeTeal500: "#2eaab2",
+ darkThemeTeal600: "#43bec7",
+ darkThemeTeal700: "#65d4dc",
+ darkThemeTeal800: "#9be8ee",
+ darkThemeTeal900: "#d6fcff",
+ lightThemePurple50: "#f9f0fc",
+ lightThemePurple100: "#edccf8",
+ lightThemePurple200: "#da9bef",
+ lightThemePurple300: "#c770e4",
+ lightThemePurple400: "#b44bd7",
+ lightThemePurple500: "#a234c7",
+ lightThemePurple600: "#9128b4",
+ lightThemePurple700: "#8222a2",
+ lightThemePurple800: "#73228e",
+ lightThemePurple900: "#65237b",
+ darkThemePurple50: "#3f2447",
+ darkThemePurple100: "#522361",
+ darkThemePurple200: "#66247b",
+ darkThemePurple300: "#7b2595",
+ darkThemePurple400: "#962fb5",
+ darkThemePurple500: "#ae3dd1",
+ darkThemePurple600: "#c353e5",
+ darkThemePurple700: "#d77cf2",
+ darkThemePurple800: "#eaacfc",
+ darkThemePurple900: "#f6d9ff",
+ lightThemeBackgroundDimmed: "rgba(0, 0, 0, 0.2)",
+ darkThemeBackgroundDimmed: "rgba(0, 0, 0, 0.56)",
+ lightThemeBackgroundLevelB01: "#f2f4f6",
+ darkThemeBackgroundLevelB01: "#101013",
+ lightThemeBackground: "#fff",
+ darkThemeBackground: "#17171c",
+ lightThemeBackgroundLevel01: "#fff",
+ darkThemeBackgroundLevel01: "#202027",
+ lightThemeBackgroundLevel02: "#fff",
+ darkThemeBackgroundLevel02: "#2c2c35",
+ lightThemeHairlineBorder: "#e5e8eb",
+ darkThemeHairlineBorder: "#3c3c47",
+};
diff --git a/src/svg.d.ts b/src/svg.d.ts
new file mode 100644
index 00000000..39a57bfb
--- /dev/null
+++ b/src/svg.d.ts
@@ -0,0 +1,9 @@
+declare module "*.svg" {
+ const value: React.FunctionComponent>;
+ export default value;
+}
+
+declare module "@/assets/svgs/spriteSvgs/loginLogo.svg" {
+ const content: string;
+ export default content;
+}
diff --git a/src/types/loginType/index.tsx b/src/types/loginType/index.tsx
new file mode 100644
index 00000000..78dc6643
--- /dev/null
+++ b/src/types/loginType/index.tsx
@@ -0,0 +1,23 @@
+export const loginTypeProvider = {
+ apple: "애플",
+ google: "구글",
+ kakao: "카카오",
+};
+
+// FIXME : 버튼 색 수정 필요
+export const backgroundColors: Record = {
+ kakao: "#ffe400",
+ google: "#FFFFFF",
+ apple: "red",
+};
+
+type loginProvider = keyof typeof loginTypeProvider;
+
+export type loginType = {
+ type: loginProvider;
+};
+
+export type loginBtnProps = {
+ type: loginProvider;
+ handler: () => void;
+};
diff --git a/src/types/modal.ts b/src/types/modal.ts
new file mode 100644
index 00000000..8043ecf1
--- /dev/null
+++ b/src/types/modal.ts
@@ -0,0 +1,6 @@
+export type ModalType = {
+ isOpen: boolean;
+ title: string;
+ content: JSX.Element | string;
+ callBack?: () => void;
+};
diff --git a/src/types/toast.ts b/src/types/toast.ts
new file mode 100644
index 00000000..ad04209c
--- /dev/null
+++ b/src/types/toast.ts
@@ -0,0 +1,11 @@
+import { toastMap } from "@/style/common/toast";
+
+export type ToastMessageType = keyof typeof toastMap;
+
+export type ToastType = {
+ type: ToastMessageType;
+ id: string;
+ content: string;
+ duration?: number;
+ bottom?: number;
+};
diff --git a/src/util/etc.ts b/src/util/etc.ts
new file mode 100644
index 00000000..dcd998f9
--- /dev/null
+++ b/src/util/etc.ts
@@ -0,0 +1 @@
+export const getRandomID = () => String(new Date().getTime());
diff --git a/src/util/toast/collapseToast.ts b/src/util/toast/collapseToast.ts
new file mode 100644
index 00000000..c8b5c815
--- /dev/null
+++ b/src/util/toast/collapseToast.ts
@@ -0,0 +1,15 @@
+export function collapseToast(node: HTMLDivElement, done: () => void, duration = 3000) {
+ if (node) {
+ const { scrollHeight, style } = node;
+
+ requestAnimationFrame(() => {
+ style.height = scrollHeight + "px";
+ style.transition = `all ${duration}ms`;
+
+ requestAnimationFrame(() => {
+ style.height = "0";
+ setTimeout(done, duration);
+ });
+ });
+ }
+}
diff --git a/src/util/.gitkeep b/src/utils/.gitkeep
similarity index 100%
rename from src/util/.gitkeep
rename to src/utils/.gitkeep
diff --git a/src/utils/externalStore/create.ts b/src/utils/externalStore/create.ts
new file mode 100644
index 00000000..25fa7c98
--- /dev/null
+++ b/src/utils/externalStore/create.ts
@@ -0,0 +1,9 @@
+import { useSyncExternalStore } from "react";
+
+import { State } from "@/utils/externalStore/hook.ts";
+
+export function useStore(state: State) {
+ const store = useSyncExternalStore(state.subscribe, state.getState, state.getState);
+
+ return [store, state.setState] as const;
+}
diff --git a/src/utils/externalStore/hook.ts b/src/utils/externalStore/hook.ts
new file mode 100644
index 00000000..bb75e607
--- /dev/null
+++ b/src/utils/externalStore/hook.ts
@@ -0,0 +1,37 @@
+type Fn = () => void;
+type UpdateFn = (state: T) => T;
+
+export type State = {
+ getState: () => T;
+ setState: (update: UpdateFn | T) => void;
+ subscribe: (callback: Fn) => Fn;
+};
+
+function isUpdateFn(value: UpdateFn | T): value is UpdateFn {
+ return typeof value === "function";
+}
+
+export function externalStore(initialState: T): State {
+ let state = initialState;
+ const callbacks = new Set();
+
+ function subscribe(callback: Fn): Fn {
+ callbacks.add(callback);
+ return () => callbacks.delete(callback);
+ }
+
+ function getState() {
+ return state;
+ }
+
+ function setState(update: UpdateFn | T) {
+ state = isUpdateFn(update) ? update(state) : update;
+ callbacks.forEach((cb) => cb());
+ }
+
+ return {
+ getState,
+ setState,
+ subscribe,
+ };
+}
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
index 11f02fe2..86be81ca 100644
--- a/src/vite-env.d.ts
+++ b/src/vite-env.d.ts
@@ -1 +1,10 @@
///
+
+type ImportMetaEnv = {
+ readonly VITE_REST_API_KEY: string;
+ readonly VITE_REDIRECT_URI: string;
+};
+
+type ImportMeta = {
+ readonly env: ImportMetaEnv;
+};
diff --git a/tsconfig.json b/tsconfig.json
index ffd3ebba..b165dbc9 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -35,6 +35,6 @@
/* Matter-js library file */
"allowJs": true
},
- "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js"],
+ "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "vite-env.d.ts"],
"references": [{ "path": "./tsconfig.node.json" }]
}
diff --git a/tsconfig.node.json b/tsconfig.node.json
index f443d8c3..42872c59 100644
--- a/tsconfig.node.json
+++ b/tsconfig.node.json
@@ -4,7 +4,7 @@
"skipLibCheck": true,
"module": "ESNext",
"moduleResolution": "bundler",
- "allowSyntheticDefaultImports": true,
+ "allowSyntheticDefaultImports": true
},
"include": ["vite.config.ts"]
-}
\ No newline at end of file
+}
diff --git a/vercel.json b/vercel.json
new file mode 100644
index 00000000..f90a92e1
--- /dev/null
+++ b/vercel.json
@@ -0,0 +1,6 @@
+{
+ "routes": [
+ { "handle": "filesystem" },
+ { "src": "/.*", "dest": "/index.html" }
+ ]
+}
\ No newline at end of file