diff --git a/admin/nextjs/.env b/admin/nextjs/.env
index 803cf8c..97676c6 100644
--- a/admin/nextjs/.env
+++ b/admin/nextjs/.env
@@ -1,5 +1,5 @@
## Version
-NEXT_PUBLIC_VERSION=v1.3.0
+NEXT_PUBLIC_VERSION=v2.0.0
## Public URL
NEXT_PUBLIC_PATH=
diff --git a/admin/nextjs/.gitignore b/admin/nextjs/.gitignore
index 6d6c766..50c4c76 100644
--- a/admin/nextjs/.gitignore
+++ b/admin/nextjs/.gitignore
@@ -24,6 +24,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
+.yarn
# local env files
#.env*.local
diff --git a/admin/nextjs/.yarnrc.yml b/admin/nextjs/.yarnrc.yml
new file mode 100644
index 0000000..3186f3f
--- /dev/null
+++ b/admin/nextjs/.yarnrc.yml
@@ -0,0 +1 @@
+nodeLinker: node-modules
diff --git a/admin/nextjs/jsconfig.json b/admin/nextjs/jsconfig.json
index 29463ed..320b6c5 100644
--- a/admin/nextjs/jsconfig.json
+++ b/admin/nextjs/jsconfig.json
@@ -12,7 +12,7 @@
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
- "jsx": "preserve",
+ "jsx": "react-jsx",
"incremental": true,
"plugins": [
{
diff --git a/admin/nextjs/package-lock.json b/admin/nextjs/package-lock.json
index 49bd192..74219bd 100644
--- a/admin/nextjs/package-lock.json
+++ b/admin/nextjs/package-lock.json
@@ -1,114 +1,244 @@
{
- "name": "saas-able-react-mui-admin-next-seed-js",
- "version": "1.3.0",
+ "name": "saas-able-react-mui-admin-next-free",
+ "version": "2.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "saas-able-react-mui-admin-next-seed-js",
- "version": "1.3.0",
+ "name": "saas-able-react-mui-admin-next-free",
+ "version": "2.0.0",
"dependencies": {
"@emotion/cache": "11.14.0",
"@emotion/react": "11.14.0",
"@emotion/styled": "11.14.1",
- "@mui/material": "7.2.0",
- "@mui/material-nextjs": "7.2.0",
- "@mui/x-charts": "8.9.0",
- "@mui/x-date-pickers": "8.9.0",
- "@tabler/icons-react": "3.34.1",
- "lodash-es": "4.17.21",
- "next": "15.4.3",
+ "@mui/material": "7.3.6",
+ "@mui/material-nextjs": "7.3.6",
+ "@mui/x-charts": "8.22.1",
+ "@mui/x-date-pickers": "8.22.1",
+ "@tabler/icons-react": "3.36.0",
+ "lodash-es": "4.17.22",
+ "next": "16.1.1",
"notistack": "3.0.2",
- "react": "19.1.0",
+ "react": "19.2.3",
"react-device-detect": "2.2.3",
- "react-dom": "19.1.0",
- "react-hook-form": "7.61.0",
+ "react-dom": "19.2.3",
+ "react-hook-form": "7.69.0",
"simplebar-react": "3.3.2",
"stylis": "4.3.6",
"stylis-plugin-rtl": "2.1.1",
- "swr": "2.3.4"
+ "swr": "2.3.8"
},
"devDependencies": {
"@eslint/compat": "1.3.1",
- "@eslint/eslintrc": "3.3.1",
- "@eslint/js": "9.31.0",
- "eslint": "9.31.0",
- "eslint-config-next": "15.4.3",
+ "@eslint/eslintrc": "3.3.3",
+ "@eslint/js": "9.39.2",
+ "eslint": "9.39.2",
+ "eslint-config-next": "16.1.1",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-jsx-a11y": "6.10.2",
- "eslint-plugin-prettier": "5.5.3",
+ "eslint-plugin-prettier": "5.5.4",
"eslint-plugin-react-hooks": "5.2.0",
- "prettier": "3.6.2"
+ "prettier": "3.7.4"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.26.2",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
- "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.27.1",
"js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "picocolors": "^1.1.1"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/compat-data": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
+ "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.4",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/core/node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@babel/generator": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz",
- "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz",
+ "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.27.0",
- "@babel/types": "^7.27.0",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
+ "@babel/parser": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-module-imports": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
- "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+ "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.25.9",
- "@babel/types": "^7.25.9"
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
- "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
- "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helpers": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
+ "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/parser": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
- "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+ "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.27.0"
+ "@babel/types": "^7.28.5"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -118,75 +248,75 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.28.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz",
- "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/template": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz",
- "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==",
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.26.2",
- "@babel/parser": "^7.27.0",
- "@babel/types": "^7.27.0"
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz",
- "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+ "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.26.2",
- "@babel/generator": "^7.27.0",
- "@babel/parser": "^7.27.0",
- "@babel/template": "^7.27.0",
- "@babel/types": "^7.27.0",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.5",
+ "debug": "^4.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
- "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
"license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.25.9",
- "@babel/helper-validator-identifier": "^7.25.9"
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@emnapi/core": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.1.tgz",
- "integrity": "sha512-4JFstCTaToCFrPqrGzgkF8N2NHjtsaY4uRh6brZQ5L9e4wbMieX8oDT8N7qfVFTQecHFEtkj4ve49VIZ3mKVqw==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz",
+ "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
- "@emnapi/wasi-threads": "1.0.1",
+ "@emnapi/wasi-threads": "1.1.0",
"tslib": "^2.4.0"
}
},
"node_modules/@emnapi/runtime": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz",
- "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz",
+ "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==",
"license": "MIT",
"optional": true,
"dependencies": {
@@ -194,9 +324,9 @@
}
},
"node_modules/@emnapi/wasi-threads": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz",
- "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
+ "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -234,6 +364,7 @@
"resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz",
"integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@emotion/memoize": "^0.9.0",
"@emotion/sheet": "^1.4.0",
@@ -255,9 +386,9 @@
"license": "MIT"
},
"node_modules/@emotion/is-prop-valid": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz",
- "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz",
+ "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==",
"license": "MIT",
"dependencies": {
"@emotion/memoize": "^0.9.0"
@@ -274,6 +405,7 @@
"resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz",
"integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.13.5",
@@ -317,6 +449,7 @@
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz",
"integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.13.5",
@@ -363,9 +496,9 @@
"license": "MIT"
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.0.tgz",
- "integrity": "sha512-WhCn7Z7TauhBtmzhvKpoQs0Wwb/kBcy4CwpuI0/eEIr2Lx2auxmulAzLr91wVZJaz47iUZdkXOK7WlAfxGKCnA==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -395,9 +528,9 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
"dev": true,
"license": "MIT",
"engines": {
@@ -423,13 +556,13 @@
}
},
"node_modules/@eslint/config-array": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
- "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/object-schema": "^2.1.6",
+ "@eslint/object-schema": "^2.1.7",
"debug": "^4.3.1",
"minimatch": "^3.1.2"
},
@@ -438,19 +571,22 @@
}
},
"node_modules/@eslint/config-helpers": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz",
- "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+ "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
"dev": true,
"license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.17.0"
+ },
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/core": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz",
- "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==",
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+ "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -461,9 +597,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz",
+ "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -473,7 +609,7 @@
"globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
+ "js-yaml": "^4.1.1",
"minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
@@ -484,23 +620,10 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@eslint/js": {
- "version": "9.31.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz",
- "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==",
+ "version": "9.39.2",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz",
+ "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -511,9 +634,9 @@
}
},
"node_modules/@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -521,13 +644,13 @@
}
},
"node_modules/@eslint/plugin-kit": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz",
- "integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+ "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/core": "^0.15.1",
+ "@eslint/core": "^0.17.0",
"levn": "^0.4.1"
},
"engines": {
@@ -545,33 +668,19 @@
}
},
"node_modules/@humanfs/node": {
- "version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
+ "version": "0.16.7",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
+ "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.3.0"
+ "@humanwhocodes/retry": "^0.4.0"
},
"engines": {
"node": ">=18.18.0"
}
},
- "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
"node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -587,9 +696,9 @@
}
},
"node_modules/@humanwhocodes/retry": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
- "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -600,10 +709,20 @@
"url": "https://github.com/sponsors/nzakas"
}
},
+ "node_modules/@img/colour": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz",
+ "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@img/sharp-darwin-arm64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz",
- "integrity": "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
+ "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
"cpu": [
"arm64"
],
@@ -619,13 +738,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-darwin-arm64": "1.2.0"
+ "@img/sharp-libvips-darwin-arm64": "1.2.4"
}
},
"node_modules/@img/sharp-darwin-x64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.3.tgz",
- "integrity": "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
+ "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
"cpu": [
"x64"
],
@@ -641,13 +760,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-darwin-x64": "1.2.0"
+ "@img/sharp-libvips-darwin-x64": "1.2.4"
}
},
"node_modules/@img/sharp-libvips-darwin-arm64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.0.tgz",
- "integrity": "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
+ "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
"cpu": [
"arm64"
],
@@ -661,9 +780,9 @@
}
},
"node_modules/@img/sharp-libvips-darwin-x64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.0.tgz",
- "integrity": "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
+ "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
"cpu": [
"x64"
],
@@ -677,9 +796,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-arm": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.0.tgz",
- "integrity": "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
+ "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
"cpu": [
"arm"
],
@@ -693,9 +812,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-arm64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.0.tgz",
- "integrity": "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
+ "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
"cpu": [
"arm64"
],
@@ -709,9 +828,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-ppc64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.0.tgz",
- "integrity": "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
+ "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
"cpu": [
"ppc64"
],
@@ -724,10 +843,26 @@
"url": "https://opencollective.com/libvips"
}
},
+ "node_modules/@img/sharp-libvips-linux-riscv64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
+ "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
"node_modules/@img/sharp-libvips-linux-s390x": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.0.tgz",
- "integrity": "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
+ "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
"cpu": [
"s390x"
],
@@ -741,9 +876,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-x64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.0.tgz",
- "integrity": "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
+ "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
"cpu": [
"x64"
],
@@ -757,9 +892,9 @@
}
},
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.0.tgz",
- "integrity": "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
+ "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
"cpu": [
"arm64"
],
@@ -773,9 +908,9 @@
}
},
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.0.tgz",
- "integrity": "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
+ "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
"cpu": [
"x64"
],
@@ -789,9 +924,9 @@
}
},
"node_modules/@img/sharp-linux-arm": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.3.tgz",
- "integrity": "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
+ "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
"cpu": [
"arm"
],
@@ -807,13 +942,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-arm": "1.2.0"
+ "@img/sharp-libvips-linux-arm": "1.2.4"
}
},
"node_modules/@img/sharp-linux-arm64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.3.tgz",
- "integrity": "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
+ "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
"cpu": [
"arm64"
],
@@ -829,13 +964,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-arm64": "1.2.0"
+ "@img/sharp-libvips-linux-arm64": "1.2.4"
}
},
"node_modules/@img/sharp-linux-ppc64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.3.tgz",
- "integrity": "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
+ "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
"cpu": [
"ppc64"
],
@@ -851,13 +986,35 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-ppc64": "1.2.0"
+ "@img/sharp-libvips-linux-ppc64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-riscv64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
+ "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-riscv64": "1.2.4"
}
},
"node_modules/@img/sharp-linux-s390x": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.3.tgz",
- "integrity": "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
+ "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
"cpu": [
"s390x"
],
@@ -873,13 +1030,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-s390x": "1.2.0"
+ "@img/sharp-libvips-linux-s390x": "1.2.4"
}
},
"node_modules/@img/sharp-linux-x64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.3.tgz",
- "integrity": "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
+ "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
"cpu": [
"x64"
],
@@ -895,13 +1052,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-x64": "1.2.0"
+ "@img/sharp-libvips-linux-x64": "1.2.4"
}
},
"node_modules/@img/sharp-linuxmusl-arm64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.3.tgz",
- "integrity": "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
+ "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
"cpu": [
"arm64"
],
@@ -917,13 +1074,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-arm64": "1.2.0"
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
}
},
"node_modules/@img/sharp-linuxmusl-x64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.3.tgz",
- "integrity": "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
+ "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
"cpu": [
"x64"
],
@@ -939,20 +1096,20 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-x64": "1.2.0"
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
}
},
"node_modules/@img/sharp-wasm32": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.3.tgz",
- "integrity": "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
+ "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
"cpu": [
"wasm32"
],
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
"optional": true,
"dependencies": {
- "@emnapi/runtime": "^1.4.4"
+ "@emnapi/runtime": "^1.7.0"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
@@ -962,9 +1119,9 @@
}
},
"node_modules/@img/sharp-win32-arm64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.3.tgz",
- "integrity": "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
+ "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
"cpu": [
"arm64"
],
@@ -981,9 +1138,9 @@
}
},
"node_modules/@img/sharp-win32-ia32": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.3.tgz",
- "integrity": "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
+ "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
"cpu": [
"ia32"
],
@@ -1000,9 +1157,9 @@
}
},
"node_modules/@img/sharp-win32-x64": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.3.tgz",
- "integrity": "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
+ "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
"cpu": [
"x64"
],
@@ -1019,17 +1176,24 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
- "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
"license": "MIT",
"dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
@@ -1041,25 +1205,16 @@
"node": ">=6.0.0"
}
},
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@@ -1067,9 +1222,9 @@
}
},
"node_modules/@mui/core-downloads-tracker": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.1.tgz",
- "integrity": "sha512-+mIK1Z0BhOaQ0vCgOkT1mSrIpEHLo338h4/duuL4TBLXPvUMit732mnwJY3W40Avy30HdeSfwUAAGRkKmwRaEQ==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.6.tgz",
+ "integrity": "sha512-QaYtTHlr8kDFN5mE1wbvVARRKH7Fdw1ZuOjBJcFdVpfNfRYKF3QLT4rt+WaB6CKJvpqxRsmEo0kpYinhH5GeHg==",
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -1077,22 +1232,23 @@
}
},
"node_modules/@mui/material": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.2.0.tgz",
- "integrity": "sha512-NTuyFNen5Z2QY+I242MDZzXnFIVIR6ERxo7vntFi9K1wCgSwvIl0HcAO2OOydKqqKApE6omRiYhpny1ZhGuH7Q==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.3.6.tgz",
+ "integrity": "sha512-R4DaYF3dgCQCUAkr4wW1w26GHXcf5rCmBRHVBuuvJvaGLmZdD8EjatP80Nz5JCw0KxORAzwftnHzXVnjR8HnFw==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "@mui/core-downloads-tracker": "^7.2.0",
- "@mui/system": "^7.2.0",
- "@mui/types": "^7.4.4",
- "@mui/utils": "^7.2.0",
+ "@babel/runtime": "^7.28.4",
+ "@mui/core-downloads-tracker": "^7.3.6",
+ "@mui/system": "^7.3.6",
+ "@mui/types": "^7.4.9",
+ "@mui/utils": "^7.3.6",
"@popperjs/core": "^2.11.8",
"@types/react-transition-group": "^4.4.12",
"clsx": "^2.1.1",
"csstype": "^3.1.3",
"prop-types": "^15.8.1",
- "react-is": "^19.1.0",
+ "react-is": "^19.2.0",
"react-transition-group": "^4.4.5"
},
"engines": {
@@ -1105,7 +1261,7 @@
"peerDependencies": {
"@emotion/react": "^11.5.0",
"@emotion/styled": "^11.3.0",
- "@mui/material-pigment-css": "^7.2.0",
+ "@mui/material-pigment-css": "^7.3.6",
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -1126,12 +1282,12 @@
}
},
"node_modules/@mui/material-nextjs": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@mui/material-nextjs/-/material-nextjs-7.2.0.tgz",
- "integrity": "sha512-/W2iKkjeOdaYBu5xNYi/w5HUX2C4HHefSMW7UgCvTKl90yy1puE7kmAgv/gxBghqhEE27cNWdevRrnvVhNRaUA==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/material-nextjs/-/material-nextjs-7.3.6.tgz",
+ "integrity": "sha512-2fP1QyBRY9rT02/ykNw0yz9aAWy5ZVp+YzkLEqio9VTkIYkon/xSUQX7PfHLOWUbKlkwoKtCQOjsvrYtSOyKnQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6"
+ "@babel/runtime": "^7.28.4"
},
"engines": {
"node": ">=14.0.0"
@@ -1145,7 +1301,7 @@
"@emotion/react": "^11.11.4",
"@emotion/server": "^11.11.0",
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
- "next": "^13.0.0 || ^14.0.0 || ^15.0.0",
+ "next": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
@@ -1161,13 +1317,13 @@
}
},
"node_modules/@mui/private-theming": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.1.tgz",
- "integrity": "sha512-WU3YLkKXii/x8ZEKnrLKsPwplCVE11yZxUvlaaZSIzCcI3x2OdFC8eMlNy74hVeUsYQvzzX1Es/k4ARPlFvpPQ==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.6.tgz",
+ "integrity": "sha512-Ws9wZpqM+FlnbZXaY/7yvyvWQo1+02Tbx50mVdNmzWEi51C51y56KAbaDCYyulOOBL6BJxuaqG8rNNuj7ivVyw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.28.2",
- "@mui/utils": "^7.3.1",
+ "@babel/runtime": "^7.28.4",
+ "@mui/utils": "^7.3.6",
"prop-types": "^15.8.1"
},
"engines": {
@@ -1188,12 +1344,12 @@
}
},
"node_modules/@mui/styled-engine": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.1.tgz",
- "integrity": "sha512-Nqo6OHjvJpXJ1+9TekTE//+8RybgPQUKwns2Lh0sq+8rJOUSUKS3KALv4InSOdHhIM9Mdi8/L7LTF1/Ky6D6TQ==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.6.tgz",
+ "integrity": "sha512-+wiYbtvj+zyUkmDB+ysH6zRjuQIJ+CM56w0fEXV+VDNdvOuSywG+/8kpjddvvlfMLsaWdQe5oTuYGBcodmqGzQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.28.2",
+ "@babel/runtime": "^7.28.4",
"@emotion/cache": "^11.14.0",
"@emotion/serialize": "^1.3.3",
"@emotion/sheet": "^1.4.0",
@@ -1222,16 +1378,17 @@
}
},
"node_modules/@mui/system": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.1.tgz",
- "integrity": "sha512-mIidecvcNVpNJMdPDmCeoSL5zshKBbYPcphjuh6ZMjhybhqhZ4mX6k9zmIWh6XOXcqRQMg5KrcjnO0QstrNj3w==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.6.tgz",
+ "integrity": "sha512-8fehAazkHNP1imMrdD2m2hbA9sl7Ur6jfuNweh5o4l9YPty4iaZzRXqYvBCWQNwFaSHmMEj2KPbyXGp7Bt73Rg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@babel/runtime": "^7.28.2",
- "@mui/private-theming": "^7.3.1",
- "@mui/styled-engine": "^7.3.1",
- "@mui/types": "^7.4.5",
- "@mui/utils": "^7.3.1",
+ "@babel/runtime": "^7.28.4",
+ "@mui/private-theming": "^7.3.6",
+ "@mui/styled-engine": "^7.3.6",
+ "@mui/types": "^7.4.9",
+ "@mui/utils": "^7.3.6",
"clsx": "^2.1.1",
"csstype": "^3.1.3",
"prop-types": "^15.8.1"
@@ -1262,12 +1419,12 @@
}
},
"node_modules/@mui/types": {
- "version": "7.4.5",
- "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.5.tgz",
- "integrity": "sha512-ZPwlAOE3e8C0piCKbaabwrqZbW4QvWz0uapVPWya7fYj6PeDkl5sSJmomT7wjOcZGPB48G/a6Ubidqreptxz4g==",
+ "version": "7.4.9",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.9.tgz",
+ "integrity": "sha512-dNO8Z9T2cujkSIaCnWwprfeKmTWh97cnjkgmpFJ2sbfXLx8SMZijCYHOtP/y5nnUb/Rm2omxbDMmtUoSaUtKaw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.28.2"
+ "@babel/runtime": "^7.28.4"
},
"peerDependencies": {
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -1279,17 +1436,17 @@
}
},
"node_modules/@mui/utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.1.tgz",
- "integrity": "sha512-/31y4wZqVWa0jzMnzo6JPjxwP6xXy4P3+iLbosFg/mJQowL1KIou0LC+lquWW60FKVbKz5ZUWBg2H3jausa0pw==",
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.6.tgz",
+ "integrity": "sha512-jn+Ba02O6PiFs7nKva8R2aJJ9kJC+3kQ2R0BbKNY3KQQ36Qng98GnPRFTlbwYTdMD6hLEBKaMLUktyg/rTfd2w==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.28.2",
- "@mui/types": "^7.4.5",
+ "@babel/runtime": "^7.28.4",
+ "@mui/types": "^7.4.9",
"@types/prop-types": "^15.7.15",
"clsx": "^2.1.1",
"prop-types": "^15.8.1",
- "react-is": "^19.1.1"
+ "react-is": "^19.2.0"
},
"engines": {
"node": ">=14.0.0"
@@ -1309,21 +1466,21 @@
}
},
"node_modules/@mui/x-charts": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/@mui/x-charts/-/x-charts-8.9.0.tgz",
- "integrity": "sha512-FQEjlVa285/WUTTuS84v4Nvj0OXQz1oxOl1ommhn6xbIilQXMOesAA4iFFYVz1ZBsywopVsWqwPSLgmkpWrzHg==",
+ "version": "8.22.1",
+ "resolved": "https://registry.npmjs.org/@mui/x-charts/-/x-charts-8.22.1.tgz",
+ "integrity": "sha512-GHnBCRLXCYH6pjR2mI5H55FTuMGg6N630pOJ7aR5186zsHIVDN1EwnY1wWUn+vfen+4JiSNO04wUp8zWHbNwRw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "@mui/utils": "^7.2.0",
- "@mui/x-charts-vendor": "8.6.0",
- "@mui/x-internal-gestures": "0.2.1",
- "@mui/x-internals": "8.8.0",
+ "@babel/runtime": "^7.28.4",
+ "@mui/utils": "^7.3.5",
+ "@mui/x-charts-vendor": "8.22.0",
+ "@mui/x-internal-gestures": "0.3.6",
+ "@mui/x-internals": "8.22.0",
"bezier-easing": "^2.1.0",
"clsx": "^2.1.1",
"prop-types": "^15.8.1",
"reselect": "^5.1.1",
- "use-sync-external-store": "^1.5.0"
+ "use-sync-external-store": "^1.6.0"
},
"engines": {
"node": ">=14.0.0"
@@ -1346,39 +1503,39 @@
}
},
"node_modules/@mui/x-charts-vendor": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/@mui/x-charts-vendor/-/x-charts-vendor-8.6.0.tgz",
- "integrity": "sha512-TTtfhxXuwtoZfyno7+4y3ZhZeFqavFJecWbteLEby0lFqALWB9GGJpkc1TIHWr3GkWE5UHEbdADZ0pfrPenezA==",
+ "version": "8.22.0",
+ "resolved": "https://registry.npmjs.org/@mui/x-charts-vendor/-/x-charts-vendor-8.22.0.tgz",
+ "integrity": "sha512-lRG79nqZMeYfrXftcb+6Jd/A+GUNevv5AyCu2yi+YJJvjjPpBSy6rpEAS5/u3YcJpO08cL7Px1x6BY24w/x9jA==",
"license": "MIT AND ISC",
"dependencies": {
- "@babel/runtime": "^7.27.6",
+ "@babel/runtime": "^7.28.4",
"@types/d3-color": "^3.1.3",
- "@types/d3-delaunay": "^6.0.4",
"@types/d3-interpolate": "^3.0.4",
+ "@types/d3-path": "^3.1.1",
+ "@types/d3-sankey": "^0.12.5",
"@types/d3-scale": "^4.0.9",
"@types/d3-shape": "^3.1.7",
"@types/d3-time": "^3.0.4",
"@types/d3-timer": "^3.0.2",
"d3-color": "^3.1.0",
- "d3-delaunay": "^6.0.4",
"d3-interpolate": "^3.0.1",
+ "d3-path": "^3.1.0",
"d3-scale": "^4.0.2",
"d3-shape": "^3.2.0",
"d3-time": "^3.1.0",
"d3-timer": "^3.0.1",
- "delaunator": "^5.0.1",
- "robust-predicates": "^3.0.2"
+ "flatqueue": "^3.0.0"
}
},
"node_modules/@mui/x-date-pickers": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-8.9.0.tgz",
- "integrity": "sha512-MD2/F63Tdsodygp3Z2VtfvvQhAiEVXvleuK9mqXuD6a1cCPOENICCJC98y2AKbOcsbVd37o6HCvWFOQsfsy7TQ==",
+ "version": "8.22.1",
+ "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-8.22.1.tgz",
+ "integrity": "sha512-7tnUaKLllBYaliGeSP9vpN2Og33LYRfQW2Eq/F4xeNMQDUAa/6H2N822KW5NtdvW32KxjKkJiWZokgfBfVBtxg==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "@mui/utils": "^7.2.0",
- "@mui/x-internals": "8.8.0",
+ "@babel/runtime": "^7.28.4",
+ "@mui/utils": "^7.3.5",
+ "@mui/x-internals": "8.22.0",
"@types/react-transition-group": "^4.4.12",
"clsx": "^2.1.1",
"prop-types": "^15.8.1",
@@ -1437,23 +1594,24 @@
}
},
"node_modules/@mui/x-internal-gestures": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@mui/x-internal-gestures/-/x-internal-gestures-0.2.1.tgz",
- "integrity": "sha512-7Po6F4/RdUrFyRwiwvh5ZNeY/bi8wavTCUe+stKAyMliKpgcYiEtH7ywTgroOEq0o56fIpyPzwC4+bbGwYFnvA==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@mui/x-internal-gestures/-/x-internal-gestures-0.3.6.tgz",
+ "integrity": "sha512-IDGCpitIwdBSJpp7wQ4f8C3IwB5u5Ru1fy88JMC4hCgwpUvtvUPyR4Ue5Xt3sbU2J0VEykRwi82h9gFFZeNF5A==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6"
+ "@babel/runtime": "^7.28.4"
}
},
"node_modules/@mui/x-internals": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-8.8.0.tgz",
- "integrity": "sha512-qTRK5oINkAjZ7sIHpSnESLNq1xtQUmmfmGscYUSEP0uHoYh6pKkNWH9+7yzggRHuTv+4011VBwN9s+efrk+xZg==",
+ "version": "8.22.0",
+ "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-8.22.0.tgz",
+ "integrity": "sha512-PA7jCKRLbS6aYvTSbGr3Id4CPUdTrUejHm31l8Vje7dw138gBBHrHeGsqWJh/S5foorpK8loiRejKrLlTZokyQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "@mui/utils": "^7.2.0",
- "reselect": "^5.1.1"
+ "@babel/runtime": "^7.28.4",
+ "@mui/utils": "^7.3.5",
+ "reselect": "^5.1.1",
+ "use-sync-external-store": "^1.6.0"
},
"engines": {
"node": ">=14.0.0"
@@ -1463,33 +1621,32 @@
"url": "https://opencollective.com/mui-org"
},
"peerDependencies": {
- "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/@napi-rs/wasm-runtime": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.8.tgz",
- "integrity": "sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==",
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
+ "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
- "@emnapi/core": "^1.4.0",
- "@emnapi/runtime": "^1.4.0",
- "@tybys/wasm-util": "^0.9.0"
+ "@emnapi/core": "^1.4.3",
+ "@emnapi/runtime": "^1.4.3",
+ "@tybys/wasm-util": "^0.10.0"
}
},
"node_modules/@next/env": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-15.4.3.tgz",
- "integrity": "sha512-lKJ9KJAvaWzqurIsz6NWdQOLj96mdhuDMusLSYHw9HBe2On7BjUwU1WeRvq19x7NrEK3iOgMeSBV5qEhVH1cMw==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.1.tgz",
+ "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==",
"license": "MIT"
},
"node_modules/@next/eslint-plugin-next": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.4.3.tgz",
- "integrity": "sha512-wYYbP29uZlm9lqD1C6HDgW9WNNt6AlTogYKYpDyATs0QrKYIv/rPueoIDRH6qttXGCe3zNrb7hxfQx4w8OSkLA==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.1.tgz",
+ "integrity": "sha512-Ovb/6TuLKbE1UiPcg0p39Ke3puyTCIKN9hGbNItmpQsp+WX3qrjO3WaMVSi6JHr9X1NrmthqIguVHodMJbh/dw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1497,9 +1654,9 @@
}
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.4.3.tgz",
- "integrity": "sha512-YAhZWKeEYY7LHQJiQ8fe3Y6ymfcDcTn7rDC8PDu/pdeIl1Z2LHD4uyPNuQUGCEQT//MSNv6oZCeQzZfTCKZv+A==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz",
+ "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==",
"cpu": [
"arm64"
],
@@ -1513,9 +1670,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.4.3.tgz",
- "integrity": "sha512-ZPHRdd51xaxCMpT4viQ6h8TgYM1zPW1JIeksPY9wKlyvBVUQqrWqw8kEh1sa7/x0Ied+U7pYHkAkutrUwxbMcg==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz",
+ "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==",
"cpu": [
"x64"
],
@@ -1529,9 +1686,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.4.3.tgz",
- "integrity": "sha512-QUdqftCXC5vw5cowucqi9FeOPQ0vdMxoOHLY0J5jPdercwSJFjdi9CkEO4Xkq1eG4t1TB/BG81n6rmTsWoILnw==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz",
+ "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==",
"cpu": [
"arm64"
],
@@ -1545,9 +1702,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.4.3.tgz",
- "integrity": "sha512-HTL31NsmoafX+r5g91Yj3+q34nrn1xKmCWVuNA+fUWO4X0pr+n83uGzLyEOn0kUqbMZ40KmWx+4wsbMoUChkiQ==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz",
+ "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==",
"cpu": [
"arm64"
],
@@ -1561,9 +1718,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.4.3.tgz",
- "integrity": "sha512-HRQLWoeFkKXd2YCEEy9GhfwOijRm37x4w5r0MMVHxBKSA6ms3JoPUXvGhfHT6srnGRcEUWNrQ2vzkHir5ZWTSw==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz",
+ "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==",
"cpu": [
"x64"
],
@@ -1577,9 +1734,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.4.3.tgz",
- "integrity": "sha512-NyXUx6G7AayaRGUsVPenuwhyAoyxjQuQPaK50AXoaAHPwRuif4WmSrXUs8/Y0HJIZh8E/YXRm9H7uuGfiacpuQ==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz",
+ "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==",
"cpu": [
"x64"
],
@@ -1593,9 +1750,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.4.3.tgz",
- "integrity": "sha512-2CUTmpzN/7cL1a7GjdLkDFlfH3nwMwW8a6JiaAUsL9MtKmNNO3fnXqnY0Zk30fii3hVEl4dr7ztrpYt0t2CcGQ==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz",
+ "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==",
"cpu": [
"arm64"
],
@@ -1609,9 +1766,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.4.3.tgz",
- "integrity": "sha512-i54YgUhvrUQxQD84SjAbkfWhYkOdm/DNRAVekCHLWxVg3aUbyC6NFQn9TwgCkX5QAS2pXCJo3kFboSFvrsd7dA==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz",
+ "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==",
"cpu": [
"x64"
],
@@ -1702,13 +1859,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@rushstack/eslint-patch": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz",
- "integrity": "sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@swc/helpers": {
"version": "0.5.15",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
@@ -1719,9 +1869,9 @@
}
},
"node_modules/@tabler/icons": {
- "version": "3.34.1",
- "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.34.1.tgz",
- "integrity": "sha512-9gTnUvd7Fd/DmQgr3MKY+oJLa1RfNsQo8c/ir3TJAWghOuZXodbtbVp0QBY2DxWuuvrSZFys0HEbv1CoiI5y6A==",
+ "version": "3.36.0",
+ "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.36.0.tgz",
+ "integrity": "sha512-z9OfTEG6QbaQWM9KBOxxUdpgvMUn0atageXyiaSc2gmYm51ORO8Ua7eUcjlks+Dc0YMK4rrodAFdK9SfjJ4ZcA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -1729,12 +1879,12 @@
}
},
"node_modules/@tabler/icons-react": {
- "version": "3.34.1",
- "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.34.1.tgz",
- "integrity": "sha512-Ld6g0NqOO05kyyHsfU8h787PdHBm7cFmOycQSIrGp45XcXYDuOK2Bs0VC4T2FWSKZ6bx5g04imfzazf/nqtk1A==",
+ "version": "3.36.0",
+ "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.36.0.tgz",
+ "integrity": "sha512-sSZ00bEjTdTTskVFykq294RJq+9cFatwy4uYa78HcYBCXU1kSD1DIp5yoFsQXmybkIOKCjp18OnhAYk553UIfQ==",
"license": "MIT",
"dependencies": {
- "@tabler/icons": "3.34.1"
+ "@tabler/icons": "3.36.0"
},
"funding": {
"type": "github",
@@ -1745,9 +1895,9 @@
}
},
"node_modules/@tybys/wasm-util": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
- "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+ "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -1761,12 +1911,6 @@
"integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
"license": "MIT"
},
- "node_modules/@types/d3-delaunay": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
- "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==",
- "license": "MIT"
- },
"node_modules/@types/d3-interpolate": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
@@ -1782,6 +1926,30 @@
"integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
"license": "MIT"
},
+ "node_modules/@types/d3-sankey": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/@types/d3-sankey/-/d3-sankey-0.12.5.tgz",
+ "integrity": "sha512-/3RZSew0cLAtzGQ+C89hq/Rp3H20QJuVRSqFy6RKLe7E0B8kd2iOS1oBsodrgds4PcNVpqWhdUEng/SHvBcJ6Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-shape": "^1"
+ }
+ },
+ "node_modules/@types/d3-sankey/node_modules/@types/d3-path": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-1.0.11.tgz",
+ "integrity": "sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/d3-sankey/node_modules/@types/d3-shape": {
+ "version": "1.3.12",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.12.tgz",
+ "integrity": "sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/d3-path": "^1"
+ }
+ },
"node_modules/@types/d3-scale": {
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
@@ -1813,9 +1981,9 @@
"license": "MIT"
},
"node_modules/@types/estree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
- "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"dev": true,
"license": "MIT"
},
@@ -1846,13 +2014,13 @@
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "19.1.2",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz",
- "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==",
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
+ "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
"license": "MIT",
"peer": true,
"dependencies": {
- "csstype": "^3.0.2"
+ "csstype": "^3.2.2"
}
},
"node_modules/@types/react-transition-group": {
@@ -1865,21 +2033,20 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz",
- "integrity": "sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.1.tgz",
+ "integrity": "sha512-PKhLGDq3JAg0Jk/aK890knnqduuI/Qj+udH7wCf0217IGi4gt+acgCyPVe79qoT+qKUvHMDQkwJeKW9fwl8Cyw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.30.1",
- "@typescript-eslint/type-utils": "8.30.1",
- "@typescript-eslint/utils": "8.30.1",
- "@typescript-eslint/visitor-keys": "8.30.1",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
+ "@typescript-eslint/scope-manager": "8.50.1",
+ "@typescript-eslint/type-utils": "8.50.1",
+ "@typescript-eslint/utils": "8.50.1",
+ "@typescript-eslint/visitor-keys": "8.50.1",
+ "ignore": "^7.0.0",
"natural-compare": "^1.4.0",
- "ts-api-utils": "^2.0.1"
+ "ts-api-utils": "^2.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1889,22 +2056,33 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "@typescript-eslint/parser": "^8.50.1",
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.30.1.tgz",
- "integrity": "sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.1.tgz",
+ "integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "8.30.1",
- "@typescript-eslint/types": "8.30.1",
- "@typescript-eslint/typescript-estree": "8.30.1",
- "@typescript-eslint/visitor-keys": "8.30.1",
+ "@typescript-eslint/scope-manager": "8.50.1",
+ "@typescript-eslint/types": "8.50.1",
+ "@typescript-eslint/typescript-estree": "8.50.1",
+ "@typescript-eslint/visitor-keys": "8.50.1",
"debug": "^4.3.4"
},
"engines": {
@@ -1916,18 +2094,40 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.1.tgz",
+ "integrity": "sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.50.1",
+ "@typescript-eslint/types": "^8.50.1",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz",
- "integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.1.tgz",
+ "integrity": "sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.30.1",
- "@typescript-eslint/visitor-keys": "8.30.1"
+ "@typescript-eslint/types": "8.50.1",
+ "@typescript-eslint/visitor-keys": "8.50.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1937,17 +2137,35 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.1.tgz",
+ "integrity": "sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz",
- "integrity": "sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.1.tgz",
+ "integrity": "sha512-7J3bf022QZE42tYMO6SL+6lTPKFk/WphhRPe9Tw/el+cEwzLz1Jjz2PX3GtGQVxooLDKeMVmMt7fWpYRdG5Etg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.30.1",
- "@typescript-eslint/utils": "8.30.1",
+ "@typescript-eslint/types": "8.50.1",
+ "@typescript-eslint/typescript-estree": "8.50.1",
+ "@typescript-eslint/utils": "8.50.1",
"debug": "^4.3.4",
- "ts-api-utils": "^2.0.1"
+ "ts-api-utils": "^2.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1958,13 +2176,13 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz",
- "integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.1.tgz",
+ "integrity": "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1976,20 +2194,21 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz",
- "integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.1.tgz",
+ "integrity": "sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.30.1",
- "@typescript-eslint/visitor-keys": "8.30.1",
+ "@typescript-eslint/project-service": "8.50.1",
+ "@typescript-eslint/tsconfig-utils": "8.50.1",
+ "@typescript-eslint/types": "8.50.1",
+ "@typescript-eslint/visitor-keys": "8.50.1",
"debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
- "ts-api-utils": "^2.0.1"
+ "tinyglobby": "^0.2.15",
+ "ts-api-utils": "^2.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1999,49 +2218,19 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/@typescript-eslint/typescript-estree/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==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
@@ -2058,17 +2247,30 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@typescript-eslint/utils": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz",
- "integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.1.tgz",
+ "integrity": "sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.30.1",
- "@typescript-eslint/types": "8.30.1",
- "@typescript-eslint/typescript-estree": "8.30.1"
+ "@eslint-community/eslint-utils": "^4.7.0",
+ "@typescript-eslint/scope-manager": "8.50.1",
+ "@typescript-eslint/types": "8.50.1",
+ "@typescript-eslint/typescript-estree": "8.50.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2079,18 +2281,18 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
+ "typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.30.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz",
- "integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==",
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.1.tgz",
+ "integrity": "sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.30.1",
- "eslint-visitor-keys": "^4.2.0"
+ "@typescript-eslint/types": "8.50.1",
+ "eslint-visitor-keys": "^4.2.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2100,10 +2302,38 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@unrs/resolver-binding-android-arm-eabi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
+ "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-android-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
+ "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
"node_modules/@unrs/resolver-binding-darwin-arm64": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.5.0.tgz",
- "integrity": "sha512-YmocNlEcX/AgJv8gI41bhjMOTcKcea4D2nRIbZj+MhRtSH5+vEU8r/pFuTuoF+JjVplLsBueU+CILfBPVISyGQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
+ "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
"cpu": [
"arm64"
],
@@ -2115,9 +2345,9 @@
]
},
"node_modules/@unrs/resolver-binding-darwin-x64": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.5.0.tgz",
- "integrity": "sha512-qpUrXgH4e/0xu1LOhPEdfgSY3vIXOxDQv370NEL8npN8h40HcQDA+Pl2r4HBW6tTXezWIjxUFcP7tj529RZtDw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
+ "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
"cpu": [
"x64"
],
@@ -2129,9 +2359,9 @@
]
},
"node_modules/@unrs/resolver-binding-freebsd-x64": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.5.0.tgz",
- "integrity": "sha512-3tX8r8vgjvZzaJZB4jvxUaaFCDCb3aWDCpZN3EjhGnnwhztslI05KSG5NY/jNjlcZ5QWZ7dEZZ/rNBFsmTaSPw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
+ "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
"cpu": [
"x64"
],
@@ -2143,9 +2373,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.5.0.tgz",
- "integrity": "sha512-FH+ixzBKaUU9fWOj3TYO+Yn/eO6kYvMLV9eNJlJlkU7OgrxkCmiMS6wUbyT0KA3FOZGxnEQ2z3/BHgYm2jqeLA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
+ "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
"cpu": [
"arm"
],
@@ -2157,9 +2387,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.5.0.tgz",
- "integrity": "sha512-pxCgXMgwB/4PfqFQg73lMhmWwcC0j5L+dNXhZoz/0ek0iS/oAWl65fxZeT/OnU7fVs52MgdP2q02EipqJJXHSg==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
+ "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
"cpu": [
"arm"
],
@@ -2171,9 +2401,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.5.0.tgz",
- "integrity": "sha512-FX2FV7vpLE/+Z0NZX9/1pwWud5Wocm/2PgpUXbT5aSV3QEB10kBPJAzssOQylvdj8mOHoKl5pVkXpbCwww/T2g==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
+ "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
"cpu": [
"arm64"
],
@@ -2185,9 +2415,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-arm64-musl": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.5.0.tgz",
- "integrity": "sha512-+gF97xst1BZb28T3nwwzEtq2ewCoMDGKsenYsZuvpmNrW0019G1iUAunZN+FG55L21y+uP7zsGX06OXDQ/viKw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
+ "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
"cpu": [
"arm64"
],
@@ -2199,9 +2429,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.5.0.tgz",
- "integrity": "sha512-5bEmVcQw9js8JYM2LkUBw5SeELSIxX+qKf9bFrfFINKAp4noZ//hUxLpbF7u/3gTBN1GsER6xOzIZlw/VTdXtA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
+ "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
"cpu": [
"ppc64"
],
@@ -2213,9 +2443,23 @@
]
},
"node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.5.0.tgz",
- "integrity": "sha512-GGk/8TPUsf1Q99F+lzMdjE6sGL26uJCwQ9TlvBs8zR3cLQNw/MIumPN7zrs3GFGySjnwXc8gA6J3HKbejywmqA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
+ "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
+ "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
"cpu": [
"riscv64"
],
@@ -2227,9 +2471,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.5.0.tgz",
- "integrity": "sha512-5uRkFYYVNAeVaA4W/CwugjFN3iDOHCPqsBLCCOoJiMfFMMz4evBRsg+498OFa9w6VcTn2bD5aI+RRayaIgk2Sw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
+ "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
"cpu": [
"s390x"
],
@@ -2241,9 +2485,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-x64-gnu": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.5.0.tgz",
- "integrity": "sha512-j905CZH3nehYy6NimNqC2B14pxn4Ltd7guKMyPTzKehbFXTUgihQS/ZfHQTdojkMzbSwBOSgq1dOrY+IpgxDsA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
+ "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
"cpu": [
"x64"
],
@@ -2255,9 +2499,9 @@
]
},
"node_modules/@unrs/resolver-binding-linux-x64-musl": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.5.0.tgz",
- "integrity": "sha512-dmLevQTuzQRwu5A+mvj54R5aye5I4PVKiWqGxg8tTaYP2k2oTs/3Mo8mgnhPk28VoYCi0fdFYpgzCd4AJndQvQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
+ "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
"cpu": [
"x64"
],
@@ -2269,9 +2513,9 @@
]
},
"node_modules/@unrs/resolver-binding-wasm32-wasi": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.5.0.tgz",
- "integrity": "sha512-LtJMhwu7avhoi+kKfAZOKN773RtzLBVVF90YJbB0wyMpUj9yQPeA+mteVUI9P70OG/opH47FeV5AWeaNWWgqJg==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
+ "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
"cpu": [
"wasm32"
],
@@ -2279,16 +2523,16 @@
"license": "MIT",
"optional": true,
"dependencies": {
- "@napi-rs/wasm-runtime": "^0.2.8"
+ "@napi-rs/wasm-runtime": "^0.2.11"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.5.0.tgz",
- "integrity": "sha512-FTZBxLL4SO1mgIM86KykzJmPeTPisBDHQV6xtfDXbTMrentuZ6SdQKJUV5BWaoUK3p8kIULlrCcucqdCnk8Npg==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
+ "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
"cpu": [
"arm64"
],
@@ -2300,9 +2544,9 @@
]
},
"node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.5.0.tgz",
- "integrity": "sha512-i5bB7vJ1waUsFciU/FKLd4Zw0VnAkvhiJ4//jYQXyDUuiLKodmtQZVTcOPU7pp97RrNgCFtXfC1gnvj/DHPJTw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
+ "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
"cpu": [
"ia32"
],
@@ -2314,9 +2558,9 @@
]
},
"node_modules/@unrs/resolver-binding-win32-x64-msvc": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.5.0.tgz",
- "integrity": "sha512-wAvXp4k7jhioi4SebXW/yfzzYwsUCr9kIX4gCsUFKpCTUf8Mi7vScJXI3S+kupSUf0LbVHudR8qBbe2wFMSNUw==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
+ "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
"cpu": [
"x64"
],
@@ -2333,6 +2577,7 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -2418,18 +2663,20 @@
}
},
"node_modules/array-includes": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
- "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
+ "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
"define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "is-string": "^1.0.7"
+ "es-abstract": "^1.24.0",
+ "es-object-atoms": "^1.1.1",
+ "get-intrinsic": "^1.3.0",
+ "is-string": "^1.1.1",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -2592,9 +2839,9 @@
}
},
"node_modules/axe-core": {
- "version": "4.10.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz",
- "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==",
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz",
+ "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==",
"dev": true,
"license": "MPL-2.0",
"engines": {
@@ -2633,6 +2880,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.9.11",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz",
+ "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==",
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
"node_modules/bezier-easing": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz",
@@ -2640,9 +2896,9 @@
"license": "MIT"
},
"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==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2663,6 +2919,41 @@
"node": ">=8"
}
},
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
@@ -2723,9 +3014,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001713",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz",
- "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==",
+ "version": "1.0.30001761",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz",
+ "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==",
"funding": [
{
"type": "opencollective",
@@ -2774,25 +3065,11 @@
"node": ">=6"
}
},
- "node_modules/color": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
- "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "color-convert": "^2.0.1",
- "color-string": "^1.9.0"
- },
- "engines": {
- "node": ">=12.5.0"
- }
- },
"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==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@@ -2805,20 +3082,9 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
- "node_modules/color-string": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
- "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2873,10 +3139,11 @@
}
},
"node_modules/csstype": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "license": "MIT"
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "license": "MIT",
+ "peer": true
},
"node_modules/d3-array": {
"version": "3.2.4",
@@ -2899,18 +3166,6 @@
"node": ">=12"
}
},
- "node_modules/d3-delaunay": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
- "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
- "license": "ISC",
- "dependencies": {
- "delaunator": "5"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/d3-format": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
@@ -3064,9 +3319,9 @@
}
},
"node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -3123,15 +3378,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/delaunator": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
- "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
- "license": "ISC",
- "dependencies": {
- "robust-predicates": "^3.0.2"
- }
- },
"node_modules/dequal": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
@@ -3142,9 +3388,9 @@
}
},
"node_modules/detect-libc": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
- "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"license": "Apache-2.0",
"optional": true,
"engines": {
@@ -3189,6 +3435,13 @@
"node": ">= 0.4"
}
},
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.267",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
+ "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
@@ -3197,18 +3450,18 @@
"license": "MIT"
},
"node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+ "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
}
},
"node_modules/es-abstract": {
- "version": "1.23.9",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz",
- "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==",
+ "version": "1.24.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
+ "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3216,18 +3469,18 @@
"arraybuffer.prototype.slice": "^1.0.4",
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
+ "call-bound": "^1.0.4",
"data-view-buffer": "^1.0.2",
"data-view-byte-length": "^1.0.2",
"data-view-byte-offset": "^1.0.1",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
+ "es-object-atoms": "^1.1.1",
"es-set-tostringtag": "^2.1.0",
"es-to-primitive": "^1.3.0",
"function.prototype.name": "^1.1.8",
- "get-intrinsic": "^1.2.7",
- "get-proto": "^1.0.0",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
"get-symbol-description": "^1.1.0",
"globalthis": "^1.0.4",
"gopd": "^1.2.0",
@@ -3239,21 +3492,24 @@
"is-array-buffer": "^3.0.5",
"is-callable": "^1.2.7",
"is-data-view": "^1.0.2",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.2.1",
+ "is-set": "^2.0.3",
"is-shared-array-buffer": "^1.0.4",
"is-string": "^1.1.1",
"is-typed-array": "^1.1.15",
- "is-weakref": "^1.1.0",
+ "is-weakref": "^1.1.1",
"math-intrinsics": "^1.1.0",
- "object-inspect": "^1.13.3",
+ "object-inspect": "^1.13.4",
"object-keys": "^1.1.1",
"object.assign": "^4.1.7",
"own-keys": "^1.0.1",
- "regexp.prototype.flags": "^1.5.3",
+ "regexp.prototype.flags": "^1.5.4",
"safe-array-concat": "^1.1.3",
"safe-push-apply": "^1.0.0",
"safe-regex-test": "^1.1.0",
"set-proto": "^1.0.0",
+ "stop-iteration-iterator": "^1.1.0",
"string.prototype.trim": "^1.2.10",
"string.prototype.trimend": "^1.0.9",
"string.prototype.trimstart": "^1.0.8",
@@ -3262,7 +3518,7 @@
"typed-array-byte-offset": "^1.0.4",
"typed-array-length": "^1.0.7",
"unbox-primitive": "^1.1.0",
- "which-typed-array": "^1.1.18"
+ "which-typed-array": "^1.1.19"
},
"engines": {
"node": ">= 0.4"
@@ -3292,27 +3548,27 @@
}
},
"node_modules/es-iterator-helpers": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz",
- "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz",
+ "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
+ "call-bound": "^1.0.4",
"define-properties": "^1.2.1",
- "es-abstract": "^1.23.6",
+ "es-abstract": "^1.24.1",
"es-errors": "^1.3.0",
- "es-set-tostringtag": "^2.0.3",
+ "es-set-tostringtag": "^2.1.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.6",
+ "get-intrinsic": "^1.3.0",
"globalthis": "^1.0.4",
"gopd": "^1.2.0",
"has-property-descriptors": "^1.0.2",
"has-proto": "^1.2.0",
"has-symbols": "^1.1.0",
"internal-slot": "^1.1.0",
- "iterator.prototype": "^1.1.4",
+ "iterator.prototype": "^1.1.5",
"safe-array-concat": "^1.1.3"
},
"engines": {
@@ -3379,6 +3635,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -3392,25 +3658,25 @@
}
},
"node_modules/eslint": {
- "version": "9.31.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz",
- "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==",
+ "version": "9.39.2",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz",
+ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.0",
- "@eslint/config-helpers": "^0.3.0",
- "@eslint/core": "^0.15.0",
+ "@eslint/config-array": "^0.21.1",
+ "@eslint/config-helpers": "^0.4.2",
+ "@eslint/core": "^0.17.0",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.31.0",
- "@eslint/plugin-kit": "^0.3.1",
+ "@eslint/js": "9.39.2",
+ "@eslint/plugin-kit": "^0.4.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
"@types/estree": "^1.0.6",
- "@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.6",
@@ -3453,25 +3719,24 @@
}
},
"node_modules/eslint-config-next": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.4.3.tgz",
- "integrity": "sha512-blytVMTpdqqlLBvYOvwT51m5eqRHNofKR/pfBSeeHiQMSY33kCph31hAK3DiAsL/RamVJRQzHwTRbbNr+7c/sw==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.1.tgz",
+ "integrity": "sha512-55nTpVWm3qeuxoQKLOjQVciKZJUphKrNM0fCcQHAIOGl6VFXgaqeMfv0aKJhs7QtcnlAPhNVqsqRfRjeKBPIUA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@next/eslint-plugin-next": "15.4.3",
- "@rushstack/eslint-patch": "^1.10.3",
- "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
- "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
+ "@next/eslint-plugin-next": "16.1.1",
"eslint-import-resolver-node": "^0.3.6",
"eslint-import-resolver-typescript": "^3.5.2",
- "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.0",
"eslint-plugin-react": "^7.37.0",
- "eslint-plugin-react-hooks": "^5.0.0"
+ "eslint-plugin-react-hooks": "^7.0.0",
+ "globals": "16.4.0",
+ "typescript-eslint": "^8.46.0"
},
"peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0",
+ "eslint": ">=9.0.0",
"typescript": ">=3.3.1"
},
"peerDependenciesMeta": {
@@ -3480,12 +3745,46 @@
}
}
},
+ "node_modules/eslint-config-next/node_modules/eslint-plugin-react-hooks": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz",
+ "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "hermes-parser": "^0.25.1",
+ "zod": "^3.25.0 || ^4.0.0",
+ "zod-validation-error": "^3.5.0 || ^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
+ }
+ },
+ "node_modules/eslint-config-next/node_modules/globals": {
+ "version": "16.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz",
+ "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/eslint-config-prettier": {
"version": "10.1.8",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
@@ -3519,9 +3818,9 @@
}
},
"node_modules/eslint-import-resolver-typescript": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.0.tgz",
- "integrity": "sha512-aV3/dVsT0/H9BtpNwbaqvl+0xGMRGzncLyhm793NFGvbwGGvzyAykqWZ8oZlZuGwuHkwJjhWJkG1cM3ynvd2pQ==",
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz",
+ "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -3530,8 +3829,8 @@
"get-tsconfig": "^4.10.0",
"is-bun-module": "^2.0.0",
"stable-hash": "^0.0.5",
- "tinyglobby": "^0.2.12",
- "unrs-resolver": "^1.3.2"
+ "tinyglobby": "^0.2.13",
+ "unrs-resolver": "^1.6.2"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@@ -3554,9 +3853,9 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz",
- "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==",
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz",
+ "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3582,30 +3881,30 @@
}
},
"node_modules/eslint-plugin-import": {
- "version": "2.31.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz",
- "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==",
+ "version": "2.32.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz",
+ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@rtsao/scc": "^1.1.0",
- "array-includes": "^3.1.8",
- "array.prototype.findlastindex": "^1.2.5",
- "array.prototype.flat": "^1.3.2",
- "array.prototype.flatmap": "^1.3.2",
+ "array-includes": "^3.1.9",
+ "array.prototype.findlastindex": "^1.2.6",
+ "array.prototype.flat": "^1.3.3",
+ "array.prototype.flatmap": "^1.3.3",
"debug": "^3.2.7",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.9",
- "eslint-module-utils": "^2.12.0",
+ "eslint-module-utils": "^2.12.1",
"hasown": "^2.0.2",
- "is-core-module": "^2.15.1",
+ "is-core-module": "^2.16.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
"object.fromentries": "^2.0.8",
"object.groupby": "^1.0.3",
- "object.values": "^1.2.0",
+ "object.values": "^1.2.1",
"semver": "^6.3.1",
- "string.prototype.trimend": "^1.0.8",
+ "string.prototype.trimend": "^1.0.9",
"tsconfig-paths": "^3.15.0"
},
"engines": {
@@ -3625,16 +3924,6 @@
"ms": "^2.1.1"
}
},
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/eslint-plugin-jsx-a11y": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz",
@@ -3666,9 +3955,9 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.3.tgz",
- "integrity": "sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w==",
+ "version": "5.5.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz",
+ "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3752,22 +4041,12 @@
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
+ },
"bin": {
- "semver": "bin/semver.js"
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/eslint-scope": {
@@ -3923,30 +4202,15 @@
"license": "MIT"
},
"node_modules/fastq": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
- "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
"dev": true,
"license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
},
- "node_modules/fdir": {
- "version": "6.4.3",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz",
- "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
"node_modules/file-entry-cache": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -4010,6 +4274,12 @@
"node": ">=16"
}
},
+ "node_modules/flatqueue": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/flatqueue/-/flatqueue-3.0.0.tgz",
+ "integrity": "sha512-y1deYaVt+lIc/d2uIcWDNd0CrdQTO5xoCjeFdhX0kSXvm2Acm0o+3bAOiYklTEoRyzwio3sv3/IiBZdusbAe2Q==",
+ "license": "ISC"
+ },
"node_modules/flatted": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
@@ -4073,6 +4343,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/generator-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
+ "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/get-intrinsic": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -4131,9 +4421,9 @@
}
},
"node_modules/get-tsconfig": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz",
- "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+ "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4157,12 +4447,16 @@
}
},
"node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/globalthis": {
@@ -4183,9 +4477,9 @@
}
},
"node_modules/goober": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz",
- "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==",
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz",
+ "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==",
"license": "MIT",
"peerDependencies": {
"csstype": "^3.0.10"
@@ -4204,13 +4498,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/has-bigints": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
@@ -4304,6 +4591,23 @@
"node": ">= 0.4"
}
},
+ "node_modules/hermes-estree": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
+ "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/hermes-parser": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
+ "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.25.1"
+ }
+ },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -4466,6 +4770,19 @@
"semver": "^7.7.1"
}
},
+ "node_modules/is-bun-module/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -4556,14 +4873,15 @@
}
},
"node_modules/is-generator-function": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz",
- "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
+ "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "get-proto": "^1.0.0",
+ "call-bound": "^1.0.4",
+ "generator-function": "^2.0.0",
+ "get-proto": "^1.0.1",
"has-tostringtag": "^1.0.2",
"safe-regex-test": "^1.1.0"
},
@@ -4600,6 +4918,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-negative-zero": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -4804,18 +5135,6 @@
"node": ">= 0.4"
}
},
- "node_modules/jiti": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
- "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "bin": {
- "jiti": "lib/jiti-cli.mjs"
- }
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -4823,9 +5142,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4976,9 +5295,9 @@
"license": "MIT"
},
"node_modules/lodash-es": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+ "version": "4.17.22",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.22.tgz",
+ "integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==",
"license": "MIT"
},
"node_modules/lodash.merge": {
@@ -5000,6 +5319,16 @@
"loose-envify": "cli.js"
}
},
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -5034,19 +5363,6 @@
"node": ">=8.6"
}
},
- "node_modules/micromatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -5094,6 +5410,22 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
+ "node_modules/napi-postinstall": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz",
+ "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "napi-postinstall": "lib/cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/napi-postinstall"
+ }
+ },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -5102,13 +5434,15 @@
"license": "MIT"
},
"node_modules/next": {
- "version": "15.4.3",
- "resolved": "https://registry.npmjs.org/next/-/next-15.4.3.tgz",
- "integrity": "sha512-uW7Qe6poVasNIE1X382nI29oxSdFJzjQzTgJFLD43MxyPfGKKxCMySllhBpvqr48f58Om+tLMivzRwBpXEytvA==",
+ "version": "16.1.1",
+ "resolved": "https://registry.npmjs.org/next/-/next-16.1.1.tgz",
+ "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "@next/env": "15.4.3",
+ "@next/env": "16.1.1",
"@swc/helpers": "0.5.15",
+ "baseline-browser-mapping": "^2.8.3",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
"styled-jsx": "5.1.6"
@@ -5117,18 +5451,18 @@
"next": "dist/bin/next"
},
"engines": {
- "node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
+ "node": ">=20.9.0"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "15.4.3",
- "@next/swc-darwin-x64": "15.4.3",
- "@next/swc-linux-arm64-gnu": "15.4.3",
- "@next/swc-linux-arm64-musl": "15.4.3",
- "@next/swc-linux-x64-gnu": "15.4.3",
- "@next/swc-linux-x64-musl": "15.4.3",
- "@next/swc-win32-arm64-msvc": "15.4.3",
- "@next/swc-win32-x64-msvc": "15.4.3",
- "sharp": "^0.34.3"
+ "@next/swc-darwin-arm64": "16.1.1",
+ "@next/swc-darwin-x64": "16.1.1",
+ "@next/swc-linux-arm64-gnu": "16.1.1",
+ "@next/swc-linux-arm64-musl": "16.1.1",
+ "@next/swc-linux-x64-gnu": "16.1.1",
+ "@next/swc-linux-x64-musl": "16.1.1",
+ "@next/swc-win32-arm64-msvc": "16.1.1",
+ "@next/swc-win32-x64-msvc": "16.1.1",
+ "sharp": "^0.34.4"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
@@ -5153,6 +5487,13 @@
}
}
},
+ "node_modules/node-releases": {
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/notistack": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.2.tgz",
@@ -5446,13 +5787,13 @@
"license": "ISC"
},
"node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
@@ -5507,11 +5848,12 @@
}
},
"node_modules/prettier": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
- "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz",
+ "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -5523,9 +5865,9 @@
}
},
"node_modules/prettier-linter-helpers": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
- "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz",
+ "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5584,10 +5926,11 @@
"license": "MIT"
},
"node_modules/react": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
- "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
+ "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5606,21 +5949,22 @@
}
},
"node_modules/react-dom": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
- "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
- "scheduler": "^0.26.0"
+ "scheduler": "^0.27.0"
},
"peerDependencies": {
- "react": "^19.1.0"
+ "react": "^19.2.3"
}
},
"node_modules/react-hook-form": {
- "version": "7.61.0",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.61.0.tgz",
- "integrity": "sha512-o8S/HcCeuaAQVib36fPCgOLaaQN/v7Anj8zlYjcLMcz+4FnNfMsoDAEvVCefLb3KDnS43wq3pwcifehhkwowuQ==",
+ "version": "7.69.0",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.69.0.tgz",
+ "integrity": "sha512-yt6ZGME9f4F6WHwevrvpAjh42HMvocuSnSIHUGycBqXIJdhqGSPQzTpGF+1NLREk/58IdPxEMfPcFCjlMhclGw==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@@ -5634,9 +5978,9 @@
}
},
"node_modules/react-is": {
- "version": "19.1.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.1.tgz",
- "integrity": "sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==",
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.3.tgz",
+ "integrity": "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA==",
"license": "MIT"
},
"node_modules/react-transition-group": {
@@ -5706,12 +6050,12 @@
"license": "MIT"
},
"node_modules/resolve": {
- "version": "1.22.10",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
"license": "MIT",
"dependencies": {
- "is-core-module": "^2.16.0",
+ "is-core-module": "^2.16.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -5755,12 +6099,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/robust-predicates": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
- "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
- "license": "Unlicense"
- },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -5841,22 +6179,19 @@
}
},
"node_modules/scheduler": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
- "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
"license": "MIT"
},
"node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "devOptional": true,
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
}
},
"node_modules/set-function-length": {
@@ -5909,16 +6244,16 @@
}
},
"node_modules/sharp": {
- "version": "0.34.3",
- "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.3.tgz",
- "integrity": "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==",
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
+ "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
"hasInstallScript": true,
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "color": "^4.2.3",
- "detect-libc": "^2.0.4",
- "semver": "^7.7.2"
+ "@img/colour": "^1.0.0",
+ "detect-libc": "^2.1.2",
+ "semver": "^7.7.3"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
@@ -5927,28 +6262,43 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-darwin-arm64": "0.34.3",
- "@img/sharp-darwin-x64": "0.34.3",
- "@img/sharp-libvips-darwin-arm64": "1.2.0",
- "@img/sharp-libvips-darwin-x64": "1.2.0",
- "@img/sharp-libvips-linux-arm": "1.2.0",
- "@img/sharp-libvips-linux-arm64": "1.2.0",
- "@img/sharp-libvips-linux-ppc64": "1.2.0",
- "@img/sharp-libvips-linux-s390x": "1.2.0",
- "@img/sharp-libvips-linux-x64": "1.2.0",
- "@img/sharp-libvips-linuxmusl-arm64": "1.2.0",
- "@img/sharp-libvips-linuxmusl-x64": "1.2.0",
- "@img/sharp-linux-arm": "0.34.3",
- "@img/sharp-linux-arm64": "0.34.3",
- "@img/sharp-linux-ppc64": "0.34.3",
- "@img/sharp-linux-s390x": "0.34.3",
- "@img/sharp-linux-x64": "0.34.3",
- "@img/sharp-linuxmusl-arm64": "0.34.3",
- "@img/sharp-linuxmusl-x64": "0.34.3",
- "@img/sharp-wasm32": "0.34.3",
- "@img/sharp-win32-arm64": "0.34.3",
- "@img/sharp-win32-ia32": "0.34.3",
- "@img/sharp-win32-x64": "0.34.3"
+ "@img/sharp-darwin-arm64": "0.34.5",
+ "@img/sharp-darwin-x64": "0.34.5",
+ "@img/sharp-libvips-darwin-arm64": "1.2.4",
+ "@img/sharp-libvips-darwin-x64": "1.2.4",
+ "@img/sharp-libvips-linux-arm": "1.2.4",
+ "@img/sharp-libvips-linux-arm64": "1.2.4",
+ "@img/sharp-libvips-linux-ppc64": "1.2.4",
+ "@img/sharp-libvips-linux-riscv64": "1.2.4",
+ "@img/sharp-libvips-linux-s390x": "1.2.4",
+ "@img/sharp-libvips-linux-x64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4",
+ "@img/sharp-linux-arm": "0.34.5",
+ "@img/sharp-linux-arm64": "0.34.5",
+ "@img/sharp-linux-ppc64": "0.34.5",
+ "@img/sharp-linux-riscv64": "0.34.5",
+ "@img/sharp-linux-s390x": "0.34.5",
+ "@img/sharp-linux-x64": "0.34.5",
+ "@img/sharp-linuxmusl-arm64": "0.34.5",
+ "@img/sharp-linuxmusl-x64": "0.34.5",
+ "@img/sharp-wasm32": "0.34.5",
+ "@img/sharp-win32-arm64": "0.34.5",
+ "@img/sharp-win32-ia32": "0.34.5",
+ "@img/sharp-win32-x64": "0.34.5"
+ }
+ },
+ "node_modules/sharp/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/shebang-command": {
@@ -6050,23 +6400,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "is-arrayish": "^0.3.1"
- }
- },
- "node_modules/simple-swizzle/node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "license": "MIT",
- "optional": true
- },
"node_modules/simplebar-core": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/simplebar-core/-/simplebar-core-1.3.2.tgz",
@@ -6114,6 +6447,20 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
+ "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "internal-slot": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/string.prototype.includes": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz",
@@ -6277,7 +6624,8 @@
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz",
"integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==",
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/stylis-plugin-rtl": {
"version": "2.1.1",
@@ -6317,13 +6665,13 @@
}
},
"node_modules/swr": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.4.tgz",
- "integrity": "sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.8.tgz",
+ "integrity": "sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==",
"license": "MIT",
"dependencies": {
"dequal": "^2.0.3",
- "use-sync-external-store": "^1.4.0"
+ "use-sync-external-store": "^1.6.0"
},
"peerDependencies": {
"react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -6346,14 +6694,14 @@
}
},
"node_modules/tinyglobby": {
- "version": "0.2.12",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
- "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fdir": "^6.4.3",
- "picomatch": "^4.0.2"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
},
"engines": {
"node": ">=12.0.0"
@@ -6362,6 +6710,38 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -6376,9 +6756,9 @@
}
},
"node_modules/ts-api-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.3.0.tgz",
+ "integrity": "sha512-6eg3Y9SF7SsAvGzRHQvvc1skDAhwI4YQ32ui1scxD1Ccr0G5qIIbUBT3pFTKX8kmWIQClHobtUdNuaBgwdfdWg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6499,9 +6879,9 @@
}
},
"node_modules/typescript": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
- "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
@@ -6513,10 +6893,34 @@
"node": ">=14.17"
}
},
+ "node_modules/typescript-eslint": {
+ "version": "8.50.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.1.tgz",
+ "integrity": "sha512-ytTHO+SoYSbhAH9CrYnMhiLx8To6PSSvqnvXyPUgPETCvB6eBKmTI9w6XMPS3HsBRGkwTVBX+urA8dYQx6bHfQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "8.50.1",
+ "@typescript-eslint/parser": "8.50.1",
+ "@typescript-eslint/typescript-estree": "8.50.1",
+ "@typescript-eslint/utils": "8.50.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
"node_modules/ua-parser-js": {
- "version": "1.0.40",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz",
- "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==",
+ "version": "1.0.41",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz",
+ "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==",
"funding": [
{
"type": "opencollective",
@@ -6559,31 +6963,69 @@
}
},
"node_modules/unrs-resolver": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.5.0.tgz",
- "integrity": "sha512-6aia3Oy7SEe0MuUGQm2nsyob0L2+g57w178K5SE/3pvSGAIp28BB2O921fKx424Ahc/gQ6v0DXFbhcpyhGZdOA==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz",
+ "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
+ "dependencies": {
+ "napi-postinstall": "^0.3.0"
+ },
"funding": {
- "url": "https://github.com/sponsors/JounQin"
+ "url": "https://opencollective.com/unrs-resolver"
},
"optionalDependencies": {
- "@unrs/resolver-binding-darwin-arm64": "1.5.0",
- "@unrs/resolver-binding-darwin-x64": "1.5.0",
- "@unrs/resolver-binding-freebsd-x64": "1.5.0",
- "@unrs/resolver-binding-linux-arm-gnueabihf": "1.5.0",
- "@unrs/resolver-binding-linux-arm-musleabihf": "1.5.0",
- "@unrs/resolver-binding-linux-arm64-gnu": "1.5.0",
- "@unrs/resolver-binding-linux-arm64-musl": "1.5.0",
- "@unrs/resolver-binding-linux-ppc64-gnu": "1.5.0",
- "@unrs/resolver-binding-linux-riscv64-gnu": "1.5.0",
- "@unrs/resolver-binding-linux-s390x-gnu": "1.5.0",
- "@unrs/resolver-binding-linux-x64-gnu": "1.5.0",
- "@unrs/resolver-binding-linux-x64-musl": "1.5.0",
- "@unrs/resolver-binding-wasm32-wasi": "1.5.0",
- "@unrs/resolver-binding-win32-arm64-msvc": "1.5.0",
- "@unrs/resolver-binding-win32-ia32-msvc": "1.5.0",
- "@unrs/resolver-binding-win32-x64-msvc": "1.5.0"
+ "@unrs/resolver-binding-android-arm-eabi": "1.11.1",
+ "@unrs/resolver-binding-android-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-x64": "1.11.1",
+ "@unrs/resolver-binding-freebsd-x64": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-musl": "1.11.1",
+ "@unrs/resolver-binding-wasm32-wasi": "1.11.1",
+ "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
}
},
"node_modules/uri-js": {
@@ -6597,9 +7039,9 @@
}
},
"node_modules/use-sync-external-store": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz",
- "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
"license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@@ -6720,6 +7162,13 @@
"node": ">=0.10.0"
}
},
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
@@ -6741,6 +7190,30 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zod": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz",
+ "integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-validation-error": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz",
+ "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.0 || ^4.0.0"
+ }
}
}
}
diff --git a/admin/nextjs/package.json b/admin/nextjs/package.json
index 20295b2..0751f47 100644
--- a/admin/nextjs/package.json
+++ b/admin/nextjs/package.json
@@ -1,13 +1,13 @@
{
"name": "saas-able-react-mui-admin-next-free",
- "version": "1.3.0",
+ "version": "2.0.0",
"private": false,
"author": {
"email": "phoenixcoded@gmail.com",
"name": "phoenixcoded"
},
"scripts": {
- "dev": "next dev --turbopack",
+ "dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\"",
@@ -18,33 +18,34 @@
"@emotion/cache": "11.14.0",
"@emotion/react": "11.14.0",
"@emotion/styled": "11.14.1",
- "@mui/material": "7.2.0",
- "@mui/material-nextjs": "7.2.0",
- "@mui/x-charts": "8.9.0",
- "@mui/x-date-pickers": "8.9.0",
- "@tabler/icons-react": "3.34.1",
- "lodash-es": "4.17.21",
- "next": "15.4.3",
+ "@mui/material": "7.3.6",
+ "@mui/material-nextjs": "7.3.6",
+ "@mui/x-charts": "8.22.1",
+ "@mui/x-date-pickers": "8.22.1",
+ "@tabler/icons-react": "3.36.0",
+ "lodash-es": "4.17.22",
+ "next": "16.1.1",
"notistack": "3.0.2",
- "react": "19.1.0",
+ "react": "19.2.3",
"react-device-detect": "2.2.3",
- "react-dom": "19.1.0",
- "react-hook-form": "7.61.0",
+ "react-dom": "19.2.3",
+ "react-hook-form": "7.69.0",
"simplebar-react": "3.3.2",
"stylis": "4.3.6",
"stylis-plugin-rtl": "2.1.1",
- "swr": "2.3.4"
+ "swr": "2.3.8"
},
"devDependencies": {
"@eslint/compat": "1.3.1",
- "@eslint/eslintrc": "3.3.1",
- "@eslint/js": "9.31.0",
- "eslint": "9.31.0",
- "eslint-config-next": "15.4.3",
+ "@eslint/eslintrc": "3.3.3",
+ "@eslint/js": "9.39.2",
+ "eslint": "9.39.2",
+ "eslint-config-next": "16.1.1",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-jsx-a11y": "6.10.2",
- "eslint-plugin-prettier": "5.5.3",
+ "eslint-plugin-prettier": "5.5.4",
"eslint-plugin-react-hooks": "5.2.0",
- "prettier": "3.6.2"
- }
+ "prettier": "3.7.4"
+ },
+ "packageManager": "yarn@4.12.0"
}
diff --git a/admin/nextjs/src/app/ProviderWrapper.jsx b/admin/nextjs/src/app/ProviderWrapper.jsx
index 03dc861..5b6fe56 100644
--- a/admin/nextjs/src/app/ProviderWrapper.jsx
+++ b/admin/nextjs/src/app/ProviderWrapper.jsx
@@ -1,5 +1,8 @@
'use client';
+// @mui
+import InitColorSchemeScript from '@mui/material/InitColorSchemeScript';
+
import PropTypes from 'prop-types';
// @project
@@ -11,11 +14,14 @@ import ThemeCustomization from '@/themes';
export default function ProviderWrapper({ children }) {
return (
-
-
- {children}
-
-
+ <>
+
+
+
+ {children}
+
+
+ >
);
}
diff --git a/admin/nextjs/src/app/layout.jsx b/admin/nextjs/src/app/layout.jsx
index c8b8e82..76a1640 100644
--- a/admin/nextjs/src/app/layout.jsx
+++ b/admin/nextjs/src/app/layout.jsx
@@ -26,7 +26,7 @@ export const metadata = {
export default function RootLayout({ children }) {
return (
-
+
diff --git a/admin/nextjs/src/components/Breadcrumbs.jsx b/admin/nextjs/src/components/Breadcrumbs.jsx
index 2118a41..3cf6f28 100644
--- a/admin/nextjs/src/components/Breadcrumbs.jsx
+++ b/admin/nextjs/src/components/Breadcrumbs.jsx
@@ -1,6 +1,6 @@
'use client';
-import { useEffect, useState } from 'react';
+import { Activity, useEffect, useState } from 'react';
// @next
import Link from 'next/link';
@@ -92,18 +92,18 @@ export default function Breadcrumbs() {
color: 'grey.700',
textDecoration: 'none',
...(item.url && { cursor: 'pointer', ':hover': { color: 'primary.main' } }),
- ':focus-visible': { outline: 'none', borderRadius: 0.25, ...generateFocusStyle(theme.palette.primary.main) }
+ ':focus-visible': { outline: 'none', borderRadius: 0.25, ...generateFocusStyle(theme.vars.palette.primary.main) }
}}
key={index}
>
{item.title}
))}
- {activeItem && (
+
- {activeItem.title}
+ {activeItem?.title}
- )}
+
);
}
diff --git a/admin/nextjs/src/components/Contact.jsx b/admin/nextjs/src/components/Contact.jsx
index 4b3ccb4..2ffe36d 100644
--- a/admin/nextjs/src/components/Contact.jsx
+++ b/admin/nextjs/src/components/Contact.jsx
@@ -135,7 +135,7 @@ export default function Contact({
>
{({ TransitionProps }) => (
-
+
setAnchorEl(null)}>
diff --git a/admin/nextjs/src/components/Loader.jsx b/admin/nextjs/src/components/Loader.jsx
index 9cb84e3..91af246 100644
--- a/admin/nextjs/src/components/Loader.jsx
+++ b/admin/nextjs/src/components/Loader.jsx
@@ -1,6 +1,6 @@
'use client';
-import { useEffect, useState } from 'react';
+import { Activity, useEffect, useState } from 'react';
// @mui
import LinearProgress from '@mui/material/LinearProgress';
@@ -17,11 +17,11 @@ export default function Loader() {
return (
<>
- {isClient && (
+
- )}
+
>
);
}
diff --git a/admin/nextjs/src/components/MainCard.jsx b/admin/nextjs/src/components/MainCard.jsx
index 6de7772..a8a4e1a 100644
--- a/admin/nextjs/src/components/MainCard.jsx
+++ b/admin/nextjs/src/components/MainCard.jsx
@@ -9,9 +9,9 @@ import Card from '@mui/material/Card';
export default function MainCard({ children, sx = {}, ref, ...others }) {
const defaultSx = (theme) => ({
p: { xs: 1.75, sm: 2.25, md: 3 },
- border: `1px solid ${theme.palette.divider}`,
+ border: `1px solid ${theme.vars.palette.divider}`,
borderRadius: 4,
- boxShadow: theme.customShadows.section
+ boxShadow: theme.vars.customShadows.section
});
const combinedSx = (theme) => ({
diff --git a/admin/nextjs/src/components/NotificationItem.jsx b/admin/nextjs/src/components/NotificationItem.jsx
index 52e88d3..78f8852 100644
--- a/admin/nextjs/src/components/NotificationItem.jsx
+++ b/admin/nextjs/src/components/NotificationItem.jsx
@@ -4,7 +4,6 @@ import PropTypes from 'prop-types';
import { isValidElement } from 'react';
// @mui
-import { useTheme } from '@mui/material/styles';
import Avatar from '@mui/material/Avatar';
import Badge from '@mui/material/Badge';
import Stack from '@mui/material/Stack';
@@ -17,10 +16,9 @@ import { AvatarSize } from '@/enum';
/*************************** NOTIFICATION - LIST ***************************/
export default function NotificationItem({ avatar, badgeAvatar, title, subTitle, dateTime, isSeen = false }) {
- const theme = useTheme();
const ellipsis = { textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' };
- const avatarContent = isValidElement(avatar) ? {avatar} : ;
+ const avatarContent = isValidElement(avatar) ? {avatar} : ;
return (
@@ -31,7 +29,14 @@ export default function NotificationItem({ avatar, badgeAvatar, title, subTitle,
}
+ badgeContent={
+
+ }
slotProps={{ badge: { sx: { bottom: '22%' } } }}
>
{avatarContent}
diff --git a/admin/nextjs/src/components/logo/LogoIcon.jsx b/admin/nextjs/src/components/logo/LogoIcon.jsx
index 7ac06e2..00a7230 100644
--- a/admin/nextjs/src/components/logo/LogoIcon.jsx
+++ b/admin/nextjs/src/components/logo/LogoIcon.jsx
@@ -33,7 +33,7 @@ export default function LogoIcon() {
fillRule="evenodd"
clipRule="evenodd"
d="M29.0507 0.657088C32.9601 -1.47888 37.5881 1.90736 36.7407 6.28379L31.081 35.5123C31.0417 35.7758 30.9823 36.0375 30.9023 36.2952C30.7256 36.8969 30.4697 37.3981 30.1515 37.802L30.1236 37.8405C28.4079 40.1894 25.1144 40.7015 22.7675 38.9843C21.6036 38.1327 20.8911 36.8926 20.6777 35.5724L20.6789 35.5732C20.0277 33.124 20.9582 26.5495 25.8412 16.0258L27.7227 18.1367L30.214 7.96335C30.3258 7.50659 29.8291 7.14315 29.4282 7.3884L20.4986 12.8509L23.1853 14.0825C18.1195 19.426 11.0662 24.4251 6.06551 24.9519C4.81627 25.0835 3.32109 24.7555 2.15767 23.9042C-0.18924 22.187 -0.700904 18.8907 1.01484 16.5418L1.02814 16.5237L1.0433 16.5032C1.33101 16.0776 1.73015 15.6819 2.24875 15.3311C2.4702 15.1762 2.70184 15.0398 2.9413 14.9222L29.0507 0.657088ZM9.83615 35.6327C11.3428 36.7129 13.4456 36.3571 14.5329 34.8379C15.2554 33.8285 15.7862 30.5405 16.0612 28.4476C16.1668 27.6438 15.3569 27.0632 14.6305 27.4219C12.739 28.3558 9.79931 29.9167 9.07685 30.9261C7.98955 32.4453 8.3295 34.5525 9.83615 35.6327Z"
- fill={theme.palette.primary.main}
+ fill={theme.vars.palette.primary.main}
/>
)}
diff --git a/admin/nextjs/src/components/logo/LogoMain.jsx b/admin/nextjs/src/components/logo/LogoMain.jsx
index 8d8aec9..5c7c3d1 100644
--- a/admin/nextjs/src/components/logo/LogoMain.jsx
+++ b/admin/nextjs/src/components/logo/LogoMain.jsx
@@ -23,11 +23,11 @@ export default function LogoMain() {
fillRule="evenodd"
clipRule="evenodd"
d="M18.8829 0.427107C21.4241 -0.961272 24.4323 1.23978 23.8814 4.08446L20.2026 23.083C20.1771 23.2543 20.1385 23.4244 20.0865 23.5919C19.9716 23.983 19.8053 24.3088 19.5985 24.5713L19.5803 24.5963C18.4651 26.1231 16.3244 26.456 14.7989 25.3398C14.0423 24.7862 13.5792 23.9802 13.4405 23.1221L13.4413 23.1226C13.018 21.5306 13.6228 17.2572 16.7968 10.4168L18.0197 11.7888L19.6391 5.17618C19.7118 4.87928 19.3889 4.64305 19.1283 4.80246L13.3241 8.35306L15.0704 9.15363C11.7777 12.6269 7.19306 15.8763 3.94258 16.2187C3.13058 16.3043 2.15871 16.0911 1.40248 15.5377C-0.123006 14.4215 -0.455588 12.279 0.659645 10.7522L0.66829 10.7404L0.678147 10.7271C0.865156 10.4504 1.1246 10.1932 1.46169 9.96519C1.60563 9.86452 1.75619 9.77586 1.91185 9.69943L18.8829 0.427107ZM6.39334 23.161C7.37266 23.8631 8.73948 23.6318 9.44623 22.6444C9.91583 21.9883 10.2609 19.8511 10.4396 18.4907C10.5082 17.9682 9.98185 17.5908 9.50966 17.8239C8.28019 18.431 6.36939 19.4456 5.8998 20.1017C5.19305 21.0891 5.41402 22.4588 6.39334 23.161Z"
- fill={theme.palette.primary.main}
+ fill={theme.vars.palette.primary.main}
/>
diff --git a/admin/nextjs/src/components/logo/index.jsx b/admin/nextjs/src/components/logo/index.jsx
index 1a5e262..93cc827 100644
--- a/admin/nextjs/src/components/logo/index.jsx
+++ b/admin/nextjs/src/components/logo/index.jsx
@@ -21,7 +21,7 @@ export default function LogoSection({ isIcon, sx, to }) {
return (
-
+
{isIcon ? : }
diff --git a/admin/nextjs/src/components/routes/index.js b/admin/nextjs/src/components/routes/index.js
new file mode 100644
index 0000000..587f0af
--- /dev/null
+++ b/admin/nextjs/src/components/routes/index.js
@@ -0,0 +1 @@
+export * from './router-link';
diff --git a/admin/nextjs/src/components/routes/router-link.jsx b/admin/nextjs/src/components/routes/router-link.jsx
new file mode 100644
index 0000000..2551643
--- /dev/null
+++ b/admin/nextjs/src/components/routes/router-link.jsx
@@ -0,0 +1,23 @@
+'use client';
+
+/**
+ * Client-only wrapper for Next.js `Link`.
+ *
+ * Why this file exists:
+ * - Next.js 16 enforces a strict separation between Server and Client Components.
+ * - MUI components (e.g. Button, Link, MenuItem) require `NextLink` to be
+ * imported from a Client Component.
+ * - Importing `next/link` directly inside Server Components causes build
+ * or prerender errors.
+ *
+ * Usage:
+ * ```ts
+ * import { NextLink } from 'components/NextLink';
+ * ```
+ *
+ * Reference:
+ * https://mui.com/material-ui/integrations/nextjs/#next-js-v16-client-component-restriction
+ */
+import NextLink from 'next/link';
+
+export { NextLink };
diff --git a/admin/nextjs/src/components/third-party/Notistack.jsx b/admin/nextjs/src/components/third-party/Notistack.jsx
index cbaa724..99c4720 100644
--- a/admin/nextjs/src/components/third-party/Notistack.jsx
+++ b/admin/nextjs/src/components/third-party/Notistack.jsx
@@ -20,22 +20,22 @@ import { IconAlertTriangle, IconBug, IconChecks, IconInfoCircle, IconSpeakerphon
// custom styles
const StyledSnackbarProvider = styled(SnackbarProvider)(({ theme }) => ({
'&.notistack-MuiContent': {
- color: theme.palette.background.default
+ color: theme.vars.palette.background.default
},
'&.notistack-MuiContent-default': {
- backgroundColor: theme.palette.primary.main
+ backgroundColor: theme.vars.palette.primary.main
},
'&.notistack-MuiContent-error': {
- backgroundColor: theme.palette.error.main
+ backgroundColor: theme.vars.palette.error.main
},
'&.notistack-MuiContent-success': {
- backgroundColor: theme.palette.success.main
+ backgroundColor: theme.vars.palette.success.main
},
'&.notistack-MuiContent-info': {
- backgroundColor: theme.palette.info.main
+ backgroundColor: theme.vars.palette.info.main
},
'&.notistack-MuiContent-warning': {
- backgroundColor: theme.palette.warning.main
+ backgroundColor: theme.vars.palette.warning.main
},
'& #notistack-snackbar': {
gap: 8
diff --git a/admin/nextjs/src/components/third-party/SimpleBar.jsx b/admin/nextjs/src/components/third-party/SimpleBar.jsx
index c950601..cec5bb8 100644
--- a/admin/nextjs/src/components/third-party/SimpleBar.jsx
+++ b/admin/nextjs/src/components/third-party/SimpleBar.jsx
@@ -2,13 +2,16 @@
import PropTypes from 'prop-types';
// @mui
-import { alpha, styled } from '@mui/material/styles';
+import { styled } from '@mui/material/styles';
import Box from '@mui/material/Box';
// @third-party
import MainSimpleBar from 'simplebar-react';
import { BrowserView, MobileView } from 'react-device-detect';
+// @project
+import { withAlpha } from '@/utils/colorUtils';
+
// root style
const RootStyle = styled(BrowserView)({ flexGrow: 1, height: '100%', overflow: 'hidden' });
@@ -16,7 +19,9 @@ const RootStyle = styled(BrowserView)({ flexGrow: 1, height: '100%', overflow: '
const SimpleBarStyle = styled(MainSimpleBar)(({ theme }) => ({
maxHeight: '100%',
'& .simplebar-scrollbar': {
- '&:before': { background: alpha(theme.palette.grey[500], 0.48) },
+ '&:before': {
+ background: withAlpha(theme.vars.palette.grey[500], 0.48)
+ },
'&.simplebar-visible:before': { opacity: 1 }
},
'& .simplebar-track.simplebar-vertical': { width: 10 },
diff --git a/admin/nextjs/src/config.js b/admin/nextjs/src/config.js
index 2290e75..f317355 100644
--- a/admin/nextjs/src/config.js
+++ b/admin/nextjs/src/config.js
@@ -8,6 +8,8 @@ export const APP_DEFAULT_PATH = '/dashboard';
export const DRAWER_WIDTH = 254;
export const MINI_DRAWER_WIDTH = 76 + 1; // 1px - for right-side border
+export const CSS_VAR_PREFIX = '';
+
/*************************** THEME ENUM ***************************/
export let Themes;
@@ -41,7 +43,6 @@ export let ThemeI18n;
const config = {
currentTheme: Themes.THEME_HOSTING,
- mode: ThemeMode.LIGHT,
themeDirection: ThemeDirection.LTR,
miniDrawer: false,
i18n: ThemeI18n.EN
diff --git a/admin/nextjs/src/contexts/ConfigContext.jsx b/admin/nextjs/src/contexts/ConfigContext.jsx
index fe81727..0a5c8fa 100644
--- a/admin/nextjs/src/contexts/ConfigContext.jsx
+++ b/admin/nextjs/src/contexts/ConfigContext.jsx
@@ -1,25 +1,24 @@
'use client';
import PropTypes from 'prop-types';
-import { createContext } from 'react';
+import { createContext, useMemo } from 'react';
// @project
-import defaultConfig from '@/config';
+import config from '@/config';
import useLocalStorage from '@/hooks/useLocalStorage';
-// @initial
-const initialState = { ...defaultConfig };
+/*************************** CONFIG CONTEXT ***************************/
-/*************************** CONFIG - CONTEXT & PROVIDER ***************************/
+export const ConfigContext = createContext(undefined);
-const ConfigContext = createContext(initialState);
+/*************************** CONFIG PROVIDER ***************************/
-function ConfigProvider({ children }) {
- const [config] = useLocalStorage('sass-able-react-mui-admin-next-free', initialState);
+export function ConfigProvider({ children }) {
+ const { state, setState, setField, resetState } = useLocalStorage('sass-able-react-mui-admin-next-free', config);
- return {children};
-}
+ const memoizedValue = useMemo(() => ({ state, setState, setField, resetState }), [state, setField, setState, resetState]);
-export { ConfigProvider, ConfigContext };
+ return {children};
+}
ConfigProvider.propTypes = { children: PropTypes.any };
diff --git a/admin/nextjs/src/hooks/useConfig.js b/admin/nextjs/src/hooks/useConfig.js
index 31ed0a8..4327cdf 100644
--- a/admin/nextjs/src/hooks/useConfig.js
+++ b/admin/nextjs/src/hooks/useConfig.js
@@ -17,5 +17,9 @@ import { ConfigContext } from '@/contexts/ConfigContext';
*/
export default function useConfig() {
- return use(ConfigContext);
+ const context = use(ConfigContext);
+
+ if (!context) throw new Error('useSConfig must be use inside ConfigProvider');
+
+ return context;
}
diff --git a/admin/nextjs/src/hooks/useLocalStorage.js b/admin/nextjs/src/hooks/useLocalStorage.js
index 2f17a31..e7d994b 100644
--- a/admin/nextjs/src/hooks/useLocalStorage.js
+++ b/admin/nextjs/src/hooks/useLocalStorage.js
@@ -1,51 +1,45 @@
-import { useState, useEffect } from 'react';
+import { useState, useEffect, useCallback } from 'react';
/*************************** HOOKS - LOCAL STORAGE ***************************/
-/**
- * Custom hook to manage localStorage with React state synchronization.
- *
- * This hook provides a convenient way to:
- * - Read an initial value from localStorage (or use a default value if none exists).
- * - Synchronize the value with localStorage whenever it changes.
- * - Listen for changes to the same key in localStorage from other browser tabs or windows.
- *
- * @template ValueType - The type of the stored value.
- * @param {string} key - The key used to store the value in localStorage.
- * @param {ValueType} defaultValue - The default value used if no value exists in localStorage.
- * @returns {[ValueType, (newValue: ValueType | ((currentValue: ValueType) => ValueType)) => void]}
- * An array with the current value and a function to update it.
- */
-
export default function useLocalStorage(key, defaultValue) {
- const [value, setValue] = useState(() => {
- const storedValue = typeof window !== 'undefined' ? localStorage.getItem(key) : null;
- return storedValue === null ? defaultValue : JSON.parse(storedValue);
- });
+ // Load initial state from localStorage or fallback to default
+ const readValue = () => {
+ if (typeof window === 'undefined') return defaultValue;
- useEffect(() => {
- // Define a listener to update the state when the same key in localStorage changes
- const listener = (e) => {
- if (typeof window !== 'undefined' && e.storageArea === localStorage && e.key === key) {
- setValue(e.newValue ? JSON.parse(e.newValue) : e.newValue);
- }
- };
- window.addEventListener('storage', listener);
-
- return () => {
- window.removeEventListener('storage', listener);
- };
- }, [key, defaultValue]);
-
- // Function to update both the local state and localStorage
- const setValueInLocalStorage = (newValue) => {
- setValue((currentValue) => {
- const result = typeof newValue === 'function' ? newValue(currentValue) : newValue;
- if (typeof window !== 'undefined') localStorage.setItem(key, JSON.stringify(result));
- return result;
- });
+ try {
+ const item = localStorage.getItem(key);
+ return item ? JSON.parse(item) : defaultValue;
+ } catch (err) {
+ console.warn(`Error reading localStorage key “${key}”:`, err);
+ return defaultValue;
+ }
};
- // Return the current value and the function to update it
- return [value, setValueInLocalStorage];
+ const [state, setState] = useState(readValue);
+
+ // Sync to localStorage whenever state changes
+ useEffect(() => {
+ try {
+ localStorage.setItem(key, JSON.stringify(state));
+ } catch (err) {
+ console.warn(`Error setting localStorage key “${key}”:`, err);
+ }
+ }, [key, state]);
+
+ // Update single field
+ const setField = useCallback((key, value) => {
+ setState((prev) => ({
+ ...prev,
+ [key]: value
+ }));
+ }, []);
+
+ // Reset to defaults
+ const resetState = useCallback(() => {
+ setState(defaultValue);
+ localStorage.setItem(key, JSON.stringify(defaultValue));
+ }, [defaultValue, key]);
+
+ return { state, setState, setField, resetState };
}
diff --git a/admin/nextjs/src/images/illustration/DumpingDoodle.jsx b/admin/nextjs/src/images/illustration/DumpingDoodle.jsx
index 51a2cec..1097ae9 100644
--- a/admin/nextjs/src/images/illustration/DumpingDoodle.jsx
+++ b/admin/nextjs/src/images/illustration/DumpingDoodle.jsx
@@ -14,13 +14,13 @@ export default function DumpingDoodle() {
fillRule="evenodd"
clipRule="evenodd"
d="M720.391 431.873C745.902 426.273 771.521 414.731 792.391 398.873C788.015 415.547 781.9 436.405 768.979 448.487C764.067 453.081 757.511 456.082 751.536 459.001C742.748 463.292 733.735 467.13 724.663 470.776C708.65 477.212 691.829 484.342 674.767 487.466C670.031 488.332 667.619 487.482 663.676 484.64C657.054 479.866 651.066 474.131 645.146 468.535C635.656 459.564 626.425 450.303 617.391 440.873C651.613 440.79 686.901 439.225 720.391 431.873ZM474.391 488.873C479.145 491.974 483.9 495.075 488.655 498.175C522.233 520.075 555.812 541.974 589.391 563.873C573.391 574.54 557.391 585.206 541.391 595.873C547.058 601.873 552.724 607.873 558.391 613.873C553.09 616.889 547.788 619.905 542.488 622.921C532.768 628.452 523.048 633.981 513.329 639.512C509.884 641.472 506.439 643.432 502.994 645.392C502.184 645.853 501.037 646.817 500.186 646.741C498.908 646.625 496.599 644.417 495.56 643.742C492.275 641.605 488.995 639.461 485.719 637.31C475.637 630.694 465.592 624.023 455.586 617.292C431.056 600.789 406.58 584.088 383.097 566.114C372.247 557.811 362.175 549.203 353.699 538.4C344.373 526.514 336.671 513.389 329.9 499.908C324.198 488.559 319.15 476.876 314.673 464.992C313.134 460.908 309.325 454.369 309.394 449.882C309.431 447.47 311.527 444 312.338 441.768C314.262 436.477 316.187 431.185 318.111 425.894C319.098 423.178 321.037 419.807 321.375 416.915C321.786 413.424 320.092 408.647 319.547 405.198C319.283 403.521 319.32 398.795 318.047 397.847C317.201 397.216 314.009 397.536 312.991 397.457C304.734 396.823 296.478 396.187 288.221 395.552C266.079 393.849 243.939 392.146 221.798 390.443C215.704 389.974 208.857 390.3 202.875 388.987C198.356 387.996 195.531 384.372 194.18 380.135C190.125 367.41 186.291 354.484 183.822 341.346C181.434 328.648 183.74 318.768 188.947 307.019C193.505 296.735 198.888 286.536 205.009 277.083C206.775 274.356 206.765 274.94 209.934 275.505C222.936 277.822 235.938 280.14 248.94 282.458C292.947 290.303 336.954 298.147 380.961 305.992C396.477 308.758 411.994 311.524 427.509 314.289C429.775 314.694 434.22 314.596 436.217 315.842C437.242 316.482 438.007 318.378 438.67 319.406C441.543 323.859 444.416 328.312 447.289 332.766C463.416 357.762 480.023 382.445 496.483 407.223C514.786 434.772 533.088 462.323 551.391 489.873C525.724 489.54 500.058 489.206 474.391 488.873Z"
- fill={theme.palette.primary.lighter}
+ fill={theme.vars.palette.primary.lighter}
/>
);
diff --git a/admin/nextjs/src/images/illustration/ReadingSideDoodle.jsx b/admin/nextjs/src/images/illustration/ReadingSideDoodle.jsx
index 2f99cd2..510f221 100644
--- a/admin/nextjs/src/images/illustration/ReadingSideDoodle.jsx
+++ b/admin/nextjs/src/images/illustration/ReadingSideDoodle.jsx
@@ -14,949 +14,949 @@ export default function ReadingSideDoodle() {
fillRule="evenodd"
clipRule="evenodd"
d="M738.321 565.16C733.804 570.384 727.134 574.261 722.016 579.037C716.642 584.054 710.809 588.438 705.456 593.394C681.842 564.533 649.494 546.836 621.471 522.887C608.186 511.532 598.398 496.131 591.235 480.325C587.563 472.222 584.85 463.882 582.727 455.25C581.771 451.362 580.836 447.487 580.211 443.546C579.454 438.773 579.258 438.366 576.038 434.641C574.652 433.038 571.967 428.354 569.252 428.87C566.967 429.305 562.788 436.26 561.344 437.978C554.4 446.241 547.668 454.755 540.357 462.698C529.172 474.852 518.989 486.812 508.604 499.694C487.36 526.049 464.444 550.858 441.32 575.657C439.605 577.496 435.606 582.889 433.142 583.614C430.146 584.495 425.277 580.82 422.26 578.766C414.977 573.808 409.237 567.671 403.011 561.526C390.862 549.534 382.635 532.701 377.101 516.685C373.788 507.098 371.634 497.16 368.215 487.606C366.79 483.624 363.56 478.73 365.2 475.262C365.688 474.228 368.796 471.481 369.892 471.271C371.188 471.022 373.349 472.799 373.799 472.676C378.099 471.499 375.713 466.998 378.271 464.576C379.721 463.202 387.096 463.403 389.298 462.648C397.349 459.886 404.572 454.618 412.183 451.473C444.046 438.309 476.297 425.504 503.804 404.007C510.938 398.433 515.678 394.244 524.19 390.641C532.792 387 541.439 383.752 550.216 380.575C557.96 377.772 565.746 375.144 573.746 373.135C582.396 370.962 594.667 368.207 603.31 371.006C620.283 376.501 625.764 390.486 632.523 405.239C641.668 425.199 652.725 444.087 664.712 462.459C687.772 497.807 715.818 529.526 738.321 565.16Z"
- fill={theme.palette.primary.lighter}
+ fill={theme.vars.palette.primary.lighter}
/>
);
diff --git a/admin/nextjs/src/images/maintenance/Error404.jsx b/admin/nextjs/src/images/maintenance/Error404.jsx
index df0a6a6..669b14e 100644
--- a/admin/nextjs/src/images/maintenance/Error404.jsx
+++ b/admin/nextjs/src/images/maintenance/Error404.jsx
@@ -7,7 +7,7 @@ import { useTheme } from '@mui/material/styles';
export default function Error404() {
const theme = useTheme();
- const primaryColor = theme.palette.primary.dark;
+ const primaryColor = theme.vars.palette.primary.dark;
return (
);
diff --git a/admin/vite/src/images/illustration/ReadingSideDoodle.jsx b/admin/vite/src/images/illustration/ReadingSideDoodle.jsx
index b2dfd0d..ea923bc 100644
--- a/admin/vite/src/images/illustration/ReadingSideDoodle.jsx
+++ b/admin/vite/src/images/illustration/ReadingSideDoodle.jsx
@@ -12,949 +12,949 @@ export default function ReadingSideDoodle() {
fillRule="evenodd"
clipRule="evenodd"
d="M738.321 565.16C733.804 570.384 727.134 574.261 722.016 579.037C716.642 584.054 710.809 588.438 705.456 593.394C681.842 564.533 649.494 546.836 621.471 522.887C608.186 511.532 598.398 496.131 591.235 480.325C587.563 472.222 584.85 463.882 582.727 455.25C581.771 451.362 580.836 447.487 580.211 443.546C579.454 438.773 579.258 438.366 576.038 434.641C574.652 433.038 571.967 428.354 569.252 428.87C566.967 429.305 562.788 436.26 561.344 437.978C554.4 446.241 547.668 454.755 540.357 462.698C529.172 474.852 518.989 486.812 508.604 499.694C487.36 526.049 464.444 550.858 441.32 575.657C439.605 577.496 435.606 582.889 433.142 583.614C430.146 584.495 425.277 580.82 422.26 578.766C414.977 573.808 409.237 567.671 403.011 561.526C390.862 549.534 382.635 532.701 377.101 516.685C373.788 507.098 371.634 497.16 368.215 487.606C366.79 483.624 363.56 478.73 365.2 475.262C365.688 474.228 368.796 471.481 369.892 471.271C371.188 471.022 373.349 472.799 373.799 472.676C378.099 471.499 375.713 466.998 378.271 464.576C379.721 463.202 387.096 463.403 389.298 462.648C397.349 459.886 404.572 454.618 412.183 451.473C444.046 438.309 476.297 425.504 503.804 404.007C510.938 398.433 515.678 394.244 524.19 390.641C532.792 387 541.439 383.752 550.216 380.575C557.96 377.772 565.746 375.144 573.746 373.135C582.396 370.962 594.667 368.207 603.31 371.006C620.283 376.501 625.764 390.486 632.523 405.239C641.668 425.199 652.725 444.087 664.712 462.459C687.772 497.807 715.818 529.526 738.321 565.16Z"
- fill={theme.palette.primary.lighter}
+ fill={theme.vars.palette.primary.lighter}
/>
);
diff --git a/admin/vite/src/images/maintenance/Error404.jsx b/admin/vite/src/images/maintenance/Error404.jsx
index b89410f..0e24021 100644
--- a/admin/vite/src/images/maintenance/Error404.jsx
+++ b/admin/vite/src/images/maintenance/Error404.jsx
@@ -1,27 +1,23 @@
// @mui
import { useTheme } from '@mui/material/styles';
-// @project
-import { ThemeMode } from '@/config';
-
/*************************** IMAGE - ERROR 404 ***************************/
export default function Error404() {
const theme = useTheme();
- const primaryColor = theme.palette.mode === ThemeMode.DARK ? theme.palette.primary.main : theme.palette.primary.dark;
return (
-
+
-
-
-
-
-
+
+
+
+
+
-
+
@@ -143,7 +176,7 @@ export default function Error404() {
diff --git a/admin/vite/src/images/maintenance/Error500.jsx b/admin/vite/src/images/maintenance/Error500.jsx
index fe5fb60..1511224 100644
--- a/admin/vite/src/images/maintenance/Error500.jsx
+++ b/admin/vite/src/images/maintenance/Error500.jsx
@@ -1,29 +1,25 @@
// @mui
import { useTheme } from '@mui/material/styles';
-// @project
-import { ThemeMode } from '@/config';
-
/*************************** IMAGE - ERROR 500 ***************************/
export default function Error500() {
const theme = useTheme();
- const primaryColor = theme.palette.mode === ThemeMode.DARK ? theme.palette.primary.main : theme.palette.primary.dark;
return (
-
+
@@ -31,25 +27,33 @@ export default function Error500() {
fillRule="evenodd"
clipRule="evenodd"
d="M343.5 179C342.948 179 342.5 179.448 342.5 180C342.5 180.552 342.948 181 343.5 181H352.537C352.197 181.54 352 182.178 352 182.863C352 184.796 353.567 186.363 355.5 186.363C357.433 186.363 359 184.796 359 182.863C359 182.178 358.803 181.54 358.463 181H360.5C361.052 181 361.5 180.552 361.5 180C361.5 179.448 361.052 179 360.5 179H343.5Z"
- fill={primaryColor}
+ fill={theme.vars.palette.primary.dark}
/>
+
-
@@ -57,7 +61,7 @@ export default function Error500() {
@@ -65,7 +69,7 @@ export default function Error500() {
diff --git a/admin/vite/src/images/maintenance/Error500Server.jsx b/admin/vite/src/images/maintenance/Error500Server.jsx
index 8e6d330..c4bc2eb 100644
--- a/admin/vite/src/images/maintenance/Error500Server.jsx
+++ b/admin/vite/src/images/maintenance/Error500Server.jsx
@@ -1,27 +1,18 @@
-// @mui
-import { useTheme } from '@mui/material/styles';
-
-// @project
-import { ThemeMode } from '@/config';
-
/*************************** IMAGE - ERROR 500 SERVER ***************************/
export default function Error5001() {
- const theme = useTheme();
- const primaryColor = theme.palette.mode === ThemeMode.DARK ? theme.palette.primary.main : theme.palette.primary.dark;
-
return (
-
+
-
+
-
+
-
-
-
-
+
+
+
+
);
}
diff --git a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavCollapse.jsx b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavCollapse.jsx
index 9f475ca..ee50b80 100644
--- a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavCollapse.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavCollapse.jsx
@@ -1,5 +1,5 @@
import PropTypes from 'prop-types';
-import { useState } from 'react';
+import { Activity, useState } from 'react';
// @mui
import { useTheme } from '@mui/material/styles';
@@ -68,7 +68,7 @@ export default function NavCollapse({ item, level = 0 }) {
setOpen(!open);
};
- const iconcolor = theme.palette.text.primary;
+ const iconcolor = theme.vars.palette.text.primary;
return (
<>
@@ -78,18 +78,15 @@ export default function NavCollapse({ item, level = 0 }) {
sx={{
my: 0.25,
color: 'text.primary',
- '&.Mui-selected': {
- color: 'text.primary',
- '&.Mui-focusVisible': { bgcolor: 'primary.light' }
- }
+ '&.Mui-selected': { color: 'text.primary', '&.Mui-focusVisible': { bgcolor: 'primary.light' } }
}}
onClick={handleClick}
>
- {level === 0 && (
+
- )}
+
{open ? : }
diff --git a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavItem.jsx b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavItem.jsx
index fc2a097..b61428e 100644
--- a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavItem.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/ResponsiveDrawer/NavItem.jsx
@@ -1,5 +1,5 @@
import PropTypes from 'prop-types';
-import { useEffect } from 'react';
+import { Activity, useEffect } from 'react';
// @mui
import { useTheme } from '@mui/material/styles';
@@ -60,11 +60,11 @@ export default function NavItem({ item, level = 0 }) {
})
}}
>
- {level === 0 && (
+
- )}
+
);
diff --git a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/index.jsx b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/index.jsx
index f9afb7e..6eaa16a 100644
--- a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/index.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerContent/index.jsx
@@ -12,7 +12,7 @@ import SimpleBar from '@/components/third-party/SimpleBar';
/*************************** DRAWER - CONTENT ***************************/
export default function DrawerContent() {
- const upMD = useMediaQuery((theme) => theme.breakpoints.up('lg'));
+ const upLG = useMediaQuery((theme) => theme.breakpoints.up('lg'));
const { menuMaster } = useGetMenuMaster();
const drawerOpen = menuMaster.isDashboardDrawerOpened;
@@ -21,7 +21,7 @@ export default function DrawerContent() {
return (
-
+
diff --git a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerHeader/index.jsx b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerHeader/index.jsx
index 75504a5..d04a88d 100644
--- a/admin/vite/src/layouts/AdminLayout/Drawer/DrawerHeader/index.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Drawer/DrawerHeader/index.jsx
@@ -1,4 +1,6 @@
import PropTypes from 'prop-types';
+import { Activity } from 'react';
+
// @mui
import IconButton from '@mui/material/IconButton';
import Stack from '@mui/material/Stack';
@@ -20,7 +22,9 @@ export default function DrawerHeader({ open }) {
return (
- {open && }
+
+
+
handlerDrawerOpen(!drawerOpen)}
diff --git a/admin/vite/src/layouts/AdminLayout/Drawer/MiniDrawerStyled.js b/admin/vite/src/layouts/AdminLayout/Drawer/MiniDrawerStyled.js
index 6999fb8..46e8223 100644
--- a/admin/vite/src/layouts/AdminLayout/Drawer/MiniDrawerStyled.js
+++ b/admin/vite/src/layouts/AdminLayout/Drawer/MiniDrawerStyled.js
@@ -7,7 +7,7 @@ import { DRAWER_WIDTH } from '@/config';
// Mixin for common ) (open/closed) drawer state0....
const commonDrawerStyles = (theme) => ({
- borderRight: `1px solid ${theme.palette.grey[300]}`,
+ borderRight: `1px solid ${theme.vars.palette.grey[300]}`,
overflowX: 'hidden'
});
diff --git a/admin/vite/src/layouts/AdminLayout/Drawer/index.jsx b/admin/vite/src/layouts/AdminLayout/Drawer/index.jsx
index 308edec..94c1786 100644
--- a/admin/vite/src/layouts/AdminLayout/Drawer/index.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Drawer/index.jsx
@@ -1,5 +1,5 @@
import PropTypes from 'prop-types';
-import { useMemo } from 'react';
+import { Activity, useMemo } from 'react';
import useMediaQuery from '@mui/material/useMediaQuery';
import Divider from '@mui/material/Divider';
@@ -55,13 +55,13 @@ export default function MainDrawer({ window }) {
{/* Permanent mini-drawer for large media */}
- {!downLG && (
+
{drawerHeader}
{drawerContent}
- )}
+
);
}
diff --git a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Notification.jsx b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Notification.jsx
index 280d276..4ee4f0c 100644
--- a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Notification.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Notification.jsx
@@ -1,4 +1,4 @@
-import { Fragment, useState } from 'react';
+import { Activity, Fragment, useState } from 'react';
// @mui
import { keyframes, useTheme } from '@mui/material/styles';
@@ -72,7 +72,7 @@ export default function Notification() {
const [notifications, setNotifications] = useState([
{
avatar: { alt: 'Travis Howard', src: avatar1 },
- badge: ,
+ badge: ,
title: 'New Feature Deployed · Code Review Needed',
subTitle: 'Brenda Skiles',
dateTime: 'Jul 9'
@@ -92,7 +92,7 @@ export default function Notification() {
},
{
avatar: { alt: 'Travis Howard', src: avatar4 },
- badge: ,
+ badge: ,
title: 'Admin Approval · Document Submission Accepted',
subTitle: 'Salvatore Bogan',
dateTime: 'Jul 15',
@@ -110,7 +110,7 @@ export default function Notification() {
const [notifications2, setNotifications2] = useState([
{
avatar: { alt: 'Travis Howard', src: avatar1 },
- badge: ,
+ badge: ,
title: 'Code Review Requested · Feature Deployment',
subTitle: 'Brenda Skiles',
dateTime: 'Jul 9'
@@ -124,7 +124,7 @@ export default function Notification() {
},
{
avatar: { alt: 'Alice Smith', src: avatar5 },
- badge: ,
+ badge: ,
title: 'Document Submission Approval Received',
subTitle: 'Salvatore Bogan',
dateTime: 'Aug 12',
@@ -132,7 +132,7 @@ export default function Notification() {
},
{
avatar: { alt: 'Travis Howard', src: avatar1 },
- badge: ,
+ badge: ,
title: 'New Commit Pushed · Review Changes',
subTitle: 'Brenda Skiles',
dateTime: 'Jul 9'
@@ -181,7 +181,7 @@ export default function Notification() {
variant="dot"
invisible={allRead || notifications.length === 0}
slotProps={{
- badge: { sx: { height: 6, minWidth: 6, top: 4, right: 4, border: `1px solid ${theme.palette.background.default}` } }
+ badge: { sx: { height: 6, minWidth: 6, top: 4, right: 4, border: `1px solid ${theme.vars.palette.background.default}` } }
}}
>
@@ -202,7 +202,7 @@ export default function Notification() {
{({ TransitionProps }) => (
-
+
setInnerAnchorEl(null)}>
{listcontent.map((item, index) => (
@@ -248,11 +248,11 @@ export default function Notification() {
)}
- {!showEmpty && (
+
- )}
+
}
/>
diff --git a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Profile.jsx b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Profile.jsx
index 10dd2a7..a73561c 100644
--- a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Profile.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/Profile.jsx
@@ -29,7 +29,7 @@ import { AvatarSize, ChipIconPosition } from '@/enum';
import useConfig from '@/hooks/useConfig';
// @assets
-import { IconChevronRight, IconLanguage, IconLogout, IconSettings, IconSunMoon, IconTextDirectionLtr } from '@tabler/icons-react';
+import { IconChevronRight, IconLanguage, IconLogout, IconSettings, IconTextDirectionLtr } from '@tabler/icons-react';
import profile from '@/assets/images/users/avatar-1.png';
@@ -52,7 +52,9 @@ const languageList = [
export default function ProfileSection() {
const theme = useTheme();
- const { i18n } = useConfig();
+ const {
+ state: { i18n }
+ } = useConfig();
const [anchorEl, setAnchorEl] = useState(null);
const [innerAnchorEl, setInnerAnchorEl] = useState(null);
@@ -100,7 +102,7 @@ export default function ProfileSection() {
>
{({ TransitionProps }) => (
-
+
setAnchorEl(null)}>
- enqueueSnackbar('Upgrade to pro for dark theme')} />
- }
- sx={{ py: 0.5, pl: 1, '& .MuiListItemSecondaryAction-root': { right: 8 } }}
- >
-
-
-
-
-
enqueueSnackbar('Upgrade to pro for RTL')} />}
sx={{ py: 1, pl: 1, '& .MuiListItemSecondaryAction-root': { right: 8 } }}
@@ -169,7 +160,7 @@ export default function ProfileSection() {
>
{({ TransitionProps }) => (
-
+
setInnerAnchorEl(null)}>
{languageList.map((item, index) => (
diff --git a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/SearchBar.jsx b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/SearchBar.jsx
index 7b945e7..e03c62a 100644
--- a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/SearchBar.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/SearchBar.jsx
@@ -143,7 +143,7 @@ export default function SearchBar() {
onClick={handleActionClick}
onKeyDown={handleKeyDown}
onChange={handleInputChange}
- sx={{ minWidth: { xs: 200, sm: 240 } }}
+ sx={{ minWidth: { xs: 170, sm: 240 } }}
/>
{
+ enqueueSnackbar('Upgrade to pro for theme mode');
+ };
+
+ return (
+
+
+
+ );
+}
diff --git a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/index.jsx b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/index.jsx
index 69b84a8..0a344bd 100644
--- a/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/index.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Header/HeaderContent/index.jsx
@@ -6,6 +6,7 @@ import Box from '@mui/material/Box';
import Notification from './Notification';
import Profile from './Profile';
import SearchBar from './SearchBar';
+import ThemeModeSwitcher from './ThemeModeSwitcher';
import Breadcrumbs from '@/components/Breadcrumbs';
/*************************** HEADER CONTENT ***************************/
@@ -19,6 +20,7 @@ export default function HeaderContent() {
+
diff --git a/admin/vite/src/layouts/AdminLayout/Header/index.jsx b/admin/vite/src/layouts/AdminLayout/Header/index.jsx
index a5c60d2..d838d2e 100644
--- a/admin/vite/src/layouts/AdminLayout/Header/index.jsx
+++ b/admin/vite/src/layouts/AdminLayout/Header/index.jsx
@@ -54,7 +54,7 @@ export default function Header() {
position: 'fixed',
elevation: 0,
sx: {
- borderBottom: `1px solid ${theme.palette.grey[300]}`,
+ borderBottom: `1px solid ${theme.vars.palette.grey[300]}`,
zIndex: 1200,
width: { xs: '100%', lg: drawerOpen ? `calc(100% - ${DRAWER_WIDTH}px)` : 1 }
}
diff --git a/admin/vite/src/layouts/AdminLayout/index.jsx b/admin/vite/src/layouts/AdminLayout/index.jsx
index a61605f..0c20523 100644
--- a/admin/vite/src/layouts/AdminLayout/index.jsx
+++ b/admin/vite/src/layouts/AdminLayout/index.jsx
@@ -30,7 +30,7 @@ export default function DashboardLayout() {
if (menuMasterLoading) return ;
return (
-
+
diff --git a/admin/vite/src/sections/auth/AuthLogin.jsx b/admin/vite/src/sections/auth/AuthLogin.jsx
index 54871a5..5b62073 100644
--- a/admin/vite/src/sections/auth/AuthLogin.jsx
+++ b/admin/vite/src/sections/auth/AuthLogin.jsx
@@ -66,7 +66,7 @@ export default function AuthLogin({ inputSx }) {
router.push(APP_DEFAULT_PATH);
};
- const commonIconProps = { size: 16, color: theme.palette.grey[700] };
+ const commonIconProps = { size: 16, color: theme.vars.palette.grey[700] };
return (
<>
@@ -86,7 +86,7 @@ export default function AuthLogin({ inputSx }) {
))}
-
-
+
+
-
-
+
+
diff --git a/uikit/react/src/components/logo/LogoIcon.jsx b/uikit/react/src/components/logo/LogoIcon.jsx
index b18a4b7..9f8fa7b 100644
--- a/uikit/react/src/components/logo/LogoIcon.jsx
+++ b/uikit/react/src/components/logo/LogoIcon.jsx
@@ -13,6 +13,7 @@ import branding from '@/branding.json';
export default function LogoIcon() {
const theme = useTheme();
const logoIconPath = branding.logo.logoIcon;
+ const palette = theme?.vars ? theme.vars.palette : theme.palette;
return (
)}
diff --git a/uikit/react/src/components/logo/LogoMain.jsx b/uikit/react/src/components/logo/LogoMain.jsx
index 27ff883..192ac7e 100644
--- a/uikit/react/src/components/logo/LogoMain.jsx
+++ b/uikit/react/src/components/logo/LogoMain.jsx
@@ -13,6 +13,7 @@ import branding from '@/branding.json';
export default function LogoMain() {
const theme = useTheme();
const logoMainPath = branding.logo.main;
+ const palette = theme?.vars ? theme.vars.palette : theme.palette;
return logoMainPath ? (
@@ -23,11 +24,11 @@ export default function LogoMain() {
fillRule="evenodd"
clipRule="evenodd"
d="M18.8829 0.427107C21.4241 -0.961272 24.4323 1.23978 23.8814 4.08446L20.2026 23.083C20.1771 23.2543 20.1385 23.4244 20.0865 23.5919C19.9716 23.983 19.8053 24.3088 19.5985 24.5713L19.5803 24.5963C18.4651 26.1231 16.3244 26.456 14.7989 25.3398C14.0423 24.7862 13.5792 23.9802 13.4405 23.1221L13.4413 23.1226C13.018 21.5306 13.6228 17.2572 16.7968 10.4168L18.0197 11.7888L19.6391 5.17618C19.7118 4.87928 19.3889 4.64305 19.1283 4.80246L13.3241 8.35306L15.0704 9.15363C11.7777 12.6269 7.19306 15.8763 3.94258 16.2187C3.13058 16.3043 2.15871 16.0911 1.40248 15.5377C-0.123006 14.4215 -0.455588 12.279 0.659645 10.7522L0.66829 10.7404L0.678147 10.7271C0.865156 10.4504 1.1246 10.1932 1.46169 9.96519C1.60563 9.86452 1.75619 9.77586 1.91185 9.69943L18.8829 0.427107ZM6.39334 23.161C7.37266 23.8631 8.73948 23.6318 9.44623 22.6444C9.91583 21.9883 10.2609 19.8511 10.4396 18.4907C10.5082 17.9682 9.98185 17.5908 9.50966 17.8239C8.28019 18.431 6.36939 19.4456 5.8998 20.1017C5.19305 21.0891 5.41402 22.4588 6.39334 23.161Z"
- fill={theme.palette.primary.main}
+ fill={palette.primary.main}
/>
diff --git a/uikit/react/src/components/logo/LogoWatermark.jsx b/uikit/react/src/components/logo/LogoWatermark.jsx
index 1b24897..eb84f80 100644
--- a/uikit/react/src/components/logo/LogoWatermark.jsx
+++ b/uikit/react/src/components/logo/LogoWatermark.jsx
@@ -25,7 +25,7 @@ export default function LogoWatermark({ width = 430, height = 466 }) {
fillRule="evenodd"
clipRule="evenodd"
d="M338.865 7.65501C384.41 -17.229 438.326 22.2206 428.453 73.206L362.518 413.718C362.061 416.788 361.368 419.837 360.436 422.839C358.377 429.849 355.397 435.688 351.689 440.393C351.581 440.543 351.473 440.692 351.364 440.841C331.376 468.207 293.007 474.172 265.666 454.167C252.106 444.245 243.805 429.799 241.32 414.419L241.333 414.428C233.747 385.894 244.587 309.302 301.474 186.701L323.393 211.292L352.417 92.773C353.72 87.4517 347.934 83.2176 343.263 86.0748L239.233 149.712L270.533 164.061C211.517 226.313 129.346 284.552 71.0875 290.69C56.5339 292.223 39.1151 288.401 25.5612 278.484C-1.78032 258.478 -7.74121 220.077 12.2472 192.712C12.2987 192.641 12.3504 192.571 12.4021 192.501C12.4609 192.421 12.5198 192.341 12.5788 192.262C15.9306 187.304 20.5806 182.694 26.6222 178.607C29.2021 176.803 31.9007 175.213 34.6905 173.844L338.865 7.65501ZM115.015 415.116C132.568 427.7 157.065 423.555 169.732 405.857C178.149 394.098 184.334 355.792 187.537 331.41C188.767 322.045 179.332 315.281 170.869 319.46C148.833 330.34 114.586 348.525 106.169 360.284C93.5024 377.982 97.4628 402.531 115.015 415.116Z"
- fill={theme.palette.primary.main}
+ fill={theme.vars.palette.primary.main}
/>
diff --git a/uikit/react/src/components/logo/index.jsx b/uikit/react/src/components/logo/index.jsx
index 823bc72..724939d 100644
--- a/uikit/react/src/components/logo/index.jsx
+++ b/uikit/react/src/components/logo/index.jsx
@@ -17,11 +17,13 @@ import LogoIcon from './LogoIcon';
export default function LogoSection({ isIcon, sx, to }) {
const theme = useTheme();
+ const palette = theme?.vars ? theme.vars.palette : theme.palette;
+
return (
{isIcon ? : }
diff --git a/uikit/react/src/components/navbar/MenuPopper.jsx b/uikit/react/src/components/navbar/MenuPopper.jsx
index 37532af..c16cd0d 100644
--- a/uikit/react/src/components/navbar/MenuPopper.jsx
+++ b/uikit/react/src/components/navbar/MenuPopper.jsx
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import { useEffect, useRef, useState } from 'react';
// @mui
-import { alpha, useTheme } from '@mui/material/styles';
+import { useTheme } from '@mui/material/styles';
import Button from '@mui/material/Button';
import Card from '@mui/material/Card';
import ClickAwayListener from '@mui/material/ClickAwayListener';
@@ -14,6 +14,7 @@ import Box from '@mui/material/Box';
// @project
import SvgIcon from '@/components/SvgIcon';
+import { withAlpha } from '@/utils/colorUtils';
/*************************** MENU - POPPER ***************************/
@@ -38,7 +39,9 @@ export default function MenuPopper({
};
useEffect(() => {
- defaultOpen && setAnchorEl(anchorRef.current);
+ if (defaultOpen) {
+ setAnchorEl(anchorRef.current);
+ }
}, [defaultOpen]);
const open = Boolean(anchorEl);
@@ -95,11 +98,11 @@ export default function MenuPopper({
{}
-};
-
-/*************************** CONFIG CONTEXT & PROVIDER ***************************/
-
-const ConfigContext = createContext(initialState);
-
-function ConfigProvider({ children }) {
- const [config, setConfig] = useLocalStorage('sass-able-react-mui-next-js-free', initialState);
-
- const onChangeCurrentTheme = (currentTheme) => {
- setConfig({
- ...config,
- currentTheme
- });
- };
-
- return (
-
- {children}
-
- );
-}
+/*************************** CONFIG CONTEXT ***************************/
+
+export const ConfigContext = createContext(undefined);
+
+/*************************** CONFIG PROVIDER ***************************/
-export { ConfigProvider, ConfigContext };
+export function ConfigProvider({ children }) {
+ const { state, setState, setField, resetState } = useLocalStorage('sass-able-react-mui-next-js', config);
+
+ const memoizedValue = useMemo(() => ({ state, setState, setField, resetState }), [state, setField, setState, resetState]);
+
+ return {children};
+}
ConfigProvider.propTypes = { children: PropTypes.any };
diff --git a/uikit/react/src/hooks/useConfig.js b/uikit/react/src/hooks/useConfig.js
index 5cfe13c..a54138f 100644
--- a/uikit/react/src/hooks/useConfig.js
+++ b/uikit/react/src/hooks/useConfig.js
@@ -1,3 +1,4 @@
+'use client';
import { use } from 'react';
// @project
@@ -6,5 +7,9 @@ import { ConfigContext } from '@/contexts/ConfigContext';
/*************************** HOOKS - CONFIG ***************************/
export default function useConfig() {
- return use(ConfigContext);
+ const context = use(ConfigContext);
+
+ if (!context) throw new Error('useSConfig must be use inside ConfigProvider');
+
+ return context;
}
diff --git a/uikit/react/src/hooks/useDataThemeMode.js b/uikit/react/src/hooks/useDataThemeMode.js
deleted file mode 100644
index f7aae25..0000000
--- a/uikit/react/src/hooks/useDataThemeMode.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import { useEffect } from 'react';
-
-// @project
-import { useTheme } from '@mui/material/styles';
-
-/*************************** HOOKS - DATA THEME MODE ***************************/
-
-export default function useDataThemeMode() {
- const theme = useTheme();
-
- useEffect(() => {
- const myElement = document.getElementsByTagName('html');
- myElement[0]?.setAttribute('data-theme-mode', theme.palette.mode);
- }, [theme.palette.mode]);
-}
diff --git a/uikit/react/src/hooks/useLocalStorage.js b/uikit/react/src/hooks/useLocalStorage.js
index 6f80bb4..e7d994b 100644
--- a/uikit/react/src/hooks/useLocalStorage.js
+++ b/uikit/react/src/hooks/useLocalStorage.js
@@ -1,33 +1,45 @@
-import { useState, useEffect } from 'react';
+import { useState, useEffect, useCallback } from 'react';
/*************************** HOOKS - LOCAL STORAGE ***************************/
export default function useLocalStorage(key, defaultValue) {
- const [value, setValue] = useState(() => {
- const storedValue = typeof window !== 'undefined' ? localStorage.getItem(key) : null;
- return storedValue === null ? defaultValue : JSON.parse(storedValue);
- });
+ // Load initial state from localStorage or fallback to default
+ const readValue = () => {
+ if (typeof window === 'undefined') return defaultValue;
- useEffect(() => {
- const listener = (e) => {
- if (typeof window !== 'undefined' && e.storageArea === localStorage && e.key === key) {
- setValue(e.newValue ? JSON.parse(e.newValue) : e.newValue);
- }
- };
- window.addEventListener('storage', listener);
-
- return () => {
- window.removeEventListener('storage', listener);
- };
- }, [key, defaultValue]);
-
- const setValueInLocalStorage = (newValue) => {
- setValue((currentValue) => {
- const result = typeof newValue === 'function' ? newValue(currentValue) : newValue;
- if (typeof window !== 'undefined') localStorage.setItem(key, JSON.stringify(result));
- return result;
- });
+ try {
+ const item = localStorage.getItem(key);
+ return item ? JSON.parse(item) : defaultValue;
+ } catch (err) {
+ console.warn(`Error reading localStorage key “${key}”:`, err);
+ return defaultValue;
+ }
};
- return [value, setValueInLocalStorage];
+ const [state, setState] = useState(readValue);
+
+ // Sync to localStorage whenever state changes
+ useEffect(() => {
+ try {
+ localStorage.setItem(key, JSON.stringify(state));
+ } catch (err) {
+ console.warn(`Error setting localStorage key “${key}”:`, err);
+ }
+ }, [key, state]);
+
+ // Update single field
+ const setField = useCallback((key, value) => {
+ setState((prev) => ({
+ ...prev,
+ [key]: value
+ }));
+ }, []);
+
+ // Reset to defaults
+ const resetState = useCallback(() => {
+ setState(defaultValue);
+ localStorage.setItem(key, JSON.stringify(defaultValue));
+ }, [defaultValue, key]);
+
+ return { state, setState, setField, resetState };
}
diff --git a/uikit/react/src/icons/Circle.jsx b/uikit/react/src/icons/Circle.jsx
index e2c8489..3bcae0f 100644
--- a/uikit/react/src/icons/Circle.jsx
+++ b/uikit/react/src/icons/Circle.jsx
@@ -18,7 +18,7 @@ export default function Circle({ size = 24, color }) {
-
+
diff --git a/uikit/react/src/icons/CloseEye.jsx b/uikit/react/src/icons/CloseEye.jsx
index 97c15d4..487acfd 100644
--- a/uikit/react/src/icons/CloseEye.jsx
+++ b/uikit/react/src/icons/CloseEye.jsx
@@ -17,35 +17,35 @@ export default function CloseEye({ size = 24, color, stroke = 1.5 }) {
-
-
+
+
diff --git a/uikit/react/src/icons/Curve2.jsx b/uikit/react/src/icons/Curve2.jsx
index 4c620e7..434dd82 100644
--- a/uikit/react/src/icons/Curve2.jsx
+++ b/uikit/react/src/icons/Curve2.jsx
@@ -22,8 +22,8 @@ export default function Curve2({ size = 24, color }) {
/>
-
-
+
+
diff --git a/uikit/react/src/icons/Line.jsx b/uikit/react/src/icons/Line.jsx
index 62dcbcb..dfcaf89 100644
--- a/uikit/react/src/icons/Line.jsx
+++ b/uikit/react/src/icons/Line.jsx
@@ -17,8 +17,8 @@ export default function Line({ size = 24, color }) {
-
-
+
+
diff --git a/uikit/react/src/icons/OpenEye.jsx b/uikit/react/src/icons/OpenEye.jsx
index 240e1dd..d5e25af 100644
--- a/uikit/react/src/icons/OpenEye.jsx
+++ b/uikit/react/src/icons/OpenEye.jsx
@@ -17,42 +17,42 @@ export default function OpenEye({ size = 24, color, stroke = 1.5 }) {
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/uikit/react/src/images/ComingSoon.jsx b/uikit/react/src/images/ComingSoon.jsx
index 263c8cd..3d8ef60 100644
--- a/uikit/react/src/images/ComingSoon.jsx
+++ b/uikit/react/src/images/ComingSoon.jsx
@@ -12,16 +12,16 @@ export default function Comingsoon() {
-
+
diff --git a/uikit/react/src/images/clientele/Devto.jsx b/uikit/react/src/images/clientele/Devto.jsx
index 7a5c9b0..229431c 100644
--- a/uikit/react/src/images/clientele/Devto.jsx
+++ b/uikit/react/src/images/clientele/Devto.jsx
@@ -20,17 +20,17 @@ export default function Devto({ imageSize }) {
-
+
diff --git a/uikit/react/src/images/clientele/Dribbble.jsx b/uikit/react/src/images/clientele/Dribbble.jsx
index b64613d..b4d19b0 100644
--- a/uikit/react/src/images/clientele/Dribbble.jsx
+++ b/uikit/react/src/images/clientele/Dribbble.jsx
@@ -20,17 +20,17 @@ export default function Dribbble({ imageSize }) {
-
+
diff --git a/uikit/react/src/images/clientele/Envato.jsx b/uikit/react/src/images/clientele/Envato.jsx
index 90924e6..ce4da55 100644
--- a/uikit/react/src/images/clientele/Envato.jsx
+++ b/uikit/react/src/images/clientele/Envato.jsx
@@ -20,15 +20,15 @@ export default function Envato({ imageSize }) {
diff --git a/uikit/react/src/images/clientele/Financely.jsx b/uikit/react/src/images/clientele/Financely.jsx
index 693aed9..72a79d1 100644
--- a/uikit/react/src/images/clientele/Financely.jsx
+++ b/uikit/react/src/images/clientele/Financely.jsx
@@ -20,14 +20,14 @@ export default function Financely({ imageSize }) {
-
+
-
+
);
diff --git a/uikit/react/src/images/clientele/Marketly.jsx b/uikit/react/src/images/clientele/Marketly.jsx
index bbbdad0..5fda0f3 100644
--- a/uikit/react/src/images/clientele/Marketly.jsx
+++ b/uikit/react/src/images/clientele/Marketly.jsx
@@ -20,12 +20,12 @@ export default function Marketly({ imageSize }) {
-
-
-
-
+
+
+
+
);
diff --git a/uikit/react/src/images/clientele/Mui.jsx b/uikit/react/src/images/clientele/Mui.jsx
index c0add8e..5e39439 100644
--- a/uikit/react/src/images/clientele/Mui.jsx
+++ b/uikit/react/src/images/clientele/Mui.jsx
@@ -20,15 +20,15 @@ export default function Mui({ imageSize }) {
diff --git a/uikit/react/src/images/clientele/Realtor.jsx b/uikit/react/src/images/clientele/Realtor.jsx
index f21ef3f..d2e7ff9 100644
--- a/uikit/react/src/images/clientele/Realtor.jsx
+++ b/uikit/react/src/images/clientele/Realtor.jsx
@@ -20,15 +20,15 @@ export default function Realtor({ imageSize }) {
diff --git a/uikit/react/src/images/clientele/Reddit.jsx b/uikit/react/src/images/clientele/Reddit.jsx
index 00be264..cff48c0 100644
--- a/uikit/react/src/images/clientele/Reddit.jsx
+++ b/uikit/react/src/images/clientele/Reddit.jsx
@@ -26,16 +26,16 @@ export default function Reddit({ imageSize }) {
fillRule="evenodd"
clipRule="evenodd"
d="M23.627 13.126C23.627 19.4773 18.4782 24.626 12.127 24.626C5.77568 24.626 0.626953 19.4773 0.626953 13.126C0.626953 6.7747 5.77568 1.62598 12.127 1.62598C18.4782 1.62598 23.627 6.7747 23.627 13.126ZM18.0549 11.508C18.9838 11.4765 19.7615 12.1997 19.7957 13.1259C19.8072 13.7719 19.4441 14.3666 18.8665 14.6554C18.878 14.824 18.878 14.9927 18.8665 15.1614C18.8665 17.7397 15.865 19.8322 12.1633 19.8322C8.46157 19.8322 5.46007 17.7369 5.46007 15.1614C5.44857 14.9927 5.44857 14.824 5.46007 14.6554C5.29141 14.581 5.14012 14.4752 5.00851 14.3523C4.33103 13.7177 4.2996 12.6544 4.93414 11.9797C5.56868 11.3022 6.63205 11.2708 7.30672 11.9053C8.63305 11.0078 10.1909 10.5161 11.7917 10.4903L12.6407 6.49984V6.49422C12.6836 6.29974 12.8753 6.17963 13.0667 6.22256L15.8852 6.7858C16.0651 6.47122 16.391 6.25962 16.7541 6.22256C17.3858 6.15382 17.9516 6.61126 18.0204 7.24299C18.0891 7.87473 17.6317 8.44078 16.9999 8.50927C16.3682 8.57802 15.8022 8.12057 15.7337 7.48884L13.2724 6.97134L12.5264 10.5588C14.1073 10.5931 15.6452 11.0819 16.9545 11.9738C17.2517 11.6909 17.6432 11.5223 18.0549 11.508ZM9.44776 13.1259C8.81322 13.1259 8.29572 13.6434 8.29572 14.2779C8.29572 14.9125 8.81041 15.4241 9.44776 15.43C10.0823 15.43 10.5998 14.9125 10.5998 14.2779C10.5998 13.6434 10.0823 13.1259 9.44776 13.1259ZM14.9762 17.4394V17.4851C15.1019 17.3622 15.1047 17.1565 14.9818 17.0308C14.8586 16.905 14.6529 16.9022 14.5272 17.0251C13.827 17.5253 12.9808 17.7711 12.1232 17.7254C11.2658 17.7655 10.4225 17.5081 9.73066 17.0021C9.61336 16.9078 9.45032 16.9078 9.33609 17.0021C9.20447 17.1108 9.18454 17.3078 9.29315 17.4394C10.1109 18.054 11.1112 18.3686 12.1347 18.3257C13.1582 18.3683 14.1587 18.054 14.9762 17.4394ZM14.7618 15.5128H14.819C15.4536 15.487 15.9481 14.9526 15.9225 14.3178C15.9225 13.6832 15.405 13.1657 14.7705 13.1657C14.1359 13.1657 13.6184 13.6832 13.6184 14.3178C13.6184 14.9523 14.1359 15.4698 14.7705 15.4698L14.7618 15.5128Z"
- fill={theme.palette.primary.main}
+ fill={theme.vars.palette.primary.main}
/>
-
+
diff --git a/uikit/react/src/images/clientele/Techlify.jsx b/uikit/react/src/images/clientele/Techlify.jsx
index 314653d..56afad8 100644
--- a/uikit/react/src/images/clientele/Techlify.jsx
+++ b/uikit/react/src/images/clientele/Techlify.jsx
@@ -20,19 +20,19 @@ export default function Techlify({ imageSize }) {
diff --git a/uikit/react/src/images/graphics/Arrow.jsx b/uikit/react/src/images/graphics/Arrow.jsx
index 01e9158..6081877 100644
--- a/uikit/react/src/images/graphics/Arrow.jsx
+++ b/uikit/react/src/images/graphics/Arrow.jsx
@@ -14,7 +14,7 @@ export default function Arrow() {
diff --git a/uikit/react/src/images/graphics/Background.jsx b/uikit/react/src/images/graphics/Background.jsx
index 6f87b66..f9c540a 100644
--- a/uikit/react/src/images/graphics/Background.jsx
+++ b/uikit/react/src/images/graphics/Background.jsx
@@ -1,5 +1,7 @@
'use client';
+import { useId } from 'react';
+
// @mui
import { useTheme } from '@mui/material/styles';
@@ -7,24 +9,25 @@ import { useTheme } from '@mui/material/styles';
export default function Background() {
const theme = useTheme();
+ const uniqueId = useId(); // Generate a unique ID
return (
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/uikit/react/src/images/graphics/DrawnArrow.jsx b/uikit/react/src/images/graphics/DrawnArrow.jsx
index 75c079e..eb7c025 100644
--- a/uikit/react/src/images/graphics/DrawnArrow.jsx
+++ b/uikit/react/src/images/graphics/DrawnArrow.jsx
@@ -12,19 +12,19 @@ export default function DrawnArrow() {
diff --git a/uikit/react/src/images/graphics/Graphic1.jsx b/uikit/react/src/images/graphics/Graphic1.jsx
index 418e41a..48d40e5 100644
--- a/uikit/react/src/images/graphics/Graphic1.jsx
+++ b/uikit/react/src/images/graphics/Graphic1.jsx
@@ -24,8 +24,8 @@ export default function Graphic1() {
gradientUnits="userSpaceOnUse"
gradientTransform="translate(316.233 200.591) rotate(90) scale(675.854 648.851)"
>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/PageLoader.jsx b/uikit/react/src/images/graphics/PageLoader.jsx
index 62c1813..06d3fb1 100644
--- a/uikit/react/src/images/graphics/PageLoader.jsx
+++ b/uikit/react/src/images/graphics/PageLoader.jsx
@@ -32,6 +32,8 @@ export default function PageLoader() {
-
+
);
}
diff --git a/uikit/react/src/images/graphics/Pattern2.jsx b/uikit/react/src/images/graphics/Pattern2.jsx
index 3cba982..a2972ee 100644
--- a/uikit/react/src/images/graphics/Pattern2.jsx
+++ b/uikit/react/src/images/graphics/Pattern2.jsx
@@ -14,15 +14,15 @@ export default function Pattern2({ fill }) {
);
diff --git a/uikit/react/src/images/graphics/Pattern3.jsx b/uikit/react/src/images/graphics/Pattern3.jsx
index ac0f939..034b8bd 100644
--- a/uikit/react/src/images/graphics/Pattern3.jsx
+++ b/uikit/react/src/images/graphics/Pattern3.jsx
@@ -17,8 +17,8 @@ export default function Pattern3() {
/>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Pattern4.jsx b/uikit/react/src/images/graphics/Pattern4.jsx
index 319d291..791e07e 100644
--- a/uikit/react/src/images/graphics/Pattern4.jsx
+++ b/uikit/react/src/images/graphics/Pattern4.jsx
@@ -17,8 +17,8 @@ export default function Pattern4() {
/>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Pattern5.jsx b/uikit/react/src/images/graphics/Pattern5.jsx
index 6c62718..83a6fee 100644
--- a/uikit/react/src/images/graphics/Pattern5.jsx
+++ b/uikit/react/src/images/graphics/Pattern5.jsx
@@ -17,8 +17,8 @@ export default function Pattern5() {
/>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Pattern6.jsx b/uikit/react/src/images/graphics/Pattern6.jsx
index 68726c0..27fd49a 100644
--- a/uikit/react/src/images/graphics/Pattern6.jsx
+++ b/uikit/react/src/images/graphics/Pattern6.jsx
@@ -17,8 +17,8 @@ export default function Pattern6() {
/>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Pattern7.jsx b/uikit/react/src/images/graphics/Pattern7.jsx
index a3661de..125d5e6 100644
--- a/uikit/react/src/images/graphics/Pattern7.jsx
+++ b/uikit/react/src/images/graphics/Pattern7.jsx
@@ -17,8 +17,8 @@ export default function Pattern7() {
/>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Pattern8.jsx b/uikit/react/src/images/graphics/Pattern8.jsx
index 06ddc3a..fb58770 100644
--- a/uikit/react/src/images/graphics/Pattern8.jsx
+++ b/uikit/react/src/images/graphics/Pattern8.jsx
@@ -17,8 +17,8 @@ export default function Pattern8() {
/>
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Pattern9.jsx b/uikit/react/src/images/graphics/Pattern9.jsx
index c4a52fc..bf23ce2 100644
--- a/uikit/react/src/images/graphics/Pattern9.jsx
+++ b/uikit/react/src/images/graphics/Pattern9.jsx
@@ -13,8 +13,8 @@ export default function Pattern9() {
-
-
+
+
diff --git a/uikit/react/src/images/graphics/RoundFab.jsx b/uikit/react/src/images/graphics/RoundFab.jsx
index 475f818..4f87b2e 100644
--- a/uikit/react/src/images/graphics/RoundFab.jsx
+++ b/uikit/react/src/images/graphics/RoundFab.jsx
@@ -1,6 +1,8 @@
'use client';
import PropTypes from 'prop-types';
+import { useId } from 'react';
+
// @mui
import { useTheme } from '@mui/material/styles';
import Box from '@mui/material/Box';
@@ -9,20 +11,22 @@ import Box from '@mui/material/Box';
export default function RoundFab({ size }) {
const theme = useTheme();
+ const uniqueId1 = useId();
+ const uniqueId2 = useId();
return (
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/uikit/react/src/images/graphics/Star.jsx b/uikit/react/src/images/graphics/Star.jsx
index abbb4b8..62f1972 100644
--- a/uikit/react/src/images/graphics/Star.jsx
+++ b/uikit/react/src/images/graphics/Star.jsx
@@ -12,7 +12,7 @@ export default function Star() {
);
diff --git a/uikit/react/src/images/graphics/StarFab.jsx b/uikit/react/src/images/graphics/StarFab.jsx
index fef55a6..e2c9c12 100644
--- a/uikit/react/src/images/graphics/StarFab.jsx
+++ b/uikit/react/src/images/graphics/StarFab.jsx
@@ -24,12 +24,12 @@ export default function StarFab({ size }) {
/>
-
-
+
+
-
-
+
+
diff --git a/uikit/react/src/images/graphics/Wave.jsx b/uikit/react/src/images/graphics/Wave.jsx
index 61d58d0..b897777 100644
--- a/uikit/react/src/images/graphics/Wave.jsx
+++ b/uikit/react/src/images/graphics/Wave.jsx
@@ -11,12 +11,12 @@ export default function Wave({ size }) {
const theme = useTheme();
return (
-
+
diff --git a/uikit/react/src/images/maintenance/BackShortly.jsx b/uikit/react/src/images/maintenance/BackShortly.jsx
index 0968bd1..613a89e 100644
--- a/uikit/react/src/images/maintenance/BackShortly.jsx
+++ b/uikit/react/src/images/maintenance/BackShortly.jsx
@@ -12,16 +12,16 @@ export default function UnderMaintenance() {
-
+
diff --git a/uikit/react/src/images/maintenance/Error404.jsx b/uikit/react/src/images/maintenance/Error404.jsx
index 4d68075..80c2abc 100644
--- a/uikit/react/src/images/maintenance/Error404.jsx
+++ b/uikit/react/src/images/maintenance/Error404.jsx
@@ -12,14 +12,14 @@ export default function Error404() {
-
+
-
+
@@ -162,7 +170,7 @@ export default function Error404() {
@@ -170,7 +178,7 @@ export default function Error404() {
diff --git a/uikit/react/src/images/maintenance/Error500.jsx b/uikit/react/src/images/maintenance/Error500.jsx
index 966e756..4cd3560 100644
--- a/uikit/react/src/images/maintenance/Error500.jsx
+++ b/uikit/react/src/images/maintenance/Error500.jsx
@@ -11,16 +11,16 @@ export default function Error500() {
-
+
@@ -28,25 +28,33 @@ export default function Error500() {
fillRule="evenodd"
clipRule="evenodd"
d="M343.5 179C342.948 179 342.5 179.448 342.5 180C342.5 180.552 342.948 181 343.5 181H352.537C352.197 181.54 352 182.178 352 182.863C352 184.796 353.567 186.363 355.5 186.363C357.433 186.363 359 184.796 359 182.863C359 182.178 358.803 181.54 358.463 181H360.5C361.052 181 361.5 180.552 361.5 180C361.5 179.448 361.052 179 360.5 179H343.5Z"
- fill={theme.palette.primary.main}
+ fill={theme.vars.palette.primary.main}
/>
+
-
@@ -54,7 +62,7 @@ export default function Error500() {
@@ -62,7 +70,7 @@ export default function Error500() {
diff --git a/uikit/react/src/images/maintenance/Error500Server.jsx b/uikit/react/src/images/maintenance/Error500Server.jsx
index f3b6445..e695a7c 100644
--- a/uikit/react/src/images/maintenance/Error500Server.jsx
+++ b/uikit/react/src/images/maintenance/Error500Server.jsx
@@ -12,14 +12,14 @@ export default function Error5001() {
-
+
-
+
-
+
-
-
-
-
+
+
+
+
);
}
diff --git a/uikit/react/src/images/maintenance/Maintenance.jsx b/uikit/react/src/images/maintenance/Maintenance.jsx
index 4bdfff2..b1190ee 100644
--- a/uikit/react/src/images/maintenance/Maintenance.jsx
+++ b/uikit/react/src/images/maintenance/Maintenance.jsx
@@ -15,33 +15,33 @@ export default function UnderMaintenance() {
fillRule="evenodd"
clipRule="evenodd"
d="M494.321 350.073C493.661 349.276 492.5 349.113 491.646 349.701L491.22 349.994C490.751 349.891 490.29 349.747 489.843 349.561C488.347 348.942 487.069 347.893 486.17 346.547C485.439 345.454 484.985 344.204 484.84 342.906C484.785 342.408 484.384 342 483.882 342C483.381 342 482.97 342.407 483.016 342.907C483.167 344.564 483.73 346.164 484.66 347.556C485.759 349.2 487.321 350.482 489.148 351.239C489.203 351.262 489.259 351.284 489.314 351.306L461.908 370.176L463.042 371.824L491.915 351.944C492.376 351.993 492.84 352.01 493.304 351.995L515.698 379.63L517.252 378.37L495.598 351.65C497.276 351.193 498.811 350.306 500.046 349.071C501.444 347.673 502.397 345.891 502.782 343.951C503.168 342.011 502.97 340 502.213 338.173C501.457 336.346 500.175 334.784 498.53 333.685C497.447 332.962 496.239 332.46 494.975 332.202L494.975 285H492.975L492.975 332.906L492.975 332.908L492.975 332.91V333H492.979C493.026 333.458 493.413 333.814 493.881 333.866C495.179 334.01 496.428 334.464 497.522 335.195C498.868 336.094 499.917 337.372 500.536 338.868C501.155 340.363 501.318 342.009 501.002 343.597C500.686 345.184 499.906 346.643 498.762 347.787C497.617 348.932 496.159 349.711 494.571 350.027C494.488 350.044 494.404 350.059 494.321 350.073Z"
- fill={theme.palette.primary.main}
+ fill={theme.vars.palette.primary.main}
/>
-
-
+
+
-
+
-
+
-
-
+
+
@@ -53,7 +53,7 @@ export default function UnderMaintenance() {
height="67.4239"
rx="8"
transform="rotate(8 443.328 361.86)"
- fill={theme.palette.primary.light}
+ fill={theme.vars.palette.primary.light}
/>
-
-
+
+
-
+
@@ -134,11 +134,16 @@ export default function UnderMaintenance() {
height="67.4239"
rx="8"
transform="rotate(8 443.328 361.86)"
- fill={theme.palette.background.default}
+ fill={theme.vars.palette.background.default}
/>
-
+
diff --git a/uikit/react/src/images/testimonial/Twitch.jsx b/uikit/react/src/images/testimonial/Twitch.jsx
index 0fb9edf..078cc09 100644
--- a/uikit/react/src/images/testimonial/Twitch.jsx
+++ b/uikit/react/src/images/testimonial/Twitch.jsx
@@ -14,7 +14,7 @@ export default function Twitch() {
diff --git a/uikit/react/src/styles/scrollbar.css b/uikit/react/src/styles/scrollbar.css
index 82b4578..e8e3c44 100644
--- a/uikit/react/src/styles/scrollbar.css
+++ b/uikit/react/src/styles/scrollbar.css
@@ -19,16 +19,6 @@
background-color: rgba(0, 0, 0, 0.4);
}
- /* target the scrollbar thumb for dark mode */
- [data-theme-mode='dark'] *::-webkit-scrollbar-thumb {
- background-color: rgba(255, 255, 255, 0.25);
- }
-
- /* target the hover state of the thumb in dark mode */
- [data-theme-mode='dark'] *::-webkit-scrollbar-thumb:hover {
- background-color: rgba(255, 255, 255, 0.35);
- }
-
/* remove buttons */
*::-webkit-scrollbar-button {
display: none;
diff --git a/uikit/react/src/utils/Loader.js b/uikit/react/src/utils/Loader.js
index 28a1164..7d5b5d9 100644
--- a/uikit/react/src/utils/Loader.js
+++ b/uikit/react/src/utils/Loader.js
@@ -18,7 +18,7 @@ export default function Loader() {
}
.progress-bar-container {
width: 100%;
- background-color: ${theme.palette.primary.lighter}; /* This is the background for the progress bar */
+ background-color: ${theme.vars.palette.primary.lighter}; /* This is the background for the progress bar */
border-radius: 4px;
overflow: hidden;
}
@@ -26,7 +26,7 @@ export default function Loader() {
.progress-bar {
height: 4px; /* Thickness of the progress bar */
width: 0; /* Set this to 0 initially */
- background-color: ${theme.palette.primary.main};
+ background-color: ${theme.vars.palette.primary.main};
animation: load 1.5s linear infinite;
}
diff --git a/uikit/react/src/utils/colorUtils.js b/uikit/react/src/utils/colorUtils.js
new file mode 100644
index 0000000..6300b9b
--- /dev/null
+++ b/uikit/react/src/utils/colorUtils.js
@@ -0,0 +1,66 @@
+// material-ui
+import { alpha } from '@mui/material/styles';
+
+/**
+ * Converts a hex color string to an RGB channel string ("r g b").
+ *
+ * @param hex - The hex color string (e.g. "#C8FAD6", "#FFF", "#FF00FFAA").
+ * @returns The RGB channel string (e.g. "200 250 214").
+ * @throws {Error} If the input is not a valid hex color.
+ */
+export function hexToRgbChannel(hex) {
+ let cleaned = hex.replace(/^#/, '');
+
+ if (cleaned.length === 3) {
+ cleaned = cleaned
+ .split('')
+ .map((c) => c + c)
+ .join('');
+ }
+ if (cleaned.length === 4) {
+ cleaned = cleaned
+ .split('')
+ .map((c) => c + c)
+ .join('');
+ }
+
+ if (cleaned.length !== 6 && cleaned.length !== 8) {
+ throw new Error(`Invalid hex color: ${hex}`);
+ }
+
+ const r = parseInt(cleaned.substring(0, 2), 16);
+ const g = parseInt(cleaned.substring(2, 4), 16);
+ const b = parseInt(cleaned.substring(4, 6), 16);
+
+ return `${r} ${g} ${b}`;
+}
+
+export function extendPaletteWithChannels(palette) {
+ const result = { ...palette };
+
+ Object.entries(palette).forEach(([k, v]) => {
+ if (typeof v === 'string' && v.startsWith('#')) {
+ result[`${k}Channel`] = hexToRgbChannel(v);
+ } else if (typeof v === 'object' && v !== null) {
+ result[k] = extendPaletteWithChannels(v);
+ }
+ });
+
+ return result;
+}
+
+export function withAlpha(color, opacity) {
+ // Case 1: normal color (hex, rgb, hsl…)
+ if (/^#|rgb|hsl|color/i.test(color)) {
+ return alpha(color, opacity);
+ }
+
+ // Case 2: CSS Var: var(--mui-palette-xxx) or var(--palette-xxx, #hex)
+ if (color.startsWith('var(')) {
+ // inject "Channel" *before the closing parenthesis of the var name only*
+ return color.replace(/(--[a-zA-Z0-9-]+)(.*)\)/, `$1Channel$2)`).replace(/^var\((.+)\)$/, `rgba(var($1) / ${opacity})`);
+ }
+
+ // Fallback
+ return color;
+}
diff --git a/uikit/react/src/utils/getBackgroundDots.jsx b/uikit/react/src/utils/getBackgroundDots.jsx
index e436902..3a49e89 100644
--- a/uikit/react/src/utils/getBackgroundDots.jsx
+++ b/uikit/react/src/utils/getBackgroundDots.jsx
@@ -1,3 +1,7 @@
-export function getBackgroundDots(fill = 'gray', dotSize = 30, spacing = 20) {
- return `url('data:image/svg+xml;utf8,.') 0 0/${spacing}px ${spacing}px;`;
+export function getBackgroundDots(fill = 'gray', dotSize = 2, spacing = 30) {
+ return {
+ backgroundImage: `radial-gradient(circle ${dotSize}px, ${fill} ${dotSize}px, transparent 0)`,
+ backgroundSize: `${spacing}px ${spacing}px`,
+ backgroundRepeat: 'repeat'
+ };
}
diff --git a/uikit/react/src/views/landings/ai/theme/index.jsx b/uikit/react/src/views/landings/ai/theme/index.jsx
index 9e62615..5d9cc16 100644
--- a/uikit/react/src/views/landings/ai/theme/index.jsx
+++ b/uikit/react/src/views/landings/ai/theme/index.jsx
@@ -1,23 +1,29 @@
'use client';
-import PropTypes from 'prop-types';
-
-import { useMemo } from 'react';
// @mui
-import { createTheme, ThemeProvider } from '@mui/material/styles';
-import CssBaseline from '@mui/material/CssBaseline';
+import { createTheme } from '@mui/material/styles';
// @project
-import palette from './palette';
+import { buildPalette } from './palette';
import componentsOverride from './overrides';
import typography from './typography';
+import { CSS_VAR_PREFIX } from '@/config';
+import useConfig from '@/hooks/useConfig';
+
+export const colorSchemeSelector = 'data-ai-color-scheme';
+
+/*************************** AI THEME - MAIN ***************************/
-/*************************** DEFAULT / AI THEME - MAIN ***************************/
+export default function ThemeCustomization(selector) {
+ const {
+ state: { themeDirection }
+ } = useConfig();
-export default function ThemeCustomization({ children }) {
- const themePalette = useMemo(() => palette(), []);
+ const palette = buildPalette();
+ const muiTheme = createTheme();
- let themeDefault = createTheme({
+ // create duplicate theme due to responsive typography and fontFamily
+ const theme = createTheme({
breakpoints: {
values: {
xs: 0,
@@ -27,24 +33,19 @@ export default function ThemeCustomization({ children }) {
xl: 1440
}
},
- direction: 'ltr',
- palette: themePalette
- });
-
- // create duplicate theme due to responsive typography and fontFamily
- let theme = createTheme({
- ...themeDefault,
- typography: typography(themeDefault)
+ direction: themeDirection,
+ colorSchemes: {
+ light: { palette: palette.light },
+ dark: { palette: palette.dark }
+ },
+ cssVariables: {
+ cssVarPrefix: CSS_VAR_PREFIX,
+ colorSchemeSelector: selector || colorSchemeSelector
+ },
+ typography: typography(muiTheme)
});
theme.components = componentsOverride(theme);
- return (
-
-
- {children}
-
- );
+ return theme;
}
-
-ThemeCustomization.propTypes = { children: PropTypes.any };
diff --git a/uikit/react/src/views/landings/ai/theme/overrides/Button.js b/uikit/react/src/views/landings/ai/theme/overrides/Button.js
index b469831..df50cc3 100644
--- a/uikit/react/src/views/landings/ai/theme/overrides/Button.js
+++ b/uikit/react/src/views/landings/ai/theme/overrides/Button.js
@@ -17,7 +17,7 @@ export default function Button(theme) {
letterSpacing: 0.1,
borderRadius: 100,
boxShadow: 'none',
- '&:focus-visible': generateFocusVisibleStyles(theme.palette.primary.main)
+ '&:focus-visible': generateFocusVisibleStyles(theme.vars.palette.primary.main)
},
sizeSmall: {
padding: '10px 24px',
diff --git a/uikit/react/src/views/landings/ai/theme/overrides/IconButton.js b/uikit/react/src/views/landings/ai/theme/overrides/IconButton.js
index 81c6662..975b037 100644
--- a/uikit/react/src/views/landings/ai/theme/overrides/IconButton.js
+++ b/uikit/react/src/views/landings/ai/theme/overrides/IconButton.js
@@ -13,7 +13,7 @@ export default function IconButton(theme) {
root: {
borderRadius: 8,
padding: 8,
- '&:focus-visible': generateFocusVisibleStyles(theme.palette.primary.main)
+ '&:focus-visible': generateFocusVisibleStyles(theme.vars.palette.primary.main)
}
}
}
diff --git a/uikit/react/src/views/landings/ai/theme/overrides/Link.js b/uikit/react/src/views/landings/ai/theme/overrides/Link.js
index 851170a..ee7a8ab 100644
--- a/uikit/react/src/views/landings/ai/theme/overrides/Link.js
+++ b/uikit/react/src/views/landings/ai/theme/overrides/Link.js
@@ -12,7 +12,7 @@ export default function Link(theme) {
styleOverrides: {
root: {
position: 'relative',
- '&:focus-visible': generateFocusVisibleStyles(theme.palette.primary.main)
+ '&:focus-visible': generateFocusVisibleStyles(theme.vars.palette.primary.main)
}
}
}
diff --git a/uikit/react/src/views/landings/ai/theme/overrides/OutlinedInput.js b/uikit/react/src/views/landings/ai/theme/overrides/OutlinedInput.js
index 25ea204..8b90082 100644
--- a/uikit/react/src/views/landings/ai/theme/overrides/OutlinedInput.js
+++ b/uikit/react/src/views/landings/ai/theme/overrides/OutlinedInput.js
@@ -10,13 +10,13 @@ export default function OutlinedInput(theme) {
root: {
fontSize: 16,
fontWeight: 500,
- borderRadius: 16,
- '& .MuiOutlinedInput-notchedOutline': {
- borderColor: theme.palette.grey[600]
- }
+ borderRadius: 16
+ },
+ notchedOutline: {
+ borderColor: theme.vars.palette.grey[600]
},
input: {
- '&::placeholder': { ...theme.typography.caption2, color: theme.palette.grey[700], opacity: 0.8 }
+ '&::placeholder': { ...theme.typography.caption2, color: theme.vars.palette.grey[700], opacity: 0.8 }
}
}
}
diff --git a/uikit/react/src/views/landings/ai/theme/overrides/Switch.js b/uikit/react/src/views/landings/ai/theme/overrides/Switch.js
index d8e48b6..773c56d 100644
--- a/uikit/react/src/views/landings/ai/theme/overrides/Switch.js
+++ b/uikit/react/src/views/landings/ai/theme/overrides/Switch.js
@@ -59,7 +59,7 @@ export default function Switch(theme) {
MuiSwitch: {
styleOverrides: {
root: {
- color: theme.palette.text.primary,
+ color: theme.vars.palette.text.primary,
padding: 0,
display: 'flex',
...switchStyle('medium'),
@@ -67,7 +67,7 @@ export default function Switch(theme) {
},
track: {
opacity: 1,
- backgroundColor: theme.palette.secondary.lighter,
+ backgroundColor: theme.vars.palette.secondary.lighter,
boxSizing: 'border-box'
},
thumb: {
@@ -78,19 +78,19 @@ export default function Switch(theme) {
},
switchBase: {
'&.Mui-checked': {
- color: theme.palette.background.default,
+ color: theme.vars.palette.background.default,
'& ~ .MuiSwitch-track': {
opacity: 1
},
'&.Mui-disabled': {
- color: theme.palette.background.paper,
+ color: theme.vars.palette.background.paper,
'~.MuiSwitch-track': {
opacity: 0.1
}
}
},
'&.Mui-disabled': {
- color: theme.palette.background.paper,
+ color: theme.vars.palette.background.paper,
'~.MuiSwitch-track': {
opacity: 0.3
},
diff --git a/uikit/react/src/views/landings/ai/theme/palette.js b/uikit/react/src/views/landings/ai/theme/palette.js
index 9c7d79b..e2b4d55 100644
--- a/uikit/react/src/views/landings/ai/theme/palette.js
+++ b/uikit/react/src/views/landings/ai/theme/palette.js
@@ -1,6 +1,9 @@
+// @project
+import { extendPaletteWithChannels } from '@/utils/colorUtils';
+
/*************************** DEFAULT / AI THEME - PALETTE ***************************/
-export default function palette() {
+export function buildPalette() {
const textPrimary = '#1A1C1E'; // AI/neutral/10 - on surface
const textSecondary = '#42474E'; // AI/neutral variant/30 - on surface variant
const divider = '#C2C7CE'; // AI/neutral variant/80 - outline variant
@@ -43,7 +46,16 @@ export default function palette() {
}
};
+ const commonColor = { common: { black: '#000', white: '#fff' } };
+
+ const extendedLight = extendPaletteWithChannels(lightPalette);
+ const extendedCommon = extendPaletteWithChannels(commonColor);
+
return {
- ...lightPalette
+ light: {
+ mode: 'light',
+ ...extendedCommon,
+ ...extendedLight
+ }
};
}
diff --git a/uikit/react/src/views/landings/common-data.jsx b/uikit/react/src/views/landings/common-data.jsx
index 27dbbbb..919f4d0 100644
--- a/uikit/react/src/views/landings/common-data.jsx
+++ b/uikit/react/src/views/landings/common-data.jsx
@@ -7,33 +7,30 @@ import Typography from '@mui/material/Typography';
// @project
import branding from '@/branding.json';
-import { Themes } from '@/config';
import { MegaMenuType } from '@/enum';
import { ADMIN_PATH, BUY_NOW_URL, DOCS_URL, PAGE_PATH, PRIVIEW_PATH } from '@/path';
+import { Themes } from '@/config';
const linkProps = { target: '_blank', rel: 'noopener noreferrer' };
/*************************** MEGAMENU 4 - FOOTER ***************************/
-function footerData() {
+function FooterData() {
return (
- New landing demos are coming soon!
+ Explore our range of landing demos tailored to suit your needs
Coming Soon}
+ label="Featured"
size="small"
- sx={{
- bgcolor: 'background.default',
- '& .MuiChip-label': { px: 1.5, py: 0.5 },
- display: { xs: 'none', sm: 'inline-flex' }
- }}
+ slotProps={{ label: { sx: { pl: 1.25, pr: 1.5, py: 0.5, typography: 'caption', my: 0.2 } } }}
+ sx={{ bgcolor: 'background.default', display: { xs: 'none', sm: 'inline-flex' } }}
icon={
@@ -41,8 +38,8 @@ function footerData() {
/>
- SaasAble offers 200+ customizable blocks, empowering you to effortlessly design and build landing pages tailored to your product
- or service needs.
+ {branding.brandName} offers 200+ customizable blocks, empowering you to effortlessly design and build landing pages tailored to
+ your product or service needs.