diff --git a/plugins/radix-colors/.eslintrc.cjs b/plugins/radix-colors/.eslintrc.cjs
new file mode 100644
index 00000000..9358989c
--- /dev/null
+++ b/plugins/radix-colors/.eslintrc.cjs
@@ -0,0 +1,11 @@
+module.exports = {
+ root: true,
+ env: { browser: true, es2020: true },
+ extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended"],
+ ignorePatterns: ["dist", ".eslintrc.cjs"],
+ parser: "@typescript-eslint/parser",
+ plugins: ["react-refresh"],
+ rules: {
+ "react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
+ },
+}
diff --git a/plugins/radix-colors/framer.json b/plugins/radix-colors/framer.json
new file mode 100644
index 00000000..61b74043
--- /dev/null
+++ b/plugins/radix-colors/framer.json
@@ -0,0 +1,6 @@
+{
+ "id": "f3b3e3",
+ "name": "Radix Colors",
+ "modes": ["canvas"],
+ "icon": "/icon.svg"
+}
diff --git a/plugins/radix-colors/index.html b/plugins/radix-colors/index.html
new file mode 100644
index 00000000..113e3821
--- /dev/null
+++ b/plugins/radix-colors/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Radix Colors
+
+
+
+
+
+
diff --git a/plugins/radix-colors/package-lock.json b/plugins/radix-colors/package-lock.json
new file mode 100644
index 00000000..b223ff44
--- /dev/null
+++ b/plugins/radix-colors/package-lock.json
@@ -0,0 +1,3008 @@
+{
+ "name": "radix-colors",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "radix-colors",
+ "version": "0.0.0",
+ "dependencies": {
+ "@hookform/resolvers": "^3.6.0",
+ "framer-plugin": "^0",
+ "react": "^18",
+ "react-dom": "^18",
+ "react-hook-form": "^7.51.5",
+ "vite-plugin-mkcert": "^1",
+ "zod": "^3.23.8"
+ },
+ "devDependencies": {
+ "@types/react": "^18",
+ "@types/react-dom": "^18",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
+ "@vitejs/plugin-react-swc": "^3",
+ "eslint": "^8",
+ "eslint-plugin-react-hooks": "^4",
+ "eslint-plugin-react-refresh": "^0",
+ "typescript": "^5.3.3",
+ "vite": "^5",
+ "vite-plugin-framer": "^0.0.10"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
+ "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
+ "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
+ "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
+ "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
+ "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+ "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
+ "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
+ "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
+ "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
+ "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
+ "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
+ "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
+ "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
+ "cpu": [
+ "mips64el"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
+ "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
+ "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
+ "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
+ "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
+ "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
+ "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
+ "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
+ "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz",
+ "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@hookform/resolvers": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.6.0.tgz",
+ "integrity": "sha512-UBcpyOX3+RR+dNnqBd0lchXpoL8p4xC21XP8H6Meb8uve5Br1GCnmg0PcBoKKqPKgGu9GHQ/oygcmPrQhetwqw==",
+ "peerDependencies": {
+ "react-hook-form": "^7.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "dev": true
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
+ "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
+ "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==",
+ "dependencies": {
+ "@octokit/auth-token": "^4.0.0",
+ "@octokit/graphql": "^7.1.0",
+ "@octokit/request": "^8.3.1",
+ "@octokit/request-error": "^5.1.0",
+ "@octokit/types": "^13.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
+ "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==",
+ "dependencies": {
+ "@octokit/types": "^13.1.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz",
+ "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==",
+ "dependencies": {
+ "@octokit/request": "^8.3.0",
+ "@octokit/types": "^13.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "22.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz",
+ "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg=="
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "11.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz",
+ "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==",
+ "dependencies": {
+ "@octokit/types": "^13.5.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": "5"
+ }
+ },
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz",
+ "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==",
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": "5"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz",
+ "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==",
+ "dependencies": {
+ "@octokit/types": "^13.5.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": "^5"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz",
+ "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==",
+ "dependencies": {
+ "@octokit/endpoint": "^9.0.1",
+ "@octokit/request-error": "^5.1.0",
+ "@octokit/types": "^13.1.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
+ "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==",
+ "dependencies": {
+ "@octokit/types": "^13.1.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/rest": {
+ "version": "20.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz",
+ "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==",
+ "dependencies": {
+ "@octokit/core": "^5.0.2",
+ "@octokit/plugin-paginate-rest": "11.3.1",
+ "@octokit/plugin-request-log": "^4.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "13.2.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/types": {
+ "version": "13.5.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz",
+ "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==",
+ "dependencies": {
+ "@octokit/openapi-types": "^22.2.0"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
+ "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
+ "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
+ "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
+ "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
+ "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
+ "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
+ "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
+ "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
+ "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
+ "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
+ "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
+ "cpu": [
+ "s390x"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
+ "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
+ "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
+ "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
+ "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
+ "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@swc/core": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.25.tgz",
+ "integrity": "sha512-qdGEIdLVoTjEQ7w72UyyQ0wLFY4XbHfZiidmPHKJQsvSXzdpHXxPdlTCea/mY4AhMqo/M+pvkJSXJAxZnFl7qw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.3",
+ "@swc/types": "^0.1.7"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.5.25",
+ "@swc/core-darwin-x64": "1.5.25",
+ "@swc/core-linux-arm-gnueabihf": "1.5.25",
+ "@swc/core-linux-arm64-gnu": "1.5.25",
+ "@swc/core-linux-arm64-musl": "1.5.25",
+ "@swc/core-linux-x64-gnu": "1.5.25",
+ "@swc/core-linux-x64-musl": "1.5.25",
+ "@swc/core-win32-arm64-msvc": "1.5.25",
+ "@swc/core-win32-ia32-msvc": "1.5.25",
+ "@swc/core-win32-x64-msvc": "1.5.25"
+ },
+ "peerDependencies": {
+ "@swc/helpers": "*"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.25.tgz",
+ "integrity": "sha512-YbD0SBgVJS2DM0vwJTU5m7+wOyCjHPBDMf3nCBJQzFZzOLzK11eRW7SzU2jhJHr9HI9sKcNFfN4lIC2Sj+4inA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.25.tgz",
+ "integrity": "sha512-OhP4TROT6gQuozn+ah0Y4UidSdgDmxwtQq3lgCUIAxJYErJAQ82/Y0kve2UaNmkSGjOHU+/b4siHPrYTkXOk0Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.25.tgz",
+ "integrity": "sha512-tNmUfrAHxN2gvYPyYNnHx2CYlPO7DGAUuK/bZrqawu++djcg+atAV3eI3XYJgmHId7/sYAlDQ9wjkrOLofFjVg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.25.tgz",
+ "integrity": "sha512-stzpke+bRaNFM/HrZPRjX0aQZ86S/2DChVCwb8NAV1n5lu9mz1CS750y7WbbtX/KZjk92FsCeRy2qwkvjI0gWw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.25.tgz",
+ "integrity": "sha512-UckUfDYedish/bj2V1jgQDGgouLhyRpG7jgF3mp8jHir11V2K6JiTyjFoz99eOiclS3+hNdr4QLJ+ifrQMJNZw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.25.tgz",
+ "integrity": "sha512-LwbJEgNT3lXbvz4WFzVNXNvs8DvxpoXjMZk9K9Hig8tmZQJKHC2qZTGomcyK5EFzfj2HBuBXZnAEW8ZT9PcEaA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.25.tgz",
+ "integrity": "sha512-rsepMTgml0EkswWkBpg3Wrjj5eqjwTzZN5omAn1klzXSZnClTrfeHvBuoIJYVr1yx+jmBkqySgME2p7+magUAw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.25.tgz",
+ "integrity": "sha512-DJDsLBsRBV3uQBShRK2x6fqzABp9RLNVxDUpTTvUjc7qywJ8vS/yn+POK/zCyVEqLagf1z/8D5CEQ+RAIJq1NA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.25.tgz",
+ "integrity": "sha512-BARL1ulHol53MEKC1ZVWM3A3FP757UUgG5Q8v97za+4a1SaIgbwvAQyHDxMYWi9+ij+OapK8YnWjJcFa17g8dw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.5.25",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.25.tgz",
+ "integrity": "sha512-o+MHUWrQI9iR6EusEV8eNU2Ezi3KtlhUR4gfptQN5MbVzlgjTvQbhiKpE1GYOxp+0BLBbKRwITKOcdhxfEJ2Uw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
+ "dev": true
+ },
+ "node_modules/@swc/types": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.7.tgz",
+ "integrity": "sha512-scHWahbHF0eyj3JsxG9CFJgFdFNaVQCNAimBlT6PzS3n/HptxqREjsm4OH6AN3lYcffZYSPxXW8ua2BEHp0lJQ==",
+ "dev": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.3"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.12",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
+ "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
+ "dev": true
+ },
+ "node_modules/@types/react": {
+ "version": "18.3.3",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz",
+ "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==",
+ "dev": true,
+ "dependencies": {
+ "@types/prop-types": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "18.3.0",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
+ "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz",
+ "integrity": "sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/type-utils": "7.12.0",
+ "@typescript-eslint/utils": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^7.0.0",
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz",
+ "integrity": "sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
+ "integrity": "sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz",
+ "integrity": "sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "7.12.0",
+ "@typescript-eslint/utils": "7.12.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
+ "integrity": "sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==",
+ "dev": true,
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz",
+ "integrity": "sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/visitor-keys": "7.12.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz",
+ "integrity": "sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "7.12.0",
+ "@typescript-eslint/types": "7.12.0",
+ "@typescript-eslint/typescript-estree": "7.12.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz",
+ "integrity": "sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "7.12.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || >=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
+ "node_modules/@vitejs/plugin-react-swc": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.7.0.tgz",
+ "integrity": "sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==",
+ "dev": true,
+ "dependencies": {
+ "@swc/core": "^1.5.7"
+ },
+ "peerDependencies": {
+ "vite": "^4 || ^5"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
+ "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/before-after-hook": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "dev": true
+ },
+ "node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
+ "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.20.2",
+ "@esbuild/android-arm": "0.20.2",
+ "@esbuild/android-arm64": "0.20.2",
+ "@esbuild/android-x64": "0.20.2",
+ "@esbuild/darwin-arm64": "0.20.2",
+ "@esbuild/darwin-x64": "0.20.2",
+ "@esbuild/freebsd-arm64": "0.20.2",
+ "@esbuild/freebsd-x64": "0.20.2",
+ "@esbuild/linux-arm": "0.20.2",
+ "@esbuild/linux-arm64": "0.20.2",
+ "@esbuild/linux-ia32": "0.20.2",
+ "@esbuild/linux-loong64": "0.20.2",
+ "@esbuild/linux-mips64el": "0.20.2",
+ "@esbuild/linux-ppc64": "0.20.2",
+ "@esbuild/linux-riscv64": "0.20.2",
+ "@esbuild/linux-s390x": "0.20.2",
+ "@esbuild/linux-x64": "0.20.2",
+ "@esbuild/netbsd-x64": "0.20.2",
+ "@esbuild/openbsd-x64": "0.20.2",
+ "@esbuild/sunos-x64": "0.20.2",
+ "@esbuild/win32-arm64": "0.20.2",
+ "@esbuild/win32-ia32": "0.20.2",
+ "@esbuild/win32-x64": "0.20.2"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
+ "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "node_modules/eslint-plugin-react-refresh": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz",
+ "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==",
+ "dev": true,
+ "peerDependencies": {
+ "eslint": ">=7"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "dev": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/framer-plugin": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/framer-plugin/-/framer-plugin-0.2.4.tgz",
+ "integrity": "sha512-y5r5mnlCJNDeO4ssaEaK7pFlIdjZJyzMl2psTKN0N1i/jJvoaVWzrZfmmE98AmBz1OElTs+bebF3cI0je2uUVg==",
+ "peerDependencies": {
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/react": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/react-hook-form": {
+ "version": "7.51.5",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.5.tgz",
+ "integrity": "sha512-J2ILT5gWx1XUIJRETiA7M19iXHlG74+6O3KApzvqB/w8S5NQR7AbU8HVZrMALdmDgWpRPYiZJl0zx8Z4L2mP6Q==",
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/react-hook-form"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17 || ^18"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
+ "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.18.0",
+ "@rollup/rollup-android-arm64": "4.18.0",
+ "@rollup/rollup-darwin-arm64": "4.18.0",
+ "@rollup/rollup-darwin-x64": "4.18.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.18.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.18.0",
+ "@rollup/rollup-linux-arm64-musl": "4.18.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.18.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.18.0",
+ "@rollup/rollup-linux-x64-gnu": "4.18.0",
+ "@rollup/rollup-linux-x64-musl": "4.18.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.18.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.18.0",
+ "@rollup/rollup-win32-x64-msvc": "4.18.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/universal-user-agent": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+ "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ=="
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "5.2.12",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz",
+ "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==",
+ "dependencies": {
+ "esbuild": "^0.20.1",
+ "postcss": "^8.4.38",
+ "rollup": "^4.13.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "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
+ }
+ }
+ },
+ "node_modules/vite-plugin-framer": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/vite-plugin-framer/-/vite-plugin-framer-0.0.10.tgz",
+ "integrity": "sha512-BKWzLPfJZNSZGVfcQyB7oppvsXkipwRX8MwHc0nbHmUUK9sOW/tyYm0O8voJYfKnbqy6ccGp2Qd5c/iv+qgoZw==",
+ "dev": true,
+ "dependencies": {
+ "picocolors": "^1.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0"
+ }
+ },
+ "node_modules/vite-plugin-mkcert": {
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/vite-plugin-mkcert/-/vite-plugin-mkcert-1.17.5.tgz",
+ "integrity": "sha512-KKGY3iHx/9zb7ow8JJ+nLN2HiNIBuPBwj34fJ+jAJT89/8qfk7msO7G7qipR8VDEm9xMCys0xT11QOJbZcg3/Q==",
+ "dependencies": {
+ "@octokit/rest": "^20.0.2",
+ "axios": "^1.6.8",
+ "debug": "^4.3.4",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=v16.7.0"
+ },
+ "peerDependencies": {
+ "vite": ">=3"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zod": {
+ "version": "3.23.8",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ }
+ }
+}
diff --git a/plugins/radix-colors/package.json b/plugins/radix-colors/package.json
new file mode 100644
index 00000000..91877c24
--- /dev/null
+++ b/plugins/radix-colors/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "radix-colors",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build --base=${PREFIX_BASE_PATH:+/$npm_package_name}/",
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@hookform/resolvers": "^3.6.0",
+ "framer-plugin": "^0",
+ "react": "^18",
+ "react-dom": "^18",
+ "react-hook-form": "^7.51.5",
+ "vite-plugin-mkcert": "^1",
+ "zod": "^3.23.8"
+ },
+ "devDependencies": {
+ "@types/react": "^18",
+ "@types/react-dom": "^18",
+ "@typescript-eslint/eslint-plugin": "^7",
+ "@typescript-eslint/parser": "^7",
+ "@vitejs/plugin-react-swc": "^3",
+ "eslint": "^8",
+ "eslint-plugin-react-hooks": "^4",
+ "eslint-plugin-react-refresh": "^0",
+ "typescript": "^5.3.3",
+ "vite": "^5",
+ "vite-plugin-framer": "^0.0.10"
+ }
+}
diff --git a/plugins/radix-colors/public/icon.svg b/plugins/radix-colors/public/icon.svg
new file mode 100644
index 00000000..95ed988d
--- /dev/null
+++ b/plugins/radix-colors/public/icon.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/plugins/radix-colors/readme.md b/plugins/radix-colors/readme.md
new file mode 100644
index 00000000..c2cfa78b
--- /dev/null
+++ b/plugins/radix-colors/readme.md
@@ -0,0 +1,5 @@
+# Radix Colors
+
+Easily import [Radix colors](https://www.radix-ui.com/colors) scales into Framer.
+
+**By:** @waraness99
diff --git a/plugins/radix-colors/src/App.css b/plugins/radix-colors/src/App.css
new file mode 100644
index 00000000..13424075
--- /dev/null
+++ b/plugins/radix-colors/src/App.css
@@ -0,0 +1,20 @@
+main {
+ display: flex;
+ flex-direction: column;
+ align-items: start;
+ padding: 0 15px 15px 15px;
+ height: 100%;
+ gap: 15px;
+}
+
+.row {
+ display: grid;
+ width: 100%;
+ grid-template-columns: 64px 1fr;
+ align-items: center;
+}
+
+.row input,
+.row select {
+ width: 100%;
+}
diff --git a/plugins/radix-colors/src/App.tsx b/plugins/radix-colors/src/App.tsx
new file mode 100644
index 00000000..19d21e23
--- /dev/null
+++ b/plugins/radix-colors/src/App.tsx
@@ -0,0 +1,99 @@
+import { framer } from "framer-plugin"
+import { Row } from "./components/Row"
+
+import { useForm } from "react-hook-form"
+import { zodResolver } from "@hookform/resolvers/zod"
+
+import { ColorOptions, createFramerColors } from "./utils/createFramerColors"
+import { colorNamesByCategory } from "./utils/colorOptions"
+import { colorThemes, colorVariants } from "./types"
+import { slugToTitle } from "./utils/common"
+
+import "./App.css"
+
+framer.showUI({
+ position: "top right",
+ width: 240,
+ height: 210,
+})
+
+export function App() {
+ const {
+ register,
+ handleSubmit,
+ formState: { isSubmitting, errors },
+ } = useForm({
+ defaultValues: { name: "gray", variant: "solid", theme: "auto" },
+ resolver: zodResolver(ColorOptions),
+ })
+
+ const generateColor = async (options: ColorOptions) => {
+ try {
+ await createFramerColors(options)
+ framer.notify(`${slugToTitle(options.name)} scale has been generated.`, {
+ durationMs: 3000,
+ variant: "success",
+ })
+ } catch (error) {
+ framer.notify("Failed to generate color.", {
+ durationMs: 3000,
+ variant: "error",
+ })
+ console.error(error)
+ }
+ }
+
+ return (
+
+ )
+}
diff --git a/plugins/radix-colors/src/components/Row.tsx b/plugins/radix-colors/src/components/Row.tsx
new file mode 100644
index 00000000..d004cdb8
--- /dev/null
+++ b/plugins/radix-colors/src/components/Row.tsx
@@ -0,0 +1,13 @@
+type RowProps = {
+ children: React.ReactNode
+ title: string
+}
+
+export const Row = ({ children, title }: RowProps) => {
+ return (
+
+
+ {children}
+
+ )
+}
diff --git a/plugins/radix-colors/src/constants/index.ts b/plugins/radix-colors/src/constants/index.ts
new file mode 100644
index 00000000..6a6d2348
--- /dev/null
+++ b/plugins/radix-colors/src/constants/index.ts
@@ -0,0 +1,935 @@
+import type { ColorScales } from "../types"
+
+export const colorsScales: ColorScales = {
+ gray: {
+ solid: {
+ 1: { light: "#fcfcfc", dark: "#111111" },
+ 2: { light: "#f9f9f9", dark: "#191919" },
+ 3: { light: "#f0f0f0", dark: "#222222" },
+ 4: { light: "#e8e8e8", dark: "#2a2a2a" },
+ 5: { light: "#e0e0e0", dark: "#313131" },
+ 6: { light: "#d9d9d9", dark: "#3a3a3a" },
+ 7: { light: "#cecece", dark: "#484848" },
+ 8: { light: "#bbbbbb", dark: "#606060" },
+ 9: { light: "#8d8d8d", dark: "#6e6e6e" },
+ 10: { light: "#838383", dark: "#7b7b7b" },
+ 11: { light: "#646464", dark: "#b4b4b4" },
+ 12: { light: "#202020", dark: "#eeeeee" },
+ },
+ alpha: {
+ 1: { light: "#00000003", dark: "#00000000" },
+ 2: { light: "#00000006", dark: "#ffffff09" },
+ 3: { light: "#0000000f", dark: "#ffffff12" },
+ 4: { light: "#00000017", dark: "#ffffff1b" },
+ 5: { light: "#0000001f", dark: "#ffffff22" },
+ 6: { light: "#00000026", dark: "#ffffff2c" },
+ 7: { light: "#00000031", dark: "#ffffff3b" },
+ 8: { light: "#00000044", dark: "#ffffff55" },
+ 9: { light: "#00000072", dark: "#ffffff64" },
+ 10: { light: "#0000007c", dark: "#ffffff72" },
+ 11: { light: "#0000009b", dark: "#ffffffaf" },
+ 12: { light: "#000000df", dark: "#ffffffed" },
+ },
+ },
+ mauve: {
+ solid: {
+ 1: { light: "#fdfcfd", dark: "#121113" },
+ 2: { light: "#faf9fb", dark: "#1a191b" },
+ 3: { light: "#f2eff3", dark: "#232225" },
+ 4: { light: "#eae7ec", dark: "#2b292d" },
+ 5: { light: "#e3dfe6", dark: "#323035" },
+ 6: { light: "#dbd8e0", dark: "#3c393f" },
+ 7: { light: "#d0cdd7", dark: "#49474e" },
+ 8: { light: "#bcbac7", dark: "#625f69" },
+ 9: { light: "#8e8c99", dark: "#6f6d78" },
+ 10: { light: "#84828e", dark: "#7c7a85" },
+ 11: { light: "#65636d", dark: "#b5b2bc" },
+ 12: { light: "#211f26", dark: "#eeeef0" },
+ },
+ alpha: {
+ 1: { light: "#55005503", dark: "#00000000" },
+ 2: { light: "#2b005506", dark: "#f5f4f609" },
+ 3: { light: "#30004010", dark: "#ebeaf814" },
+ 4: { light: "#20003618", dark: "#eee5f81d" },
+ 5: { light: "#20003820", dark: "#efe6fe25" },
+ 6: { light: "#14003527", dark: "#f1e6fd30" },
+ 7: { light: "#10003332", dark: "#eee9ff40" },
+ 8: { light: "#08003145", dark: "#eee7ff5d" },
+ 9: { light: "#05001d73", dark: "#eae6fd6e" },
+ 10: { light: "#0500197d", dark: "#ece9fd7c" },
+ 11: { light: "#0400119c", dark: "#f5f1ffb7" },
+ 12: { light: "#020008e0", dark: "#fdfdffef" },
+ },
+ },
+ slate: {
+ solid: {
+ 1: { light: "#fcfcfd", dark: "#111213" },
+ 2: { light: "#f9f9fb", dark: "#1a1b1c" },
+ 3: { light: "#f0f0f3", dark: "#232426" },
+ 4: { light: "#e8e8ec", dark: "#2b2c2f" },
+ 5: { light: "#e0e1e6", dark: "#333539" },
+ 6: { light: "#d9d9e0", dark: "#3c3f45" },
+ 7: { light: "#cdced6", dark: "#4a4e54" },
+ 8: { light: "#b9bbc6", dark: "#646a72" },
+ 9: { light: "#8b8d98", dark: "#70767e" },
+ 10: { light: "#80838d", dark: "#7d838d" },
+ 11: { light: "#60646c", dark: "#b4b8be" },
+ 12: { light: "#1c2024", dark: "#f0f1f3" },
+ },
+ alpha: {
+ 1: { light: "#00005503", dark: "#00000000" },
+ 2: { light: "#00005506", dark: "#f5f4f609" },
+ 3: { light: "#0000330f", dark: "#ebeaf814" },
+ 4: { light: "#00002d17", dark: "#eee5f81d" },
+ 5: { light: "#0009321f", dark: "#efe6fe25" },
+ 6: { light: "#00002f26", dark: "#f1e6fd30" },
+ 7: { light: "#00062e32", dark: "#eee9ff40" },
+ 8: { light: "#00083046", dark: "#eee7ff5d" },
+ 9: { light: "#00051d74", dark: "#eae6fd6e" },
+ 10: { light: "#00071b7f", dark: "#ece9fd7c" },
+ 11: { light: "#0007149f", dark: "#f5f1ffb7" },
+ 12: { light: "#000509e3", dark: "#fdfdffef" },
+ },
+ },
+ sage: {
+ solid: {
+ 1: { light: "#fbfdfc", dark: "#121312" },
+ 2: { light: "#f7f9f8", dark: "#1b1c1b" },
+ 3: { light: "#eef1f0", dark: "#242524" },
+ 4: { light: "#e6e9e8", dark: "#2c2d2c" },
+ 5: { light: "#dfe2e0", dark: "#343635" },
+ 6: { light: "#d7dad9", dark: "#3d403f" },
+ 7: { light: "#cbcfcd", dark: "#4b4f4e" },
+ 8: { light: "#b8bcba", dark: "#656a68" },
+ 9: { light: "#868e8b", dark: "#727876" },
+ 10: { light: "#7c8481", dark: "#7e8482" },
+ 11: { light: "#5f6563", dark: "#b5bab8" },
+ 12: { light: "#1a211e", dark: "#eef0ef" },
+ },
+ alpha: {
+ 1: { light: "#00804004", dark: "#00000000" },
+ 2: { light: "#00402008", dark: "#f5f4f609" },
+ 3: { light: "#002d1e11", dark: "#ebeaf814" },
+ 4: { light: "#001f1519", dark: "#eee5f81d" },
+ 5: { light: "#00180820", dark: "#efe6fe25" },
+ 6: { light: "#00140d28", dark: "#f1e6fd30" },
+ 7: { light: "#00140a34", dark: "#eee9ff40" },
+ 8: { light: "#000f0847", dark: "#eee7ff5d" },
+ 9: { light: "#00110b79", dark: "#eae6fd6e" },
+ 10: { light: "#00100a83", dark: "#ece9fd7c" },
+ 11: { light: "#000a07a0", dark: "#f5f1ffb7" },
+ 12: { light: "#000805e5", dark: "#fdfdffef" },
+ },
+ },
+ olive: {
+ solid: {
+ 1: { light: "#fcfdfc", dark: "#121312" },
+ 2: { light: "#f8faf8", dark: "#1b1c1b" },
+ 3: { light: "#eff1ef", dark: "#242524" },
+ 4: { light: "#e7e9e7", dark: "#2c2d2c" },
+ 5: { light: "#dfe2df", dark: "#343635" },
+ 6: { light: "#d7dad7", dark: "#3d403f" },
+ 7: { light: "#cccfcc", dark: "#4b4f4e" },
+ 8: { light: "#b9bcb8", dark: "#656a68" },
+ 9: { light: "#898e87", dark: "#727876" },
+ 10: { light: "#7f847d", dark: "#7e8482" },
+ 11: { light: "#60655f", dark: "#b5bab8" },
+ 12: { light: "#1d211c", dark: "#eef0ef" },
+ },
+ alpha: {
+ 1: { light: "#00550003", dark: "#00000000" },
+ 2: { light: "#00490007", dark: "#f5f4f609" },
+ 3: { light: "#00200010", dark: "#ebeaf814" },
+ 4: { light: "#00160018", dark: "#eee5f81d" },
+ 5: { light: "#00180020", dark: "#efe6fe25" },
+ 6: { light: "#00140028", dark: "#f1e6fd30" },
+ 7: { light: "#000f0033", dark: "#eee9ff40" },
+ 8: { light: "#040f0047", dark: "#eee7ff5d" },
+ 9: { light: "#050f0078", dark: "#eae6fd6e" },
+ 10: { light: "#040e0082", dark: "#ece9fd7c" },
+ 11: { light: "#020a00a0", dark: "#f5f1ffb7" },
+ 12: { light: "#010600e3", dark: "#fdfdffef" },
+ },
+ },
+ sand: {
+ solid: {
+ 1: { light: "#fdfdfc", dark: "#131312" },
+ 2: { light: "#f9f9f8", dark: "#1b1b1a" },
+ 3: { light: "#f1f0ef", dark: "#242423" },
+ 4: { light: "#e9e8e6", dark: "#2d2d2b" },
+ 5: { light: "#e2e1de", dark: "#353532" },
+ 6: { light: "#dad9d6", dark: "#3f3f3b" },
+ 7: { light: "#cfceca", dark: "#4e4e48" },
+ 8: { light: "#bcbbb5", dark: "#686860" },
+ 9: { light: "#8d8d86", dark: "#76756e" },
+ 10: { light: "#82827c", dark: "#82817a" },
+ 11: { light: "#63635e", dark: "#bcbab3" },
+ 12: { light: "#21201c", dark: "#f1f0ee" },
+ },
+ alpha: {
+ 1: { light: "#55550003", dark: "#00000000" },
+ 2: { light: "#25250007", dark: "#f7f4e609" },
+ 3: { light: "#20100010", dark: "#f4ebe614" },
+ 4: { light: "#1f150019", dark: "#f3e8e61d" },
+ 5: { light: "#1f180021", dark: "#f4e6e625" },
+ 6: { light: "#19130029", dark: "#f5e7e630" },
+ 7: { light: "#19140035", dark: "#f6e8e63f" },
+ 8: { light: "#1915014a", dark: "#f8e7e55d" },
+ 9: { light: "#0f0f0079", dark: "#f9e6e56e" },
+ 10: { light: "#0c0c0083", dark: "#f9e6e57c" },
+ 11: { light: "#080800a1", dark: "#fcf1efb7" },
+ 12: { light: "#060500e3", dark: "#fefefdf0" },
+ },
+ },
+ gold: {
+ solid: {
+ 1: { light: "#fdfdfc", dark: "#171311" },
+ 2: { light: "#faf9f2", dark: "#1f1a12" },
+ 3: { light: "#f2f0e7", dark: "#292316" },
+ 4: { light: "#eae6db", dark: "#312b1a" },
+ 5: { light: "#e1dccf", dark: "#37311d" },
+ 6: { light: "#d8d0bf", dark: "#3e3923" },
+ 7: { light: "#cbc0aa", dark: "#4a452a" },
+ 8: { light: "#b9a88d", dark: "#615a36" },
+ 9: { light: "#978365", dark: "#6f683e" },
+ 10: { light: "#8c7a5e", dark: "#7a7245" },
+ 11: { light: "#71624b", dark: "#b2a78a" },
+ 12: { light: "#3b352b", dark: "#f3f0e4" },
+ },
+ alpha: {
+ 1: { light: "#55550003", dark: "#00000000" },
+ 2: { light: "#9d8a000d", dark: "#f4f2e409" },
+ 3: { light: "#75600018", dark: "#efece414" },
+ 4: { light: "#6b4e0024", dark: "#f3ece11d" },
+ 5: { light: "#60460030", dark: "#f5ebe124" },
+ 6: { light: "#64440040", dark: "#f6eddf2f" },
+ 7: { light: "#63420055", dark: "#f6ebdd3f" },
+ 8: { light: "#633d0072", dark: "#f8eadc5c" },
+ 9: { light: "#5332009a", dark: "#f8e7db6d" },
+ 10: { light: "#492d00a1", dark: "#f8e6db7b" },
+ 11: { light: "#362100b4", dark: "#fbf2dfb5" },
+ 12: { light: "#130c00d4", dark: "#fefdf3ec" },
+ },
+ },
+ bronze: {
+ solid: {
+ 1: { light: "#fdfcfc", dark: "#141312" },
+ 2: { light: "#fdf7f5", dark: "#1c1918" },
+ 3: { light: "#f6edea", dark: "#242220" },
+ 4: { light: "#efe4df", dark: "#2d2a28" },
+ 5: { light: "#e7d9d3", dark: "#34312f" },
+ 6: { light: "#dfcdc5", dark: "#3d3936" },
+ 7: { light: "#d3bcb3", dark: "#4a4642" },
+ 8: { light: "#c2a499", dark: "#635c56" },
+ 9: { light: "#a18072", dark: "#706a64" },
+ 10: { light: "#957468", dark: "#7c746e" },
+ 11: { light: "#7d5e54", dark: "#b1a7a1" },
+ 12: { light: "#43302b", dark: "#f3edeb" },
+ },
+ alpha: {
+ 1: { light: "#55000003", dark: "#00000000" },
+ 2: { light: "#cc33000a", dark: "#f4f0eb09" },
+ 3: { light: "#92250015", dark: "#eae3df14" },
+ 4: { light: "#80280020", dark: "#f3e4dc1d" },
+ 5: { light: "#7423002c", dark: "#f4e2d924" },
+ 6: { light: "#7324003a", dark: "#f6e1d62f" },
+ 7: { light: "#6c1f004c", dark: "#f6dfd33f" },
+ 8: { light: "#671c0066", dark: "#f8ddcf5b" },
+ 9: { light: "#551a008d", dark: "#f8dacc6d" },
+ 10: { light: "#4c150097", dark: "#f8d8c77a" },
+ 11: { light: "#3d0f00ab", dark: "#fbede0b5" },
+ 12: { light: "#1d0600d4", dark: "#fef6efe6" },
+ },
+ },
+ brown: {
+ solid: {
+ 1: { light: "#fefdfc", dark: "#161312" },
+ 2: { light: "#fcf9f6", dark: "#1d1918" },
+ 3: { light: "#f6eee7", dark: "#262220" },
+ 4: { light: "#f0e4d9", dark: "#2e2a28" },
+ 5: { light: "#ebdaca", dark: "#35312e" },
+ 6: { light: "#e4cdb7", dark: "#3e3936" },
+ 7: { light: "#dcbc9f", dark: "#4c4642" },
+ 8: { light: "#cea37e", dark: "#665c56" },
+ 9: { light: "#ad7f58", dark: "#746a64" },
+ 10: { light: "#a07553", dark: "#80746e" },
+ 11: { light: "#815e46", dark: "#b1a7a1" },
+ 12: { light: "#3e332e", dark: "#f6edeb" },
+ },
+ alpha: {
+ 1: { light: "#aa550003", dark: "#00000000" },
+ 2: { light: "#aa550009", dark: "#f4f0eb09" },
+ 3: { light: "#a04b0018", dark: "#eae3df14" },
+ 4: { light: "#9b4a0026", dark: "#f3e4dc1d" },
+ 5: { light: "#9f4d0035", dark: "#f4e2d924" },
+ 6: { light: "#a04e0048", dark: "#f6e1d62f" },
+ 7: { light: "#a34e0060", dark: "#f6dfd33f" },
+ 8: { light: "#9f4a0081", dark: "#f8ddcf5b" },
+ 9: { light: "#823c00a7", dark: "#f8dacc6d" },
+ 10: { light: "#723300ac", dark: "#f8d8c77a" },
+ 11: { light: "#522100b9", dark: "#fbede0b5" },
+ 12: { light: "#140600d1", dark: "#fef6efe6" },
+ },
+ },
+ yellow: {
+ solid: {
+ 1: { light: "#fdfdf9", dark: "#1a1500" },
+ 2: { light: "#fefce9", dark: "#221b00" },
+ 3: { light: "#fffab8", dark: "#2c2200" },
+ 4: { light: "#fff394", dark: "#352900" },
+ 5: { light: "#ffe770", dark: "#3d2f00" },
+ 6: { light: "#f3d768", dark: "#493900" },
+ 7: { light: "#e4c767", dark: "#5c4800" },
+ 8: { light: "#d5ae39", dark: "#7e6400" },
+ 9: { light: "#ffe629", dark: "#997a00" },
+ 10: { light: "#ffdc00", dark: "#b38f00" },
+ 11: { light: "#9e6c00", dark: "#ffd43b" },
+ 12: { light: "#473b1f", dark: "#fff3c1" },
+ },
+ alpha: {
+ 1: { light: "#aaaa0006", dark: "#00000000" },
+ 2: { light: "#f4dd0016", dark: "#fefce300" },
+ 3: { light: "#ffee0047", dark: "#fef7cb04" },
+ 4: { light: "#ffe3016b", dark: "#fff09f08" },
+ 5: { light: "#ffd5008f", dark: "#ffe67a10" },
+ 6: { light: "#ebbc0097", dark: "#ffe06514" },
+ 7: { light: "#d2a10098", dark: "#ffd24a1e" },
+ 8: { light: "#c99700c6", dark: "#ffb12d30" },
+ 9: { light: "#ffe100d6", dark: "#ffd83d4e" },
+ 10: { light: "#ffdc00", dark: "#ffd5335d" },
+ 11: { light: "#9e6c00", dark: "#ffec9b9c" },
+ 12: { light: "#2e2000e0", dark: "#fffbdccf" },
+ },
+ },
+ amber: {
+ solid: {
+ 1: { light: "#fefdfb", dark: "#1f1400" },
+ 2: { light: "#fefbe9", dark: "#271a00" },
+ 3: { light: "#fff7c2", dark: "#332200" },
+ 4: { light: "#ffee9c", dark: "#3f2a00" },
+ 5: { light: "#fbe577", dark: "#493200" },
+ 6: { light: "#f3d673", dark: "#573d00" },
+ 7: { light: "#e9c162", dark: "#704e00" },
+ 8: { light: "#e2a336", dark: "#946b00" },
+ 9: { light: "#ffc53d", dark: "#b98000" },
+ 10: { light: "#ffba18", dark: "#dc9514" },
+ 11: { light: "#ab6400", dark: "#ffca56" },
+ 12: { light: "#4f3422", dark: "#ffeecc" },
+ },
+ alpha: {
+ 1: { light: "#c0800004", dark: "#00000000" },
+ 2: { light: "#f4d10016", dark: "#fffce80a" },
+ 3: { light: "#ffde003d", dark: "#fff8db1a" },
+ 4: { light: "#ffd40063", dark: "#ffefc22c" },
+ 5: { light: "#f8cf0088", dark: "#ffe7ad3a" },
+ 6: { light: "#eab5008c", dark: "#ffdd994c" },
+ 7: { light: "#dc9b009d", dark: "#ffca7b68" },
+ 8: { light: "#da8a00c9", dark: "#ffab4e8e" },
+ 9: { light: "#ffb300c2", dark: "#ffcf6ab7" },
+ 10: { light: "#ffb300e7", dark: "#ffcf5cc6" },
+ 11: { light: "#ab6400", dark: "#ffefabec" },
+ 12: { light: "#341500dd", dark: "#fffdeedd" },
+ },
+ },
+ orange: {
+ solid: {
+ 1: { light: "#fefcfb", dark: "#1f120b" },
+ 2: { light: "#fff7ed", dark: "#2a1b11" },
+ 3: { light: "#ffefd6", dark: "#372514" },
+ 4: { light: "#ffdfb5", dark: "#442e1a" },
+ 5: { light: "#ffd19a", dark: "#50371e" },
+ 6: { light: "#ffc182", dark: "#614325" },
+ 7: { light: "#f5ae73", dark: "#7c542c" },
+ 8: { light: "#ec9455", dark: "#a15f0d" },
+ 9: { light: "#f76b15", dark: "#f76b15" },
+ 10: { light: "#ef5f00", dark: "#ff7d34" },
+ 11: { light: "#cc4e00", dark: "#ffb185" },
+ 12: { light: "#582d1d", dark: "#ffe4cc" },
+ },
+ alpha: {
+ 1: { light: "#c0400004", dark: "#00000000" },
+ 2: { light: "#ff8e0012", dark: "#fff4e00c" },
+ 3: { light: "#ff9c0029", dark: "#ffebb618" },
+ 4: { light: "#ff91014a", dark: "#ffdd9731" },
+ 5: { light: "#ff8b0065", dark: "#ffcf783e" },
+ 6: { light: "#ff81007d", dark: "#ffbe5f55" },
+ 7: { light: "#ed6c008c", dark: "#ffa34a75" },
+ 8: { light: "#e35f00aa", dark: "#ff7a279f" },
+ 9: { light: "#f65e00ea", dark: "#ff974cc9" },
+ 10: { light: "#ef5f00", dark: "#ffb85ae8" },
+ 11: { light: "#cc4e00", dark: "#ffcb8bec" },
+ 12: { light: "#431200e2", dark: "#fff5ebf2" },
+ },
+ },
+ tomato: {
+ solid: {
+ 1: { light: "#fffcfc", dark: "#1f0905" },
+ 2: { light: "#fff8f7", dark: "#2c0e07" },
+ 3: { light: "#feebe7", dark: "#391209" },
+ 4: { light: "#ffdcd3", dark: "#45160b" },
+ 5: { light: "#ffcdc2", dark: "#501a0d" },
+ 6: { light: "#fdbdaf", dark: "#631f10" },
+ 7: { light: "#f5a898", dark: "#802413" },
+ 8: { light: "#ec8e7b", dark: "#aa341c" },
+ 9: { light: "#e54d2e", dark: "#e54d2e" },
+ 10: { light: "#dd4425", dark: "#ff6a45" },
+ 11: { light: "#d13415", dark: "#ff9684" },
+ 12: { light: "#5c271f", dark: "#ffe9e4" },
+ },
+ alpha: {
+ 1: { light: "#ff000003", dark: "#00000000" },
+ 2: { light: "#ff200008", dark: "#ffe8e80c" },
+ 3: { light: "#f52b0018", dark: "#ffdbdb18" },
+ 4: { light: "#ff35002c", dark: "#ffcccc31" },
+ 5: { light: "#ff2e003d", dark: "#ffbdbd3e" },
+ 6: { light: "#f92d0050", dark: "#ffaaaa55" },
+ 7: { light: "#e7280067", dark: "#ff8f8f75" },
+ 8: { light: "#db250084", dark: "#ff6767a0" },
+ 9: { light: "#df2600d1", dark: "#ff8888c6" },
+ 10: { light: "#d72400da", dark: "#ffa1a1e0" },
+ 11: { light: "#cd2200ea", dark: "#ffb9b9ec" },
+ 12: { light: "#460900e0", dark: "#fff5f5f0" },
+ },
+ },
+ red: {
+ solid: {
+ 1: { light: "#fffcfc", dark: "#1f0606" },
+ 2: { light: "#fff7f7", dark: "#2c0c0c" },
+ 3: { light: "#feebec", dark: "#391212" },
+ 4: { light: "#ffdbdc", dark: "#451818" },
+ 5: { light: "#ffcdce", dark: "#501d1d" },
+ 6: { light: "#fdbdbe", dark: "#632525" },
+ 7: { light: "#f4a9aa", dark: "#802f2f" },
+ 8: { light: "#eb8e90", dark: "#aa3b3b" },
+ 9: { light: "#e5484d", dark: "#e5484d" },
+ 10: { light: "#dc3e42", dark: "#ff5c5c" },
+ 11: { light: "#ce2c31", dark: "#ff8888" },
+ 12: { light: "#641723", dark: "#ffe9e9" },
+ },
+ alpha: {
+ 1: { light: "#ff000003", dark: "#00000000" },
+ 2: { light: "#ff000008", dark: "#ffeded09" },
+ 3: { light: "#f3000d14", dark: "#ffdbdb18" },
+ 4: { light: "#ff000824", dark: "#ffc6c626" },
+ 5: { light: "#ff000632", dark: "#ffb0b032" },
+ 6: { light: "#f8000442", dark: "#ff99994a" },
+ 7: { light: "#df000356", dark: "#ff787868" },
+ 8: { light: "#d2000571", dark: "#ff505088" },
+ 9: { light: "#db0007b7", dark: "#ff7878b5" },
+ 10: { light: "#d10005c1", dark: "#ff8f8fd4" },
+ 11: { light: "#c40006d3", dark: "#ffb9b9e8" },
+ 12: { light: "#55000de8", dark: "#fff5f5f5" },
+ },
+ },
+ ruby: {
+ solid: {
+ 1: { light: "#fffcfd", dark: "#1f0a0d" },
+ 2: { light: "#fff7f8", dark: "#2c1016" },
+ 3: { light: "#feeaed", dark: "#39161f" },
+ 4: { light: "#ffdce1", dark: "#451b27" },
+ 5: { light: "#ffced6", dark: "#50202f" },
+ 6: { light: "#f8bfc8", dark: "#63283a" },
+ 7: { light: "#efacb8", dark: "#803345" },
+ 8: { light: "#e592a3", dark: "#aa4254" },
+ 9: { light: "#e54666", dark: "#e54666" },
+ 10: { light: "#dc3b5d", dark: "#ff5a75" },
+ 11: { light: "#ca244d", dark: "#ff8b99" },
+ 12: { light: "#64172b", dark: "#ffeef0" },
+ },
+ alpha: {
+ 1: { light: "#ff005503", dark: "#00000000" },
+ 2: { light: "#ff002008", dark: "#ffeef009" },
+ 3: { light: "#f3002515", dark: "#ffd9db14" },
+ 4: { light: "#ff002523", dark: "#ffc6c623" },
+ 5: { light: "#ff002a31", dark: "#ffb3b334" },
+ 6: { light: "#e4002440", dark: "#ff9d9d48" },
+ 7: { light: "#ce002553", dark: "#ff7a7a63" },
+ 8: { light: "#c300286d", dark: "#ff505084" },
+ 9: { light: "#db002cb9", dark: "#ff7878b5" },
+ 10: { light: "#d2002cc4", dark: "#ff8f8fc4" },
+ 11: { light: "#c10030db", dark: "#ffb2b2e0" },
+ 12: { light: "#550016e8", dark: "#fff3f3f5" },
+ },
+ },
+ crimson: {
+ solid: {
+ 1: { light: "#fffcfd", dark: "#1e0b13" },
+ 2: { light: "#fef7f9", dark: "#2a101b" },
+ 3: { light: "#ffe9f0", dark: "#371223" },
+ 4: { light: "#fedce7", dark: "#44152b" },
+ 5: { light: "#facedd", dark: "#501832" },
+ 6: { light: "#f3bed1", dark: "#611b3a" },
+ 7: { light: "#eaacc3", dark: "#7d2047" },
+ 8: { light: "#e093b2", dark: "#a42a5b" },
+ 9: { light: "#e93d82", dark: "#e93d82" },
+ 10: { light: "#df3478", dark: "#ff4c8f" },
+ 11: { light: "#cb1d63", dark: "#ff94bf" },
+ 12: { light: "#621639", dark: "#ffeaf0" },
+ },
+ alpha: {
+ 1: { light: "#ff005503", dark: "#00000000" },
+ 2: { light: "#e0004008", dark: "#ffeef109" },
+ 3: { light: "#ff005216", dark: "#ffdae014" },
+ 4: { light: "#f8005123", dark: "#ffc8d021" },
+ 5: { light: "#e5004f31", dark: "#ffb6c030" },
+ 6: { light: "#d0004b41", dark: "#ffa2b043" },
+ 7: { light: "#bf004753", dark: "#ff85a057" },
+ 8: { light: "#b6004a6c", dark: "#ff57907a" },
+ 9: { light: "#e2005bc2", dark: "#ff7dabc2" },
+ 10: { light: "#d70056cb", dark: "#ff93b5cb" },
+ 11: { light: "#c4004fe2", dark: "#ffbad7e4" },
+ 12: { light: "#530026e9", dark: "#fff3f6f5" },
+ },
+ },
+ pink: {
+ solid: {
+ 1: { light: "#fffcfe", dark: "#1a1013" },
+ 2: { light: "#fef7fb", dark: "#27131c" },
+ 3: { light: "#fee9f5", dark: "#3a172b" },
+ 4: { light: "#fbdcef", dark: "#4a1935" },
+ 5: { light: "#f6cee7", dark: "#551c3e" },
+ 6: { light: "#efbfdd", dark: "#651f48" },
+ 7: { light: "#e7acd0", dark: "#80255c" },
+ 8: { light: "#dd93c2", dark: "#ae337f" },
+ 9: { light: "#d6409f", dark: "#d6409f" },
+ 10: { light: "#cf3897", dark: "#ff53c1" },
+ 11: { light: "#c2298a", dark: "#ff94d6" },
+ 12: { light: "#651249", dark: "#ffe9f3" },
+ },
+ alpha: {
+ 1: { light: "#ff00aa03", dark: "#00000000" },
+ 2: { light: "#e0008008", dark: "#ffeff0f1" },
+ 3: { light: "#f4008c16", dark: "#ffd6e0e3" },
+ 4: { light: "#e2008b23", dark: "#ffbfd2d5" },
+ 5: { light: "#d1008331", dark: "#ffabc4c6" },
+ 6: { light: "#c0007840", dark: "#ff96b7b8" },
+ 7: { light: "#b6006f53", dark: "#ff7a9aa1" },
+ 8: { light: "#af006f6c", dark: "#ff567b81" },
+ 9: { light: "#c8007fbf", dark: "#ff7db7dc" },
+ 10: { light: "#c2007ac7", dark: "#ff8bc2e4" },
+ 11: { light: "#b60074d6", dark: "#ffbedff2" },
+ 12: { light: "#59003bed", dark: "#fff6fbfd" },
+ },
+ },
+ plum: {
+ solid: {
+ 1: { light: "#fefcff", dark: "#151016" },
+ 2: { light: "#fdf7fd", dark: "#1e131e" },
+ 3: { light: "#fbebfb", dark: "#2c142a" },
+ 4: { light: "#f7def8", dark: "#371634" },
+ 5: { light: "#f2d1f3", dark: "#411a3e" },
+ 6: { light: "#e9c2ec", dark: "#501d4c" },
+ 7: { light: "#deade3", dark: "#69235e" },
+ 8: { light: "#cf91d8", dark: "#93319c" },
+ 9: { light: "#ab4aba", dark: "#ab4aba" },
+ 10: { light: "#a144af", dark: "#da4ff1" },
+ 11: { light: "#953ea3", dark: "#e34fff" },
+ 12: { light: "#53195d", dark: "#fdebfd" },
+ },
+ alpha: {
+ 1: { light: "#aa00ff03", dark: "#00000000" },
+ 2: { light: "#c000c008", dark: "#ffe6eaf9" },
+ 3: { light: "#cc00cc14", dark: "#ffcfe6f2" },
+ 4: { light: "#c200c921", dark: "#ffbde4ed" },
+ 5: { light: "#b700bd2e", dark: "#ffa8e2e6" },
+ 6: { light: "#a400b03d", dark: "#ff8eddea" },
+ 7: { light: "#9900a852", dark: "#ff71d8df" },
+ 8: { light: "#9000a56e", dark: "#ff47d0cf" },
+ 9: { light: "#89009eb5", dark: "#ff5de6fb" },
+ 10: { light: "#7f0092bb", dark: "#ff6bf0ff" },
+ 11: { light: "#730086c1", dark: "#ff7cfaef" },
+ 12: { light: "#40004be6", dark: "#fff9feff" },
+ },
+ },
+ purple: {
+ solid: {
+ 1: { light: "#fefcfe", dark: "#1d101d" },
+ 2: { light: "#fbf7fe", dark: "#281228" },
+ 3: { light: "#f7edfe", dark: "#341434" },
+ 4: { light: "#f2e2fc", dark: "#3f163f" },
+ 5: { light: "#ead5f9", dark: "#491849" },
+ 6: { light: "#e0c4f4", dark: "#551b55" },
+ 7: { light: "#d1afec", dark: "#691f69" },
+ 8: { light: "#be93e4", dark: "#8e278e" },
+ 9: { light: "#8e4ec6", dark: "#b534b5" },
+ 10: { light: "#8347b9", dark: "#d23ed2" },
+ 11: { light: "#8145b5", dark: "#ea46ea" },
+ 12: { light: "#402060", dark: "#fdebfe" },
+ },
+ alpha: {
+ 1: { light: "#aa00aa03", dark: "#00000000" },
+ 2: { light: "#8000e008", dark: "#f8f0f809" },
+ 3: { light: "#8e00f112", dark: "#f7e6f714" },
+ 4: { light: "#8d00e51d", dark: "#f3d8f61d" },
+ 5: { light: "#8000db2a", dark: "#f1c6f525" },
+ 6: { light: "#7a01d03b", dark: "#f0b4f52c" },
+ 7: { light: "#6d00c350", dark: "#f09ef542" },
+ 8: { light: "#6600c06c", dark: "#f188f55f" },
+ 9: { light: "#5c00adb1", dark: "#f372f57a" },
+ 10: { light: "#53009eb8", dark: "#f45cf592" },
+ 11: { light: "#52009aba", dark: "#f54ff5b2" },
+ 12: { light: "#250049df", dark: "#fbeffbfa" },
+ },
+ },
+ violet: {
+ solid: {
+ 1: { light: "#fdfcfe", dark: "#131019" },
+ 2: { light: "#faf8ff", dark: "#1b1626" },
+ 3: { light: "#f4f0fe", dark: "#201c30" },
+ 4: { light: "#ebe4ff", dark: "#261f39" },
+ 5: { light: "#e1d9ff", dark: "#2b2541" },
+ 6: { light: "#d4cafe", dark: "#322a4f" },
+ 7: { light: "#c2b5f5", dark: "#3f3566" },
+ 8: { light: "#aa99ec", dark: "#5c4b8a" },
+ 9: { light: "#6e56cf", dark: "#7b5bb3" },
+ 10: { light: "#654dc4", dark: "#8a64d7" },
+ 11: { light: "#6550b9", dark: "#b195f5" },
+ 12: { light: "#2f265f", dark: "#ede9fe" },
+ },
+ alpha: {
+ 1: { light: "#5500aa03", dark: "#00000000" },
+ 2: { light: "#4900ff07", dark: "#f0ebff0a" },
+ 3: { light: "#4400ee0f", dark: "#e7dfff14" },
+ 4: { light: "#4300ff1b", dark: "#e1d5ff1d" },
+ 5: { light: "#3600ff26", dark: "#dbc9ff26" },
+ 6: { light: "#3100fb35", dark: "#d1bcff2e" },
+ 7: { light: "#2d01dd4a", dark: "#c1a7ff45" },
+ 8: { light: "#2b00d066", dark: "#ab8dff5f" },
+ 9: { light: "#2400b7a9", dark: "#9877ff7a" },
+ 10: { light: "#2300abb2", dark: "#8661ff91" },
+ 11: { light: "#1f0099af", dark: "#7555ffaa" },
+ 12: { light: "#0b0043d9", dark: "#f5effff9" },
+ },
+ },
+ iris: {
+ solid: {
+ 1: { light: "#fdfdff", dark: "#121215" },
+ 2: { light: "#f8f8ff", dark: "#18181d" },
+ 3: { light: "#f0f1fe", dark: "#1f1f26" },
+ 4: { light: "#e6e7ff", dark: "#25252f" },
+ 5: { light: "#dadcff", dark: "#2b2b38" },
+ 6: { light: "#cbcdff", dark: "#333346" },
+ 7: { light: "#b8baf8", dark: "#40405a" },
+ 8: { light: "#9b9ef0", dark: "#535388" },
+ 9: { light: "#5b5bd6", dark: "#7b7cd1" },
+ 10: { light: "#5151cd", dark: "#8a8aec" },
+ 11: { light: "#5753c6", dark: "#c0c0ff" },
+ 12: { light: "#272962", dark: "#efeffe" },
+ },
+ alpha: {
+ 1: { light: "#0000ff02", dark: "#00000000" },
+ 2: { light: "#0000ff07", dark: "#ebebff09" },
+ 3: { light: "#0011ee0f", dark: "#d1d1ff12" },
+ 4: { light: "#000bff19", dark: "#bcbcff1b" },
+ 5: { light: "#000eff25", dark: "#a3a3ff24" },
+ 6: { light: "#000aff34", dark: "#8686ff2c" },
+ 7: { light: "#0008e647", dark: "#6464ff3b" },
+ 8: { light: "#0008d964", dark: "#3d3dff4c" },
+ 9: { light: "#0000c0a4", dark: "#2a2aff6a" },
+ 10: { light: "#0000b6ae", dark: "#1414ff83" },
+ 11: { light: "#0600abac", dark: "#0000ff99" },
+ 12: { light: "#000246d8", dark: "#0000ffe0" },
+ },
+ },
+ indigo: {
+ solid: {
+ 1: { light: "#fdfdfe", dark: "#131316" },
+ 2: { light: "#f7f9ff", dark: "#19191f" },
+ 3: { light: "#edf2fe", dark: "#202027" },
+ 4: { light: "#e1e9ff", dark: "#26262f" },
+ 5: { light: "#d2deff", dark: "#2d2d38" },
+ 6: { light: "#c1d0ff", dark: "#37374a" },
+ 7: { light: "#abbdf9", dark: "#444569" },
+ 8: { light: "#8da4ef", dark: "#585a9d" },
+ 9: { light: "#3e63dd", dark: "#7e8aff" },
+ 10: { light: "#3358d4", dark: "#a4b1ff" },
+ 11: { light: "#3a5bc7", dark: "#cad8ff" },
+ 12: { light: "#1f2d5c", dark: "#e6edff" },
+ },
+ alpha: {
+ 1: { light: "#00008002", dark: "#00000000" },
+ 2: { light: "#0040ff08", dark: "#e6e6ff09" },
+ 3: { light: "#0047f112", dark: "#ccccff12" },
+ 4: { light: "#0044ff1e", dark: "#b2b2ff1c" },
+ 5: { light: "#0044ff2d", dark: "#9999ff26" },
+ 6: { light: "#003eff3e", dark: "#7a7aff32" },
+ 7: { light: "#0037ed54", dark: "#5e5eff40" },
+ 8: { light: "#0034dc72", dark: "#4949ff55" },
+ 9: { light: "#0031d2c1", dark: "#3636ff8a" },
+ 10: { light: "#002ec9cc", dark: "#2f2fff9e" },
+ 11: { light: "#002bb7c5", dark: "#2b2bffb4" },
+ 12: { light: "#001046e0", dark: "#0a0afff4" },
+ },
+ },
+ blue: {
+ solid: {
+ 1: { light: "#fbfdff", dark: "#131519" },
+ 2: { light: "#f4faff", dark: "#1b2129" },
+ 3: { light: "#e6f4fe", dark: "#202930" },
+ 4: { light: "#d5efff", dark: "#28303b" },
+ 5: { light: "#c2e5ff", dark: "#2f3b49" },
+ 6: { light: "#acd8fc", dark: "#384759" },
+ 7: { light: "#8ec8f6", dark: "#44597d" },
+ 8: { light: "#5eb1ef", dark: "#5373a2" },
+ 9: { light: "#0090ff", dark: "#84b5ff" },
+ 10: { light: "#0588f0", dark: "#bedaff" },
+ 11: { light: "#0d74ce", dark: "#d6e9ff" },
+ 12: { light: "#113264", dark: "#ecf5ff" },
+ },
+ alpha: {
+ 1: { light: "#0080ff04", dark: "#004df211" },
+ 2: { light: "#008cff0b", dark: "#1166fb18" },
+ 3: { light: "#008ff519", dark: "#0077ff3a" },
+ 4: { light: "#009eff2a", dark: "#0075ff57" },
+ 5: { light: "#0093ff3d", dark: "#0081fd6b" },
+ 6: { light: "#0088f653", dark: "#0f89fd7f" },
+ 7: { light: "#0083eb71", dark: "#2a91fe98" },
+ 8: { light: "#0084e6a1", dark: "#3094feb9" },
+ 9: { light: "#0090ff", dark: "#0090ff" },
+ 10: { light: "#0086f0fa", dark: "#3b9eff" },
+ 11: { light: "#006dcbf2", dark: "#70b8ff" },
+ 12: { light: "#002359ee", dark: "#c2e6ff" },
+ },
+ },
+ cyan: {
+ solid: {
+ 1: { light: "#fafdfe", dark: "#111819" },
+ 2: { light: "#f2fafb", dark: "#122022" },
+ 3: { light: "#def7f9", dark: "#123034" },
+ 4: { light: "#caf1f6", dark: "#0f3d47" },
+ 5: { light: "#b5e9f0", dark: "#0c4d5c" },
+ 6: { light: "#9ddde7", dark: "#0a5e72" },
+ 7: { light: "#7dcedc", dark: "#07778f" },
+ 8: { light: "#3db9cf", dark: "#0ea5c5" },
+ 9: { light: "#00a2c7", dark: "#12b4e6" },
+ 10: { light: "#0797b9", dark: "#3fcdf7" },
+ 11: { light: "#107d98", dark: "#8de5fc" },
+ 12: { light: "#0d3c48", dark: "#d5faff" },
+ },
+ alpha: {
+ 1: { light: "#0099cc05", dark: "#00000000" },
+ 2: { light: "#009db10d", dark: "#0091f70a" },
+ 3: { light: "#00c2d121", dark: "#02a7f211" },
+ 4: { light: "#00bcd435", dark: "#00befd28" },
+ 5: { light: "#01b4cc4a", dark: "#00baff3b" },
+ 6: { light: "#00a7c162", dark: "#00befd4d" },
+ 7: { light: "#009fbb82", dark: "#00c7fd5e" },
+ 8: { light: "#00a3c0c2", dark: "#14cdff75" },
+ 9: { light: "#00a2c7", dark: "#11cfff95" },
+ 10: { light: "#0094b7f8", dark: "#00cfffc3" },
+ 11: { light: "#007491ef", dark: "#28d6ffcd" },
+ 12: { light: "#00323ef2", dark: "#52e1fee5" },
+ },
+ },
+ teal: {
+ solid: {
+ 1: { light: "#fafefd", dark: "#0d1514" },
+ 2: { light: "#f3fbf9", dark: "#111c1b" },
+ 3: { light: "#e0f8f3", dark: "#0d2d2a" },
+ 4: { light: "#ccf3ea", dark: "#023b37" },
+ 5: { light: "#b8eae0", dark: "#084843" },
+ 6: { light: "#a1ded2", dark: "#145750" },
+ 7: { light: "#83cdc1", dark: "#1c6961" },
+ 8: { light: "#53b9ab", dark: "#207e73" },
+ 9: { light: "#12a594", dark: "#12a594" },
+ 10: { light: "#0d9b8a", dark: "#0eb39e" },
+ 11: { light: "#008573", dark: "#0bd8b6" },
+ 12: { light: "#0d3d38", dark: "#adf0dd" },
+ },
+ alpha: {
+ 1: { light: "#00cc9905", dark: "#00deab05" },
+ 2: { light: "#00aa800c", dark: "#12fbe60c" },
+ 3: { light: "#00c69d1f", dark: "#00ffe61e" },
+ 4: { light: "#00c39633", dark: "#00ffe92d" },
+ 5: { light: "#00b49047", dark: "#00ffea3b" },
+ 6: { light: "#00a6855e", dark: "#1cffe84b" },
+ 7: { light: "#0099807c", dark: "#2efde85f" },
+ 8: { light: "#009783ac", dark: "#32ffe775" },
+ 9: { light: "#009e8ced", dark: "#13ffe49f" },
+ 10: { light: "#009684f2", dark: "#0dffe0ae" },
+ 11: { light: "#008573", dark: "#0afed5d6" },
+ 12: { light: "#00332df2", dark: "#b8ffebef" },
+ },
+ },
+ jade: {
+ solid: {
+ 1: { light: "#fbfefd", dark: "#0d1512" },
+ 2: { light: "#f4fbf7", dark: "#121c18" },
+ 3: { light: "#e6f7ed", dark: "#0f2e22" },
+ 4: { light: "#d6f1e3", dark: "#0b3b2c" },
+ 5: { light: "#c3e9d7", dark: "#114837" },
+ 6: { light: "#acdec8", dark: "#1b5745" },
+ 7: { light: "#8bceb6", dark: "#246854" },
+ 8: { light: "#56ba9f", dark: "#2a7e68" },
+ 9: { light: "#29a383", dark: "#29a383" },
+ 10: { light: "#26997b", dark: "#27b08b" },
+ 11: { light: "#208368", dark: "#1fd8a4" },
+ 12: { light: "#1d3b31", dark: "#adf0d4" },
+ },
+ alpha: {
+ 1: { light: "#00c08004", dark: "#00de4505" },
+ 2: { light: "#00a3460b", dark: "#27fba60c" },
+ 3: { light: "#00ae4819", dark: "#02f99920" },
+ 4: { light: "#00a85129", dark: "#00ffaa2d" },
+ 5: { light: "#00a2553c", dark: "#11ffb63b" },
+ 6: { light: "#009a5753", dark: "#34ffc24b" },
+ 7: { light: "#00945f74", dark: "#45fdc75e" },
+ 8: { light: "#00976ea9", dark: "#48ffcf75" },
+ 9: { light: "#00916bd6", dark: "#38feca9d" },
+ 10: { light: "#008764d9", dark: "#31fec7ab" },
+ 11: { light: "#007152df", dark: "#21fec0d6" },
+ 12: { light: "#002217e2", dark: "#b8ffe1ef" },
+ },
+ },
+ green: {
+ solid: {
+ 1: { light: "#fbfefc", dark: "#0e1512" },
+ 2: { light: "#f4fbf6", dark: "#121b17" },
+ 3: { light: "#e6f6eb", dark: "#132d21" },
+ 4: { light: "#d6f1df", dark: "#113b29" },
+ 5: { light: "#c4e8d1", dark: "#174933" },
+ 6: { light: "#adddc0", dark: "#20573e" },
+ 7: { light: "#8eceaa", dark: "#28684a" },
+ 8: { light: "#5bb98b", dark: "#2f7c57" },
+ 9: { light: "#30a46c", dark: "#30a46c" },
+ 10: { light: "#2b9a66", dark: "#33b074" },
+ 11: { light: "#218358", dark: "#3dd68c" },
+ 12: { light: "#193b2d", dark: "#b1f1cb" },
+ },
+ alpha: {
+ 1: { light: "#00c04004", dark: "#00de4505" },
+ 2: { light: "#00a32f0b", dark: "#29f99d0b" },
+ 3: { light: "#00a43319", dark: "#22ff991e" },
+ 4: { light: "#00a83829", dark: "#11ff992d" },
+ 5: { light: "#019c393b", dark: "#2bffa23c" },
+ 6: { light: "#00963c52", dark: "#44ffaa4b" },
+ 7: { light: "#00914071", dark: "#50fdac5e" },
+ 8: { light: "#00924ba4", dark: "#54ffad73" },
+ 9: { light: "#008f4acf", dark: "#44ffa49e" },
+ 10: { light: "#008647d4", dark: "#43fea4ab" },
+ 11: { light: "#00713fde", dark: "#46fea5d4" },
+ 12: { light: "#002616e6", dark: "#bbffd7f0" },
+ },
+ },
+ grass: {
+ solid: {
+ 1: { light: "#fbfefb", dark: "#0e1511" },
+ 2: { light: "#f5fbf5", dark: "#141a15" },
+ 3: { light: "#e9f6e9", dark: "#1b2a1e" },
+ 4: { light: "#daf1db", dark: "#1d3a24" },
+ 5: { light: "#c9e8ca", dark: "#25482d" },
+ 6: { light: "#b2ddb5", dark: "#2d5736" },
+ 7: { light: "#94ce9a", dark: "#366740" },
+ 8: { light: "#65ba74", dark: "#3e7949" },
+ 9: { light: "#46a758", dark: "#46a758" },
+ 10: { light: "#3e9b4f", dark: "#53b365" },
+ 11: { light: "#2a7e3b", dark: "#71d083" },
+ 12: { light: "#203c25", dark: "#c2f0c2" },
+ },
+ alpha: {
+ 1: { light: "#00c00004", dark: "#00de1205" },
+ 2: { light: "#0099000a", dark: "#5ef7780a" },
+ 3: { light: "#00970016", dark: "#70fe8c1b" },
+ 4: { light: "#009f0725", dark: "#57ff802c" },
+ 5: { light: "#00930536", dark: "#68ff8b3b" },
+ 6: { light: "#008f0a4d", dark: "#71ff8f4b" },
+ 7: { light: "#018b0f6b", dark: "#77fd925d" },
+ 8: { light: "#008d199a", dark: "#77fd9070" },
+ 9: { light: "#008619b9", dark: "#65ff82a1" },
+ 10: { light: "#007b17c1", dark: "#72ff8dae" },
+ 11: { light: "#006514d5", dark: "#89ff9fcd" },
+ 12: { light: "#002006df", dark: "#ceffceef" },
+ },
+ },
+ lime: {
+ solid: {
+ 1: { light: "#fcfdfa", dark: "#11130c" },
+ 2: { light: "#f8faf3", dark: "#151a10" },
+ 3: { light: "#eef6d6", dark: "#1f2917" },
+ 4: { light: "#e2f0bd", dark: "#29371d" },
+ 5: { light: "#d3e7a6", dark: "#334423" },
+ 6: { light: "#c2da91", dark: "#3d522a" },
+ 7: { light: "#abc978", dark: "#496231" },
+ 8: { light: "#8db654", dark: "#577538" },
+ 9: { light: "#bdee63", dark: "#bdee63" },
+ 10: { light: "#b0e64c", dark: "#d4ff70" },
+ 11: { light: "#5c7c2f", dark: "#bde56c" },
+ 12: { light: "#37401c", dark: "#e3f7ba" },
+ },
+ alpha: {
+ 1: { light: "#66990005", dark: "#11bb0003" },
+ 2: { light: "#6b95000c", dark: "#78f7000a" },
+ 3: { light: "#96c80029", dark: "#9bfd4c1a" },
+ 4: { light: "#8fc60042", dark: "#a7fe5c29" },
+ 5: { light: "#81bb0059", dark: "#affe6537" },
+ 6: { light: "#72aa006e", dark: "#b2fe6d46" },
+ 7: { light: "#61990087", dark: "#b6ff6f57" },
+ 8: { light: "#559200ab", dark: "#b6fd6d6c" },
+ 9: { light: "#93e4009c", dark: "#caff69ed" },
+ 10: { light: "#8fdc00b3", dark: "#d4ff70" },
+ 11: { light: "#375f00d0", dark: "#d1fe77e4" },
+ 12: { light: "#1e2900e3", dark: "#e9febff7" },
+ },
+ },
+ sky: {
+ solid: {
+ 1: { light: "#f9feff", dark: "#0d141f" },
+ 2: { light: "#f1fafd", dark: "#111a27" },
+ 3: { light: "#e1f6fd", dark: "#112840" },
+ 4: { light: "#d1f0fa", dark: "#113555" },
+ 5: { light: "#bee7f5", dark: "#154467" },
+ 6: { light: "#a9daed", dark: "#1b537b" },
+ 7: { light: "#8dcae3", dark: "#1f6692" },
+ 8: { light: "#60b3d7", dark: "#197cae" },
+ 9: { light: "#7ce2fe", dark: "#7ce2fe" },
+ 10: { light: "#74daf8", dark: "#a8eeff" },
+ 11: { light: "#00749e", dark: "#75c7f0" },
+ 12: { light: "#1d3e56", dark: "#c2f3ff" },
+ },
+ alpha: {
+ 1: { light: "#00d5ff06", dark: "#0044ff0f" },
+ 2: { light: "#00a4db0e", dark: "#1171fb18" },
+ 3: { light: "#00b3ee1e", dark: "#1184fc33" },
+ 4: { light: "#00ace42e", dark: "#128fff49" },
+ 5: { light: "#00a1d841", dark: "#1c9dfd5d" },
+ 6: { light: "#0092ca56", dark: "#28a5ff72" },
+ 7: { light: "#0089c172", dark: "#2badfe8b" },
+ 8: { light: "#0085bf9f", dark: "#1db2fea9" },
+ 9: { light: "#00c7fe83", dark: "#7ce3fffe" },
+ 10: { light: "#00bcf38b", dark: "#a8eeff" },
+ 11: { light: "#00749e", dark: "#7cd3ffef" },
+ 12: { light: "#002540e2", dark: "#c2f3ff" },
+ },
+ },
+
+ mint: {
+ solid: {
+ 1: { light: "#f9fefd", dark: "#0e1515" },
+ 2: { light: "#f2fbf9", dark: "#0f1b1b" },
+ 3: { light: "#ddf9f2", dark: "#092c2b" },
+ 4: { light: "#c8f4e9", dark: "#003a38" },
+ 5: { light: "#b3ecde", dark: "#004744" },
+ 6: { light: "#9ce0d0", dark: "#105650" },
+ 7: { light: "#7ecfbd", dark: "#1e685f" },
+ 8: { light: "#4cbba5", dark: "#277f70" },
+ 9: { light: "#86ead4", dark: "#86ead4" },
+ 10: { light: "#7de0cb", dark: "#a8f5e5" },
+ 11: { light: "#027864", dark: "#58d5ba" },
+ 12: { light: "#16433c", dark: "#c4f5e1" },
+ },
+ alpha: {
+ 1: { light: "#00d5aa06", dark: "#00dede05" },
+ 2: { light: "#00b18a0d", dark: "#00f9f90b" },
+ 3: { light: "#00d29e22", dark: "#00fff61d" },
+ 4: { light: "#00cc9937", dark: "#00ffef30" },
+ 5: { light: "#00b48e4a", dark: "#00ffe841" },
+ 6: { light: "#009f865e", dark: "#00ffde54" },
+ 7: { light: "#008c7d7e", dark: "#00ffd469" },
+ 8: { light: "#007570a8", dark: "#00ffd982" },
+ 9: { light: "#007a6aba", dark: "#00ffcb9f" },
+ 10: { light: "#005476b6", dark: "#00ffd5ba" },
+ 11: { light: "#004172d6", dark: "#00ffdfdd" },
+ 12: { light: "#001e28e4", dark: "#00ffecf5" },
+ },
+ },
+}
diff --git a/plugins/radix-colors/src/main.tsx b/plugins/radix-colors/src/main.tsx
new file mode 100644
index 00000000..ed682df1
--- /dev/null
+++ b/plugins/radix-colors/src/main.tsx
@@ -0,0 +1,14 @@
+import "framer-plugin/framer.css"
+
+import React from "react"
+import ReactDOM from "react-dom/client"
+import { App } from "./App.tsx"
+
+const root = document.getElementById("root")
+if (!root) throw new Error("Root element not found")
+
+ReactDOM.createRoot(root).render(
+
+
+
+)
diff --git a/plugins/radix-colors/src/types/index.ts b/plugins/radix-colors/src/types/index.ts
new file mode 100644
index 00000000..aa4bad1a
--- /dev/null
+++ b/plugins/radix-colors/src/types/index.ts
@@ -0,0 +1,55 @@
+import { z } from "zod"
+
+const HexColor = z.string().regex(/^#[0-9a-f]{6}$/i)
+type HexColor = z.infer
+
+export const colorVariants = ["solid", "alpha"] as const
+export const ColorVariant = z.enum(colorVariants)
+export type ColorVariant = z.infer
+
+export const colorThemes = ["light", "dark", "auto"] as const
+export const ColorTheme = z.enum(colorThemes)
+export type ColorTheme = z.infer
+
+const colorScaleStops = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] as const
+export type ColorScaleStop = (typeof colorScaleStops)[number]
+
+type ColorStop = Record, HexColor>
+type ColorScale = Record>
+export type ColorScales = Record
+
+const colorNames = [
+ "gray",
+ "mauve",
+ "slate",
+ "sage",
+ "olive",
+ "sand",
+ "gold",
+ "bronze",
+ "brown",
+ "yellow",
+ "amber",
+ "orange",
+ "tomato",
+ "red",
+ "ruby",
+ "crimson",
+ "pink",
+ "plum",
+ "purple",
+ "violet",
+ "iris",
+ "indigo",
+ "blue",
+ "cyan",
+ "teal",
+ "jade",
+ "green",
+ "grass",
+ "lime",
+ "mint",
+ "sky",
+] as const
+export const ColorName = z.enum(colorNames)
+export type ColorName = z.infer
diff --git a/plugins/radix-colors/src/utils/colorOptions.ts b/plugins/radix-colors/src/utils/colorOptions.ts
new file mode 100644
index 00000000..0db8f045
--- /dev/null
+++ b/plugins/radix-colors/src/utils/colorOptions.ts
@@ -0,0 +1,49 @@
+import { ColorName } from "../types"
+
+type ColorCategory = {
+ id: string
+ label: string
+ colors: ColorName[]
+}
+
+export const colorNamesByCategory: ColorCategory[] = [
+ {
+ id: "grays",
+ label: "Grays",
+ colors: ["gray", "mauve", "slate", "sage", "olive", "sand"],
+ },
+ {
+ id: "colors",
+ label: "Colors",
+ colors: [
+ "brown",
+ "orange",
+ "tomato",
+ "red",
+ "ruby",
+ "crimson",
+ "pink",
+ "plum",
+ "purple",
+ "violet",
+ "iris",
+ "indigo",
+ "blue",
+ "cyan",
+ "teal",
+ "jade",
+ "green",
+ "grass",
+ ],
+ },
+ {
+ id: "bright",
+ label: "Bright Colors",
+ colors: ["sky", "mint", "lime", "yellow", "amber"],
+ },
+ {
+ id: "metals",
+ label: "Metals",
+ colors: ["gold", "bronze"],
+ },
+]
diff --git a/plugins/radix-colors/src/utils/common.ts b/plugins/radix-colors/src/utils/common.ts
new file mode 100644
index 00000000..4605fe99
--- /dev/null
+++ b/plugins/radix-colors/src/utils/common.ts
@@ -0,0 +1,6 @@
+export function slugToTitle(slug: string) {
+ return slug
+ .split("-")
+ .map(word => word[0].toUpperCase() + word.slice(1))
+ .join(" ")
+}
diff --git a/plugins/radix-colors/src/utils/createFramerColors.ts b/plugins/radix-colors/src/utils/createFramerColors.ts
new file mode 100644
index 00000000..6071159b
--- /dev/null
+++ b/plugins/radix-colors/src/utils/createFramerColors.ts
@@ -0,0 +1,35 @@
+import { z } from "zod"
+import { ColorName, ColorScaleStop, ColorTheme, ColorVariant } from "../types"
+import { colorsScales } from "../constants"
+import { framer } from "framer-plugin"
+
+export const ColorOptions = z.object({
+ name: ColorName,
+ variant: ColorVariant.default("solid"),
+ theme: ColorTheme.or(z.ZodEnum.create(["auto"])).default("auto"),
+})
+export type ColorOptions = z.infer
+
+const ColorStyleAttributes = z.object({
+ name: z.string(),
+ light: z.string(),
+ dark: z.string().optional(),
+})
+export type ColorStyleAttributes = z.infer
+
+export async function createFramerColors({ name, variant, theme }: ColorOptions) {
+ const colorScale = colorsScales[name][variant]
+
+ colorScale[1].light
+
+ for (const stop in colorScale) {
+ const colorStop = colorScale[Number(stop) as ColorScaleStop]
+ const isAuto = theme === "auto"
+
+ await framer.createColorStyle({
+ name: `${name}.${stop}`,
+ light: isAuto ? colorStop.light : colorStop[theme],
+ dark: isAuto ? colorStop.dark : undefined,
+ })
+ }
+}
diff --git a/plugins/radix-colors/src/vite-env.d.ts b/plugins/radix-colors/src/vite-env.d.ts
new file mode 100644
index 00000000..11f02fe2
--- /dev/null
+++ b/plugins/radix-colors/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/plugins/radix-colors/tsconfig.json b/plugins/radix-colors/tsconfig.json
new file mode 100644
index 00000000..6353f504
--- /dev/null
+++ b/plugins/radix-colors/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "target": "ES2022",
+ "useDefineForClassFields": true,
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
+ "module": "ES2022",
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src", "src/utils/createFramerColors.ts"]
+}
diff --git a/plugins/radix-colors/vite.config.ts b/plugins/radix-colors/vite.config.ts
new file mode 100644
index 00000000..7efb6ef8
--- /dev/null
+++ b/plugins/radix-colors/vite.config.ts
@@ -0,0 +1,12 @@
+import { defineConfig } from "vite"
+import react from "@vitejs/plugin-react-swc"
+import mkcert from "vite-plugin-mkcert"
+import framer from "vite-plugin-framer"
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react(), mkcert(), framer()],
+ build: {
+ target: "ES2022",
+ },
+})