diff --git a/.env b/.env index 1eab438..9b7f89f 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -VITE_APP_VERSION=v4.0.0 +VITE_APP_VERSION=v4.1.0 GENERATE_SOURCEMAP=false PUBLIC_URL = https://codedthemes.com/demos/admin-templates/datta-able/react/free/ diff --git a/.github/workflows/prod.yml b/.github/workflows/prod.yml index 3fbe49d..f4ec582 100644 --- a/.github/workflows/prod.yml +++ b/.github/workflows/prod.yml @@ -22,15 +22,15 @@ jobs: - name: 🚚 Get latest code uses: actions/checkout@v4 - - name: Use Node.js 22 + - name: Use Node.js 24 uses: actions/setup-node@v4 with: - node-version: '22' + node-version: '24' - name: 🔨 Build Project run: | corepack enable - yarn set version 4.9.1 + yarn set version 4.12.0 yarn yarn build diff --git a/README.md b/README.md index 386ed68..03a3a3f 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ Get started with a sweet set of features, including: - Bootstrap 5 - React Bootstrap -- React +- React 19.2 - npm/yarn package installer - Vite diff --git a/eslint.config.mjs b/eslint.config.mjs index 51aacd5..9dad347 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -53,21 +53,11 @@ export default [ 'jsx-a11y/label-has-associated-control': 'off', 'jsx-a11y/no-autofocus': 'off', - 'prettier/prettier': [ - 'warn', - { - bracketSpacing: true, - printWidth: 140, - singleQuote: true, - trailingComma: 'none', - tabWidth: 2, - useTabs: false - } - ] + 'prettier/prettier': 'warn', } }, { ignores: ['node_modules/**'], files: ['src/**/*.{js,jsx}'] } -]; +]; \ No newline at end of file diff --git a/index.html b/index.html index f96eb08..4ff17a1 100644 --- a/index.html +++ b/index.html @@ -1,34 +1,32 @@ - - - Welcome | Datta Able Free React Hooks + Admin Template - - - - - - - - - Datta Able React Admin Dashboard + + + Welcome | Datta Able Free React Hooks + Admin Template - - - - - - - -
- + + + + + + + + Datta Able React Admin Dashboard + + + + + + + + + +
+ - - - + + + + \ No newline at end of file diff --git a/jsconfig.app.json b/jsconfig.app.json index 316cf37..96e48b3 100644 --- a/jsconfig.app.json +++ b/jsconfig.app.json @@ -5,5 +5,7 @@ "moduleResolution": "Node", "allowSyntheticDefaultImports": true }, - "include": ["vite.config.mjs"] -} + "include": [ + "vite.config.mjs" + ] +} \ No newline at end of file diff --git a/jsconfig.json b/jsconfig.json index 3232afa..92573b5 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -2,7 +2,11 @@ "compilerOptions": { "target": "ESNext", "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], + "lib": [ + "ES2020", + "DOM", + "DOM.Iterable" + ], "allowJs": false, "skipLibCheck": true, "esModuleInterop": false, @@ -11,7 +15,6 @@ "module": "ESNext", "resolveJsonModule": true, "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, @@ -20,7 +23,6 @@ "noEmit": true, "jsx": "react-jsx", "baseUrl": "src", - /* Linting */ "strict": true, "noUnusedLocals": true, @@ -28,7 +30,19 @@ "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true }, - "exclude": ["node_modules", "vite.config.mjs"], // Exclude vite.config.mjs - "include": ["src", "**/*.js", "**/*.jsx", "src/**/*"], - "references": [{ "path": "./jsconfig.app.json" }] -} + "exclude": [ + "node_modules", + "vite.config.mjs" + ], // Exclude vite.config.mjs + "include": [ + "src", + "**/*.js", + "**/*.jsx", + "src/**/*" + ], + "references": [ + { + "path": "./jsconfig.app.json" + } + ] +} \ No newline at end of file diff --git a/package.json b/package.json index f023bda..014b0b6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { "name": "datta-able-free-react-admin-templete", - "version": "4.0.0", + "version": "4.1.0", "private": true, + "type": "module", "scripts": { "start": "vite", "build": "vite build", @@ -11,40 +12,39 @@ "preview": "vite preview" }, "dependencies": { - "@fontsource/open-sans": "5.2.5", - "@react-google-maps/api": "2.20.5", - "apexcharts": "4.5.0", - "axios": "1.7.9", - "bootstrap": "5.3.3", - "chance": "1.1.12", + "@fontsource/open-sans": "5.2.7", + "@react-google-maps/api": "2.20.7", + "apexcharts": "5.3.5", + "bootstrap": "5.3.8", + "chance": "1.1.13", "formik": "2.4.6", - "jsvectormap": "1.6.0", - "react": "18.2.0", - "react-apexcharts": "1.7.0", - "react-bootstrap": "2.10.6", + "jsvectormap": "1.7.0", + "react": "19.2.0", + "react-apexcharts": "1.8.0", + "react-bootstrap": "2.10.10", "react-device-detect": "2.2.3", - "react-dom": "18.2.0", - "react-hook-form": "7.54.2", - "react-router-dom": "7.0.2", - "simplebar-react": "3.3.0", - "swr": "2.3.2", - "vite": "6.0.2", + "react-dom": "19.2.0", + "react-hook-form": "7.65.0", + "react-router-dom": "7.9.5", + "simplebar-react": "3.3.2", + "swr": "2.3.6", + "vite": "7.1.12", "vite-jsconfig-paths": "2.0.1", - "yup": "1.6.1" + "yup": "1.7.1" }, "devDependencies": { - "@eslint/compat": "1.2.3", + "@eslint/compat": "1.4.1", "@eslint/eslintrc": "3.3.1", - "@eslint/js": "9.15.0", - "@vitejs/plugin-react": "4.3.4", - "eslint": "9.15.0", - "eslint-config-prettier": "9.1.0", + "@eslint/js": "9.38.0", + "@vitejs/plugin-react": "5.1.0", + "eslint": "9.38.0", + "eslint-config-prettier": "10.1.8", "eslint-plugin-jsx-a11y": "6.10.2", - "eslint-plugin-prettier": "5.2.1", + "eslint-plugin-prettier": "5.5.4", "eslint-plugin-react": "7.37.5", - "eslint-plugin-react-hooks": "5.0.0", - "prettier": "3.4.1", - "sass": "1.77.6" + "eslint-plugin-react-hooks": "7.0.1", + "prettier": "3.6.2", + "sass": "1.93.2" }, - "packageManager": "yarn@4.9.1" + "packageManager": "yarn@4.12.0" } diff --git a/src/assets/images/user/avatar-10.png b/src/assets/images/user/avatar-10.png deleted file mode 100644 index 7f8925f..0000000 Binary files a/src/assets/images/user/avatar-10.png and /dev/null differ diff --git a/src/assets/images/user/avatar-6.png b/src/assets/images/user/avatar-6.png deleted file mode 100644 index b099c2c..0000000 Binary files a/src/assets/images/user/avatar-6.png and /dev/null differ diff --git a/src/assets/images/user/avatar-7.png b/src/assets/images/user/avatar-7.png deleted file mode 100644 index 5f2c41a..0000000 Binary files a/src/assets/images/user/avatar-7.png and /dev/null differ diff --git a/src/assets/images/user/avatar-8.png b/src/assets/images/user/avatar-8.png deleted file mode 100644 index c6b8c3e..0000000 Binary files a/src/assets/images/user/avatar-8.png and /dev/null differ diff --git a/src/assets/images/user/avatar-9.png b/src/assets/images/user/avatar-9.png deleted file mode 100644 index a895039..0000000 Binary files a/src/assets/images/user/avatar-9.png and /dev/null differ diff --git a/src/assets/scss/settings/_bootstrap-variables.scss b/src/assets/scss/settings/_bootstrap-variables.scss index 53722f0..32a1e6b 100644 --- a/src/assets/scss/settings/_bootstrap-variables.scss +++ b/src/assets/scss/settings/_bootstrap-variables.scss @@ -15,7 +15,7 @@ $grays: ( '600': $gray-600, '700': $gray-700, '800': $gray-800, - '900': $gray-900 + '900': $gray-900, ); // fusv-enable @@ -34,7 +34,7 @@ $colors: ( 'black': $black, 'white': $white, 'gray': $gray-600, - 'gray-dark': $gray-800 + 'gray-dark': $gray-800, ); // scss-docs-end colors-map @@ -55,7 +55,7 @@ $theme-colors: ( 'warning': $warning, 'danger': $danger, 'light': $light, - 'dark': $dark + 'dark': $dark, ); // scss-docs-end theme-colors-map @@ -80,7 +80,7 @@ $blues: ( 'blue-600': $blue-600, 'blue-700': $blue-700, 'blue-800': $blue-800, - 'blue-900': $blue-900 + 'blue-900': $blue-900, ); $indigos: ( @@ -92,7 +92,7 @@ $indigos: ( 'indigo-600': $indigo-600, 'indigo-700': $indigo-700, 'indigo-800': $indigo-800, - 'indigo-900': $indigo-900 + 'indigo-900': $indigo-900, ); $purples: ( @@ -104,7 +104,7 @@ $purples: ( 'purple-600': $purple-600, 'purple-700': $purple-700, 'purple-800': $purple-800, - 'purple-900': $purple-900 + 'purple-900': $purple-900, ); $pinks: ( @@ -116,7 +116,7 @@ $pinks: ( 'pink-600': $pink-600, 'pink-700': $pink-700, 'pink-800': $pink-800, - 'pink-900': $pink-900 + 'pink-900': $pink-900, ); $reds: ( @@ -128,7 +128,7 @@ $reds: ( 'red-600': $red-600, 'red-700': $red-700, 'red-800': $red-800, - 'red-900': $red-900 + 'red-900': $red-900, ); $oranges: ( @@ -140,7 +140,7 @@ $oranges: ( 'orange-600': $orange-600, 'orange-700': $orange-700, 'orange-800': $orange-800, - 'orange-900': $orange-900 + 'orange-900': $orange-900, ); $yellows: ( @@ -152,7 +152,7 @@ $yellows: ( 'yellow-600': $yellow-600, 'yellow-700': $yellow-700, 'yellow-800': $yellow-800, - 'yellow-900': $yellow-900 + 'yellow-900': $yellow-900, ); $greens: ( @@ -164,7 +164,7 @@ $greens: ( 'green-600': $green-600, 'green-700': $green-700, 'green-800': $green-800, - 'green-900': $green-900 + 'green-900': $green-900, ); $teals: ( @@ -176,7 +176,7 @@ $teals: ( 'teal-600': $teal-600, 'teal-700': $teal-700, 'teal-800': $teal-800, - 'teal-900': $teal-900 + 'teal-900': $teal-900, ); $cyans: ( @@ -188,12 +188,18 @@ $cyans: ( 'cyan-600': $cyan-600, 'cyan-700': $cyan-700, 'cyan-800': $cyan-800, - 'cyan-900': $cyan-900 + 'cyan-900': $cyan-900, ); // fusv-enable // Characters which are escaped by the escape-svg function -$escaped-characters: (('<', '%3c'), ('>', '%3e'), ('#', '%23'), ('(', '%28'), (')', '%29')); +$escaped-characters: ( + ('<', '%3c'), + ('>', '%3e'), + ('#', '%23'), + ('(', '%28'), + (')', '%29') +); // Options // @@ -243,7 +249,7 @@ $spacers: ( 2: $spacer * 0.5, 3: $spacer, 4: $spacer * 1.5, - 5: $spacer * 3 + 5: $spacer * 3, ); // scss-docs-end spacer-variables-maps @@ -255,7 +261,7 @@ $spacers: ( $position-values: ( 0: 0, 50: 50%, - 100: 100% + 100: 100%, ); // scss-docs-end position-map @@ -265,6 +271,7 @@ $position-values: ( body { font-feature-settings: 'salt'; } + $body-bg: #f4f7fa; // change $body-color: #888; // change $body-text-align: null; @@ -300,7 +307,7 @@ $grid-breakpoints: ( md: 768px, lg: 992px, xl: 1200px, - xxl: 1400px + xxl: 1400px, ); // scss-docs-end grid-breakpoints @@ -317,7 +324,7 @@ $container-max-widths: ( md: 720px, lg: 960px, xl: 1140px, - xxl: 1320px + xxl: 1320px, ); // scss-docs-end container-max-widths @@ -347,7 +354,7 @@ $border-widths: ( 2: 2px, 3: 3px, 4: 4px, - 5: 5px + 5: 5px, ); $border-style: solid; @@ -390,7 +397,7 @@ $aspect-ratios: ( '1x1': 100%, '4x3': calc(3 / 4 * 100%), '16x9': calc(9 / 16 * 100%), - '21x9': calc(9 / 21 * 100%) + '21x9': calc(9 / 21 * 100%), ); // scss-docs-end aspect-ratios // stylelint-enable function-disallowed-list @@ -436,7 +443,7 @@ $font-sizes: ( 3: $h3-font-size, 4: $h4-font-size, 5: $h5-font-size, - 6: $h6-font-size + 6: $h6-font-size, ); // scss-docs-end font-sizes @@ -455,7 +462,7 @@ $display-font-sizes: ( 3: 4rem, 4: 3.5rem, 5: 3rem, - 6: 2.5rem + 6: 2.5rem, ); $display-font-weight: 300; @@ -549,7 +556,7 @@ $table-variants: ( 'warning': shift-color($warning, $table-bg-scale), 'danger': shift-color($danger, $table-bg-scale), 'light': $light, - 'dark': $dark + 'dark': $dark, ); // scss-docs-end table-variables @@ -601,8 +608,7 @@ $btn-font-size-lg: $input-btn-font-size-lg; $btn-border-width: $input-btn-border-width; $btn-font-weight: 500; -$btn-box-shadow: - inset 0 1px 0 rgba($white, 0.15), +$btn-box-shadow: inset 0 1px 0 rgba($white, 0.15), 0 1px 1px rgba($black, 0.075); $btn-focus-width: $input-btn-focus-width; $btn-focus-box-shadow: $input-btn-focus-box-shadow; @@ -619,8 +625,7 @@ $btn-border-radius: 4px; $btn-border-radius-sm: 2px; $btn-border-radius-lg: 6px; -$btn-transition: - color 0.15s ease-in-out, +$btn-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; @@ -693,12 +698,14 @@ $input-height-inner: add($input-line-height * 1em, calc($input-padding-y * 2)); $input-height-inner-half: add($input-line-height * 0.5em, $input-padding-y); $input-height-inner-quarter: add($input-line-height * 0.25em, calc($input-padding-y / 2)); -$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)); -$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)); -$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)); +$input-height: add($input-line-height * 1em, + add($input-padding-y * 2, $input-height-border, false)); +$input-height-sm: add($input-line-height * 1em, + add($input-padding-y-sm * 2, $input-height-border, false)); +$input-height-lg: add($input-line-height * 1em, + add($input-padding-y-lg * 2, $input-height-border, false)); -$input-transition: - border-color 0.15s ease-in-out, +$input-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; $form-color-width: 3rem; @@ -710,8 +717,7 @@ $form-check-padding-start: $form-check-input-width + 0.5em; $form-check-margin-bottom: 0.125rem; $form-check-label-color: null; $form-check-label-cursor: null; -$form-check-transition: - background-color 0.15s ease-in-out, +$form-check-transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; @@ -777,10 +783,8 @@ $form-select-bg-size: 16px 12px; // In pixels because image dimensions $form-select-indicator-color: $gray-800; $form-select-indicator: url("data:image/svg+xml,"); -$form-select-feedback-icon-padding-end: add( - 1em * 0.75, - (2 * $form-select-padding-y * 0.75) + $form-select-padding-x + $form-select-indicator-padding -); +$form-select-feedback-icon-padding-end: add(1em * 0.75, + (2 * $form-select-padding-y * 0.75) + $form-select-padding-x + $form-select-indicator-padding); $form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding); $form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half; @@ -820,14 +824,12 @@ $form-range-thumb-bg: $component-active-bg; $form-range-thumb-border: 0; $form-range-thumb-border-radius: 1rem; $form-range-thumb-box-shadow: 0 0.1rem 0.25rem rgba($black, 0.1); -$form-range-thumb-focus-box-shadow: - 0 0 0 1px $body-bg, +$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow; $form-range-thumb-focus-box-shadow-width: $input-focus-width; // For focus box shadow issue in Edge $form-range-thumb-active-bg: rgba(#{var(--bs-primary-rgb)}, 0.8); $form-range-thumb-disabled-bg: $gray-500; -$form-range-thumb-transition: - background-color 0.15s ease-in-out, +$form-range-thumb-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; @@ -860,14 +862,12 @@ $form-feedback-icon-invalid: url("data:image/svg+xml,") + ); + } + + &[type='radio'] { + background-image: escape-svg( + url("data:image/svg+xml,") + ); + } + } + } + + &.input-primary, + &.input-light-primary { &:focus { &[type='checkbox'], &[type='radio'] { @@ -107,7 +136,7 @@ $i: 1; } &.form-switch { - .form-check-input { + .form-check-input.input-light-primary { &:checked { background-image: escape-svg( url("data:image/svg+xml,") @@ -194,7 +223,7 @@ $i: 1; } $drp-icon: ( - 'preset-1': '\ea61' + 'preset-1': '\ea61', ); @each $key, $value in $drp-icon { [data-pc-drp-menu-icon='#{$key}'] { @@ -203,7 +232,7 @@ $drp-icon: ( } $drp-link-icon: ( - 'preset-1': '' + 'preset-1': '', ); @each $key, $value in $drp-link-icon { [data-pc-drp-menu-link-icon='#{$key}'] { diff --git a/src/assets/scss/style.scss b/src/assets/scss/style.scss index 4e04bbb..e204345 100644 --- a/src/assets/scss/style.scss +++ b/src/assets/scss/style.scss @@ -24,6 +24,9 @@ File: style.css ========================================================================= =================================================================================== */ +@use 'sass:map'; +@use 'sass:color'; +@use 'sass:string'; // main framework @import 'bootstrap/scss/functions'; @@ -89,6 +92,7 @@ File: style.css @import 'themes/components/progress'; @import 'themes/components/table'; @import 'themes/components/form'; +@import 'themes/components/widget'; // pages -@import 'themes/pages/authentication'; +@import 'themes/pages/authentication'; \ No newline at end of file diff --git a/src/assets/scss/themes/_general.scss b/src/assets/scss/themes/_general.scss index 9a14845..a3d295e 100644 --- a/src/assets/scss/themes/_general.scss +++ b/src/assets/scss/themes/_general.scss @@ -85,6 +85,11 @@ strong { border-radius: 50%; } +.apexcharts-tooltip-series-group.apexcharts-active, +.apexcharts-tooltip-series-group:last-child { + padding-bottom: 0 !important; +} + /* ================================ Blockquote Start ===================== */ @media (min-width: 1600px) { diff --git a/src/assets/scss/themes/_generic.scss b/src/assets/scss/themes/_generic.scss index 2930eb1..3233505 100644 --- a/src/assets/scss/themes/_generic.scss +++ b/src/assets/scss/themes/_generic.scss @@ -2,6 +2,8 @@ 1. Generic-class css start ========================== **/ /*====== Padding , Margin css starts ======*/ +@use 'sass:map'; + $i: 0; @while $i<=50 { .p { @@ -153,7 +155,7 @@ $social-colors: ( 'behance': #0057ff, 'dropbox': #3380ff, 'linkedin': #0077b5, - 'amazon': #000000 + 'amazon': #000000, ); @each $color, $value in $social-colors { .bg-light-#{$color} { @@ -292,7 +294,7 @@ $more-colors: ( 600: $blue-600, 700: $blue-700, 800: $blue-800, - 900: $blue-900 + 900: $blue-900, ), 'purple': ( 100: $purple-100, @@ -303,7 +305,7 @@ $more-colors: ( 600: $purple-600, 700: $purple-700, 800: $purple-800, - 900: $purple-900 + 900: $purple-900, ), 'pink': ( 100: $pink-100, @@ -314,7 +316,7 @@ $more-colors: ( 600: $pink-600, 700: $pink-700, 800: $pink-800, - 900: $pink-900 + 900: $pink-900, ), 'red': ( 100: $red-100, @@ -325,7 +327,7 @@ $more-colors: ( 600: $red-600, 700: $red-700, 800: $red-800, - 900: $red-900 + 900: $red-900, ), 'orange': ( 100: $orange-100, @@ -336,7 +338,7 @@ $more-colors: ( 600: $orange-600, 700: $orange-700, 800: $orange-800, - 900: $orange-900 + 900: $orange-900, ), 'yellow': ( 100: $yellow-100, @@ -347,7 +349,7 @@ $more-colors: ( 600: $yellow-600, 700: $yellow-700, 800: $yellow-800, - 900: $yellow-900 + 900: $yellow-900, ), 'green': ( 100: $green-100, @@ -358,7 +360,7 @@ $more-colors: ( 600: $green-600, 700: $green-700, 800: $green-800, - 900: $green-900 + 900: $green-900, ), 'cyan': ( 100: $cyan-100, @@ -369,7 +371,7 @@ $more-colors: ( 600: $cyan-600, 700: $cyan-700, 800: $cyan-800, - 900: $cyan-900 + 900: $cyan-900, ), 'gray': ( 100: $gray-100, @@ -380,8 +382,8 @@ $more-colors: ( 600: $gray-600, 700: $gray-700, 800: $gray-800, - 900: $gray-900 - ) + 900: $gray-900, + ), ); @each $name, $value in $more-colors { $i: 100; @@ -399,7 +401,7 @@ $more-colors: ( @each $name, $value in $more-colors { $i: 100; @while $i<=900 { - $temp: map-get($value, $i); + $temp: map.get($value, $i); --bs-#{$name}-#{$i}: #{$temp}; $i: $i + 100; } diff --git a/src/assets/scss/themes/components/_table.scss b/src/assets/scss/themes/components/_table.scss index 59f137d..7d7939f 100644 --- a/src/assets/scss/themes/components/_table.scss +++ b/src/assets/scss/themes/components/_table.scss @@ -1,6 +1,7 @@ // ============================ // 17. Table css start // ============================ +@use 'sass:color'; .table { &.table-align-center { @@ -11,9 +12,18 @@ } thead th { padding: 0.9rem 0.75rem; + border-bottom: 1px solid #f1f1f1; + font-size: 13px; + color: #262626; + background: rgba(244, 247, 250, 0.5); + text-transform: uppercase; } td, th { + border-top: 1px solid $border-color; + border-bottom: none; + white-space: nowrap; + padding: 0.7rem 0.75rem; vertical-align: middle; } &.table-borderless { @@ -25,7 +35,7 @@ } .table-hover tbody tr:hover { - background-color: transparentize($primary, 0.97); + background-color: #{color.adjust($primary, $alpha: -0.97)}; } // ============================ diff --git a/src/assets/scss/themes/components/_widget.scss b/src/assets/scss/themes/components/_widget.scss new file mode 100644 index 0000000..bc7370e --- /dev/null +++ b/src/assets/scss/themes/components/_widget.scss @@ -0,0 +1,134 @@ +// ============================ +// 10. Widget css start +// ============================ + +.Recent-Users { + .table { + tr { + &:first-child { + td { + border-top: 0; + } + } + } + + td { + vertical-align: middle; + } + + .label { + border-radius: 15px; + box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2); + } + } +} + +.card-social { + &:hover { + i { + font-size: 40px; + transition: all 0.3s ease-in-out; + } + } + + .progress { + height: 6px; + } + + .card-active > div + div { + border-left: 1px solid var(--bs-border-color); + } +} + +.card { + .card-body { + code { + background-color: #eee; + margin: 5px; + display: inline-block; + border-radius: 3px; + padding: 0 3px; + } + } +} + +/* ================ new css =================== */ + +.table-card .card-body, +.table-body.card-body { + padding-left: 0; + padding-right: 0; + padding-top: 0; + + .table { + > thead > tr > th { + border-top: 0; + } + + tr { + td, + th { + &:first-child { + padding-left: 25px; + + @include media-breakpoint-down(sm) { + padding-left: 20px; + } + } + + &:last-child { + padding-right: 25px; + + @include media-breakpoint-down(sm) { + padding-right: 20px; + } + } + } + } + + &.without-header { + tr { + &:first-child { + td { + border-top: none; + } + } + } + } + } +} + +.table-card { + .row-table { + display: flex; + align-items: center; + table-layout: fixed; + height: 100%; + width: 100%; + margin: 0; + + svg { + margin: 0 20px; + } + + i { + padding: 50px 20px; + } + + > [class*='col-'] { + display: table-cell; + float: none; + table-layout: fixed; + vertical-align: middle; + + .row { + display: flex; + align-items: center; + } + } + } +} + +// ============================ +// 10. Widget css end +// ============================ diff --git a/src/assets/scss/themes/layouts/_pc-common.scss b/src/assets/scss/themes/layouts/_pc-common.scss index 5a83764..2632f6e 100644 --- a/src/assets/scss/themes/layouts/_pc-common.scss +++ b/src/assets/scss/themes/layouts/_pc-common.scss @@ -13,6 +13,7 @@ padding-left: 40px; padding-right: 40px; padding-top: 20px; + @include media-breakpoint-down(xl) { &.container { max-width: 100%; @@ -20,11 +21,11 @@ } } - .page-header + .row { + .page-header+.row { padding-top: 24px; } - .page-header + .pc-content { + .page-header+.pc-content { padding-top: calc(30px + 55px); } } @@ -69,7 +70,7 @@ color: $primary; } - + .breadcrumb-item::before { + +.breadcrumb-item::before { position: relative; top: 2px; } @@ -92,8 +93,8 @@ margin-left: 0px; margin-right: 0px; - .page-header + .row, - .page-header + .pc-content, + .page-header+.row, + .page-header+.pc-content, .pc-content { padding-top: 20px; padding-left: 15px; @@ -115,6 +116,7 @@ padding-top: 0; padding-bottom: 5px; } + .pc-container { .pc-content { padding: 15px; @@ -125,8 +127,8 @@ padding-right: 0; } - .page-header + .row, - .page-header + .pc-content { + .page-header+.row, + .page-header+.pc-content { padding-left: 0; padding-right: 0; } @@ -156,29 +158,7 @@ position: relative; } -.simplebar-scrollbar { - position: absolute; - left: 0; - right: 0; - min-height: 10px; - - &:before { - position: absolute; - content: ''; - background: darken($body-bg, 25%); - border-radius: 7px; - left: 2px; - right: 2px; - opacity: 0; - transition: opacity 0.2s linear; - } - - &.simplebar-visible:before { - opacity: 0.5; - transition: opacity 0s linear; - } -} // ============================ // 6. Common layout css end -// ============================ +// ============================ \ No newline at end of file diff --git a/src/assets/scss/themes/layouts/_pc-sidebar.scss b/src/assets/scss/themes/layouts/_pc-sidebar.scss index 4a94091..1feb987 100644 --- a/src/assets/scss/themes/layouts/_pc-sidebar.scss +++ b/src/assets/scss/themes/layouts/_pc-sidebar.scss @@ -16,6 +16,7 @@ svg { stroke: #fff; } + i { color: #fff; } @@ -105,7 +106,7 @@ vertical-align: text-top; } - > svg { + >svg { width: 18px; height: 18px; display: inline-block; @@ -130,10 +131,10 @@ } } - .pc-navbar > .pc-item:not(.pc-caption) { + .pc-navbar>.pc-item:not(.pc-caption) { position: relative; - > .pc-link { + >.pc-link { &::after { content: ''; position: absolute; @@ -163,7 +164,7 @@ background: var(--pc-sidebar-active-color); } - > .pc-link { + >.pc-link { font-weight: 500; color: var(--pc-sidebar-main-active-color); @@ -175,8 +176,9 @@ .pc-submenu { padding: 15px 0; + .pc-item { - > .pc-link { + >.pc-link { &:after { content: ''; border-radius: 50%; @@ -192,7 +194,7 @@ &.pc-trigger, &.active { - > .pc-link { + >.pc-link { font-weight: 500; color: var(--pc-sidebar-active-color); @@ -206,7 +208,7 @@ &.active, &:focus, &:hover { - > .pc-link { + >.pc-link { &:after { opacity: 1; transform: scale(1.2); @@ -274,7 +276,7 @@ display: inline-block; transition: all 0.2s ease-in-out; - > svg { + >svg { width: 14px; height: 14px; } @@ -320,18 +322,18 @@ .pc-hasmenu { &:not(.pc-trigger) { - > .pc-submenu { + >.pc-submenu { display: none; } } &.pc-trigger { - > .pc-submenu { + >.pc-submenu { display: block; } - > .pc-link { - > .pc-arrow { + >.pc-link { + >.pc-arrow { transform: rotate(90deg); } } @@ -354,12 +356,12 @@ .pc-sidebar { transition: width 0.2s ease; - ~ .pc-header { + ~.pc-header { transition: left 0.2s ease; } - ~ .pc-footer, - ~ .pc-container { + ~.pc-footer, + ~.pc-container { transition: margin-left 0.2s ease; } @@ -367,12 +369,12 @@ width: 0; --pc-sidebar-border: none; - ~ .pc-header { + ~.pc-header { left: 0; } - ~ .pc-footer, - ~ .pc-container { + ~.pc-footer, + ~.pc-container { margin-left: 0px; } } @@ -408,4 +410,4 @@ // ============================ // 3. Sidebar css end -// ============================ +// ============================ \ No newline at end of file diff --git a/src/branding.json b/src/branding.json index d139f9c..e5be606 100644 --- a/src/branding.json +++ b/src/branding.json @@ -3,6 +3,7 @@ "title": "React Admin Dashboard Template", "Docs": "https://codedthemes.gitbook.io/datta", "changeLog": "https://codedthemes.gitbook.io/datta/changelog", + "buyNow": "https://codedthemes.com/item/datta-able-react-admin-template/", "company": { "name": "CodedThemes", "url": "https://codedthemes.com", diff --git a/src/components/MainCard.jsx b/src/components/MainCard.jsx index 766572a..7945ba4 100644 --- a/src/components/MainCard.jsx +++ b/src/components/MainCard.jsx @@ -1,4 +1,4 @@ -import { forwardRef } from 'react'; +import PropTypes from 'prop-types'; // react-bootstrap import Card from 'react-bootstrap/Card'; @@ -6,46 +6,51 @@ import Stack from 'react-bootstrap/Stack'; // ==============================|| MAIN CARD ||============================== // -const MainCard = forwardRef( - ( - { - children, - subheader, - footer, - secondary, - content = true, - codeString, - title, - className, - headerClassName, - bodyClassName, - footerClassName - }, - ref - ) => { - return ( - - {/* Header Section */} - {title && ( - - - - {typeof title === 'string' ?
{title}
: title} - {subheader && {subheader}} -
- {secondary} +export default function MainCard({ + children, + subheader, + footer, + secondary, + content = true, + title, + className, + headerClassName, + bodyClassName, + footerClassName, + ref +}) { + return ( + + {/* Header Section */} + {title && ( + + + + {typeof title === 'string' ?
{title}
: title} + {subheader && {subheader}}
-
- )} - {/* Content */} - {content && {children}} - {!content && children} - {/* Footer Section for Code Highlighting */} - {codeString &&
} - {footer && {footer}} -
- ); - } -); + {secondary} +
+
+ )} + {/* Content */} + {content && {children}} + {!content && children} + {footer && {footer}} +
+ ); +} -export default MainCard; +MainCard.propTypes = { + children: PropTypes.node, + subheader: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + footer: PropTypes.node, + secondary: PropTypes.node, + content: PropTypes.bool, + title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + className: PropTypes.string, + headerClassName: PropTypes.string, + bodyClassName: PropTypes.string, + footerClassName: PropTypes.string, + ref: PropTypes.object +}; diff --git a/src/components/cards/SalesPerformanceCard.jsx b/src/components/cards/dashboard/SalesPerformanceCard.jsx similarity index 100% rename from src/components/cards/SalesPerformanceCard.jsx rename to src/components/cards/dashboard/SalesPerformanceCard.jsx diff --git a/src/components/cards/SocialStatsCard.jsx b/src/components/cards/dashboard/SocialStatsCard.jsx similarity index 100% rename from src/components/cards/SocialStatsCard.jsx rename to src/components/cards/dashboard/SocialStatsCard.jsx diff --git a/src/components/cards/StatIndicatorCard.jsx b/src/components/cards/dashboard/StatIndicatorCard.jsx similarity index 99% rename from src/components/cards/StatIndicatorCard.jsx rename to src/components/cards/dashboard/StatIndicatorCard.jsx index 7586a17..38c126c 100644 --- a/src/components/cards/StatIndicatorCard.jsx +++ b/src/components/cards/dashboard/StatIndicatorCard.jsx @@ -1,4 +1,5 @@ import PropTypes from 'prop-types'; + // react-bootstrap import Stack from 'react-bootstrap/Stack'; diff --git a/src/components/third-party/SimpleBar.jsx b/src/components/third-party/SimpleBar.jsx index 749e7f2..5c9d86e 100644 --- a/src/components/third-party/SimpleBar.jsx +++ b/src/components/third-party/SimpleBar.jsx @@ -6,10 +6,10 @@ import SimpleBar from 'simplebar-react'; // ==============================|| SIMPLE BAR SCROLL ||============================== // -export default function SimpleBarScroll({ children, className, style, ...other }) { +export default function SimpleBarScroll({ children, className, browserStyle, style, ...other }) { return ( <> - + {children} @@ -24,4 +24,10 @@ export default function SimpleBarScroll({ children, className, style, ...other } ); } -SimpleBarScroll.propTypes = { children: PropTypes.node, className: PropTypes.string, style: PropTypes.any, other: PropTypes.any }; +SimpleBarScroll.propTypes = { + children: PropTypes.node, + className: PropTypes.string, + browserStyle: PropTypes.any, + style: PropTypes.any, + other: PropTypes.any +}; diff --git a/src/config.js b/src/config.js index 7c64649..7b2351f 100644 --- a/src/config.js +++ b/src/config.js @@ -2,31 +2,3 @@ export const APP_DEFAULT_PATH = '/dashboard/default'; export const DRAWER_WIDTH = 260; - -export let MenuOrientation; - -(function (MenuOrientation) { - MenuOrientation['VERTICAL'] = 'vertical'; -})(MenuOrientation || (MenuOrientation = {})); - -// ==============================|| THEME CONFIG ||============================== // - -const config = { - fontFamily: `'Public Sans', sans-serif`, - i18n: 'en', - menuOrientation: MenuOrientation.VERTICAL, - container: false, - presetColor: 'default', - caption: true, - sidebarTheme: false, - customColor: 'preset-1', - headerColor: '', - navbarColor: '', - logoColor: '', - navbarCaptionColor: '', - navbarImg: '', - menuIcon: 'preset-1', - menuLinkIcon: 'preset-1' -}; - -export default config; diff --git a/src/global.scss b/src/global.scss index 5e11c05..4d8eb57 100644 --- a/src/global.scss +++ b/src/global.scss @@ -1,10 +1,14 @@ +@use 'sass:color'; + .bg-light[colspan] { @include media-breakpoint-up(sm) { padding-left: 40px; } + @include media-breakpoint-up(md) { padding-left: 48px; } + @include media-breakpoint-up(lg) { padding-left: 96px; } @@ -20,3 +24,29 @@ top: 16px; height: 0; } + +.apexcharts-tooltip-text-goals-value, +.apexcharts-tooltip-text-y-value, +.apexcharts-tooltip-text-z-value { + margin-left: 0 !important; +} + +.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker { + margin-bottom: 3px; +} + +.apexcharts-menu-item:hover { + background: #eee; +} + +.apexcharts-canvas .apexcharts-svg { + background: transparent !important; +} + +[data-pc-theme='dark'] { + + .apexcharts-menu-item:hover { + color: var(--bs-black); + } + +} \ No newline at end of file diff --git a/src/index.scss b/src/index.scss index 6ba14ac..038b3c1 100644 --- a/src/index.scss +++ b/src/index.scss @@ -2,8 +2,9 @@ @import './assets/fonts/tabler-icons.min.css'; @import 'simplebar-react/dist/simplebar.min.css'; +@import 'jsvectormap/dist/jsvectormap.css'; @import './assets/scss/themes/plugins/scrollbar'; @import 'assets/scss/style.scss'; @import 'assets/scss/style-preset.scss'; -@import './global.scss'; +@import './global.scss'; \ No newline at end of file diff --git a/src/layout/Dashboard/Drawer/DrawerContent/NavCollapse.jsx b/src/layout/Dashboard/Drawer/DrawerContent/NavCollapse.jsx new file mode 100644 index 0000000..b0aad78 --- /dev/null +++ b/src/layout/Dashboard/Drawer/DrawerContent/NavCollapse.jsx @@ -0,0 +1,169 @@ +import PropTypes from 'prop-types'; +import { useCallback, useEffect, useMemo, useState } from 'react'; +import { Link, matchPath, useLocation, useNavigate } from 'react-router-dom'; + +// react-bootstrap +import Badge from 'react-bootstrap/Badge'; +import Collapse from 'react-bootstrap/Collapse'; +import ListGroup from 'react-bootstrap/ListGroup'; + +// project-imports +import NavItem from './NavItem'; +import { useGetMenuMaster } from 'api/menu'; + +// ==============================|| NAVIGATION - COLLAPSE ||============================== // + +export default function NavCollapse({ menu, level, parentId, setSelectedItems, selectedItems, setSelectedLevel, selectedLevel }) { + const { menuMaster } = useGetMenuMaster(); + const navigation = useNavigate(); + const drawerOpen = menuMaster?.isDashboardDrawerOpened; + + const [open, setOpen] = useState(false); + const [selected, setSelected] = useState(null); + const { pathname } = useLocation(); + + const isMenuActive = useCallback((menu, currentPath) => { + if (menu.type === 'item') { + return menu.url === currentPath; + } + if (menu.type === 'collapse' && Array.isArray(menu.children)) { + return menu.children.some((child) => isMenuActive(child, currentPath)); + } + return false; + }, []); + + const handleClick = (isRedirect) => { + setSelectedLevel(level); + const willOpen = !open; + setOpen(willOpen); + setSelected(willOpen ? menu.id : null); + setSelectedItems(willOpen ? menu : undefined); + if (menu.url && isRedirect) navigation(menu.url); + }; + + useEffect(() => { + if (selected === selectedItems?.id) { + if (level === 1) { + setOpen(true); + } + } else { + if (level === selectedLevel) { + setOpen(false); + + if (drawerOpen) { + setSelected(null); + } + } + } + }, [selectedItems, level, selected, drawerOpen, selectedLevel]); + + useEffect(() => { + if (pathname === menu.url) { + setSelected(menu.id); + } + }, [pathname, menu.id, menu.url]); + + const checkOpenForParent = useCallback( + (child, id) => { + child.forEach((item) => { + if (item.url === pathname) { + setOpen(true); + setSelected(id); + } + }); + }, + [pathname] + ); + + // menu collapse for sub-levels + useEffect(() => { + setOpen(false); + if (!menu.children) return; + + for (const item of menu.children) { + if (item.children?.length) { + checkOpenForParent(item.children, menu.id); + } + + if (item.link && matchPath({ path: item?.link, end: false }, pathname)) { + setSelected(menu.id); + setOpen(true); + break; + } + + if (item.url === pathname) { + setSelected(menu.id); + setOpen(true); + break; + } + } + }, [pathname, menu.id, menu.children, checkOpenForParent]); + + useEffect(() => { + if (menu.url === pathname) { + setSelected(menu.id); + setOpen(true); + } + }, [pathname, menu.url, menu.id]); + const navCollapse = useMemo( + () => + menu.children?.map((item) => { + switch (item.type) { + case 'collapse': + return ( + + ); + case 'item': + return ; + default: + return ( +
+ Fix - Collapse or Item +
+ ); + } + }) ?? [], + [menu.children, setSelectedItems, setSelectedLevel, selectedLevel, selectedItems, level, parentId] + ); + + return ( + + handleClick(true)}> + {menu.icon && ( + + + + )} + {menu.title} + + + + {menu.badge && {menu.badge}} + + +
+
    {navCollapse}
+
+
+
+ ); +} + +NavCollapse.propTypes = { + menu: PropTypes.any, + level: PropTypes.number, + parentId: PropTypes.string, + setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]), + selectedItems: PropTypes.any, + setSelectedLevel: PropTypes.func, + selectedLevel: PropTypes.number +}; diff --git a/src/layout/Dashboard/Drawer/DrawerContent/NavGroup.jsx b/src/layout/Dashboard/Drawer/DrawerContent/NavGroup.jsx new file mode 100644 index 0000000..6992473 --- /dev/null +++ b/src/layout/Dashboard/Drawer/DrawerContent/NavGroup.jsx @@ -0,0 +1,93 @@ +import { Fragment, useCallback, useEffect, useMemo, useState } from 'react'; +import { matchPath, useLocation } from 'react-router-dom'; + +// project-imports +import NavItem from './NavItem'; +import NavCollapse from './NavCollapse'; + +// ==============================|| NAVIGATION - GROUP ||============================== // + +export default function NavGroup(props) { + const { item, lastItem, remItems, lastItemId, setSelectedID, setSelectedItems, selectedItems, setSelectedLevel, selectedLevel } = props; + + const { pathname } = useLocation(); + const [currentItem, setCurrentItem] = useState(item); + + // Combine items if this is the last grouped item + useEffect(() => { + if (lastItem && item.id === lastItemId) { + const children = remItems.flatMap((ele) => ele.children ?? []); + setCurrentItem({ ...item, children }); + } else { + setCurrentItem(item); + } + }, [item, lastItem, lastItemId, remItems]); + + // Helper: Recursively check if route matches + const findMatchingChild = useCallback( + (children, parentId) => { + children.forEach((child) => { + if (child.children?.length) findMatchingChild(child.children, parentId); + const path = child.link || child.url; + if (path && matchPath({ path, end: true }, pathname)) { + setSelectedID(parentId); + } + }); + }, + [pathname, setSelectedID] + ); + + // On-load selection + useEffect(() => { + const children = currentItem.children ?? []; + children.forEach((child) => { + if (child.children?.length) findMatchingChild(child.children, currentItem.id); + const path = child.link || child.url; + if (path && matchPath({ path, end: true }, pathname)) { + setSelectedID(currentItem.id); + } + }); + }, [pathname, currentItem, findMatchingChild, setSelectedID]); + + // Memoized children render + const navCollapse = useMemo(() => { + if (!currentItem.children) return null; + + return currentItem.children.map((menuItem, index) => { + const key = menuItem.id || `${menuItem.type}-${index}`; + + switch (menuItem.type) { + case 'collapse': + return ( + + ); + case 'item': + return ; + default: + return ( +
+ Fix - Group Collapse or Items +
+ ); + } + }); + }, [currentItem, selectedItems, selectedLevel, setSelectedItems, setSelectedLevel]); + + return ( + +
  • + +
  • + {navCollapse} +
    + ); +} diff --git a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavItem.jsx b/src/layout/Dashboard/Drawer/DrawerContent/NavItem.jsx similarity index 52% rename from src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavItem.jsx rename to src/layout/Dashboard/Drawer/DrawerContent/NavItem.jsx index cb94ff6..f97c613 100644 --- a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavItem.jsx +++ b/src/layout/Dashboard/Drawer/DrawerContent/NavItem.jsx @@ -8,28 +8,28 @@ import { handlerDrawerOpen } from 'api/menu'; export default function NavItem({ item }) { const { pathname } = useLocation(); - const itemPath = item?.link || item?.url; - let itemTarget = '_self'; - if (item.target) { - itemTarget = '_blank'; - } + const itemPath = item?.link || item?.url; + const itemTarget = item?.target ? '_blank' : '_self'; const isSelected = itemPath ? !!matchPath({ path: itemPath, end: true }, pathname) : false; + const isMobile = window.innerWidth <= 1024; + + const handleClick = () => { + // close drawer on mobile + if (isMobile) handlerDrawerOpen(false); + }; + + const renderIcon = () => + item?.icon && ( + + + + ); + return ( -
  • - { - handlerDrawerOpen(false); - }} - > - {item?.icon && ( - - - - )} +
  • + + {renderIcon()} {item.title}
  • diff --git a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavCollapse.jsx b/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavCollapse.jsx deleted file mode 100644 index 0586c81..0000000 --- a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavCollapse.jsx +++ /dev/null @@ -1,166 +0,0 @@ -import PropTypes from 'prop-types'; -import { useEffect, useState, useMemo, useCallback } from 'react'; -import { matchPath, useLocation, useNavigate } from 'react-router-dom'; - -// react-bootstrap -import Badge from 'react-bootstrap/Badge'; -import ListGroup from 'react-bootstrap/ListGroup'; - -// project-imports -import NavItem from './NavItem'; -import { useGetMenuMaster } from 'api/menu'; - -// ==============================|| NAVIGATION - COLLAPSE ||============================== // - -export default function NavCollapse({ menu, level, parentId, setSelectedItems, selectedItems, setSelectedLevel, selectedLevel }) { - const { menuMaster } = useGetMenuMaster(); - const navigation = useNavigate(); - const drawerOpen = menuMaster?.isDashboardDrawerOpened; - - const [open, setOpen] = useState(false); - const [selected, setSelected] = useState(null); - const location = useLocation(); - - const isMenuActive = (menu, currentPath) => { - if (menu.type === 'item') { - return menu.url === currentPath; - } - if (menu.type === 'collapse' && Array.isArray(menu.children)) { - return menu.children.some((child) => isMenuActive(child, currentPath)); - } - return false; - }; - - const handleClick = (isRedirect) => { - const isMobile = window.innerWidth <= 1024; - setSelectedLevel(level); - - if (isMobile || !drawerOpen) { - setOpen(!open); - setSelected(!selected ? menu.id : null); - setSelectedItems(!selected ? menu : selectedItems); - if (menu.url && isRedirect) navigation(`${menu.url}`); - } - }; - - useMemo(() => { - if (selected === selectedItems?.id) { - if (level === 1) { - setOpen(true); - } - } else { - if (level === selectedLevel) { - setOpen(false); - - if (drawerOpen) { - setSelected(null); - } - } - } - }, [selectedItems, level, selected, drawerOpen, selectedLevel]); - - const { pathname } = useLocation(); - - useEffect(() => { - if (pathname === menu.url) { - setSelected(menu.id); - } - }, [pathname, menu.id, menu.url]); - - const checkOpenForParent = useCallback( - (child, id) => { - child.forEach((item) => { - if (item.url === pathname) { - setOpen(true); - setSelected(id); - } - }); - }, - [pathname] - ); - - // menu collapse for sub-levels - useEffect(() => { - setOpen(false); - if (menu.children) { - menu.children.forEach((item) => { - if (item.children?.length) { - checkOpenForParent(item.children, menu.id); - } - - if (item.link && !!matchPath({ path: item?.link, end: false }, pathname)) { - setSelected(menu.id); - setOpen(true); - } - - if (item.url === pathname) { - setSelected(menu.id); - setOpen(true); - } - }); - } - }, [pathname, menu.id, menu.children, checkOpenForParent]); - - useEffect(() => { - if (menu.url === pathname) { - setSelected(menu.id); - setOpen(true); - } - }, [pathname, menu]); - - const navCollapse = menu.children?.map((item) => { - switch (item.type) { - case 'collapse': - return ( - - ); - case 'item': - return ; - default: - return ( -
    - Fix - Collapse or Item -
    - ); - } - }); - - return ( - <> - - handleClick(true)}> - {menu.icon && ( - - - - )} - {menu.title} - - - - {menu.badge && {menu.badge}} - - {open === true &&
      {navCollapse}
    } -
    - - ); -} - -NavCollapse.propTypes = { - menu: PropTypes.any, - level: PropTypes.number, - parentId: PropTypes.string, - setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]), - selectedItems: PropTypes.any, - setSelectedLevel: PropTypes.func, - selectedLevel: PropTypes.number -}; diff --git a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavGroup.jsx b/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavGroup.jsx deleted file mode 100644 index c7dd044..0000000 --- a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/NavGroup.jsx +++ /dev/null @@ -1,129 +0,0 @@ -import PropTypes from 'prop-types'; -import { Fragment, useCallback, useEffect, useState } from 'react'; -import { matchPath, useLocation } from 'react-router-dom'; - -// project-imports -import NavItem from './NavItem'; -import NavCollapse from './NavCollapse'; - -// ==============================|| NAVIGATION - GROUP ||============================== // - -export default function NavGroup({ - item, - lastItem, - remItems, - lastItemId, - setSelectedID, - setSelectedItems, - selectedItems, - setSelectedLevel, - selectedLevel -}) { - const [anchorEl, setAnchorEl] = useState(null); - const [currentItem, setCurrentItem] = useState(item); - const { pathname } = useLocation(); - - const openMini = Boolean(anchorEl); - - useEffect(() => { - if (lastItem) { - if (item.id === lastItemId) { - const localItem = { ...item }; - const elements = remItems.map((ele) => ele?.children); - localItem.children = elements.flat(1); - setCurrentItem(localItem); - } else { - setCurrentItem(item); - } - } - }, [item, lastItem, lastItemId, remItems, setCurrentItem]); - - const checkOpenForParent = useCallback( - (child, id) => { - child.forEach((ele) => { - if (ele.children?.length) { - checkOpenForParent(ele.children, currentItem.id); - } - - if (ele.url && !!matchPath({ path: ele?.link ? ele.link : ele.url, end: true }, pathname)) { - setSelectedID(id); - } - }); - }, - [currentItem.id, pathname, setSelectedID] - ); - - const checkSelectedOnload = useCallback( - (data) => { - const children = data.children ?? []; - children.forEach((itemCheck) => { - if (!itemCheck) return; - - if (itemCheck.children?.length) { - checkOpenForParent(itemCheck.children, currentItem.id); - } - - if (itemCheck.url && matchPath({ path: itemCheck.link ? itemCheck.link : itemCheck.url, end: true }, pathname)) { - setSelectedID(currentItem.id); - } - }); - }, - [pathname, currentItem, checkOpenForParent, setSelectedID] - ); - - useEffect(() => { - checkSelectedOnload(currentItem); - if (openMini) setAnchorEl(null); - }, [pathname, currentItem, checkSelectedOnload, openMini, setAnchorEl]); - - const navCollapse = item.children?.map((menuItem, index) => { - const key = menuItem.id || `${menuItem.type}-${index}`; - switch (menuItem.type) { - case 'collapse': - return ( - - ); - case 'item': - return ; - default: - return ( -
    - Fix - Group Collapse or Items -
    - ); - } - }); - - return ( - <> - -
  • - -
  • - {navCollapse} -
    - - ); -} - -NavGroup.propTypes = { - item: PropTypes.any, - lastItem: PropTypes.number, - remItems: PropTypes.array, - lastItemId: PropTypes.string, - setSelectedID: PropTypes.oneOfType([PropTypes.func, PropTypes.any]), - setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]), - selectedItems: PropTypes.any, - setSelectedLevel: PropTypes.func, - selectedLevel: PropTypes.number, - setSelectTab: PropTypes.func -}; diff --git a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.jsx b/src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.jsx deleted file mode 100644 index 9447a45..0000000 --- a/src/layout/Dashboard/Drawer/DrawerContent/Navigation/index.jsx +++ /dev/null @@ -1,83 +0,0 @@ -import PropTypes from 'prop-types'; -import { useState } from 'react'; - -// react-bootstrap -import ListGroup from 'react-bootstrap/ListGroup'; - -// project-imports -import NavItem from './NavItem'; -import NavGroup from './NavGroup'; -import menuItems from 'menu-items'; - -// ==============================|| NAVIGATION ||============================== // - -export default function Navigation({ selectedItems, setSelectedItems, setSelectTab }) { - const [selectedID, setSelectedID] = useState(''); - const [selectedLevel, setSelectedLevel] = useState(0); - - const lastItem = null; - let lastItemIndex = menuItems.items.length - 1; - let remItems = []; - let lastItemId; - - if (lastItem && lastItem < menuItems.items.length) { - lastItemId = menuItems.items[lastItem - 1].id; - lastItemIndex = lastItem - 1; - remItems = menuItems.items.slice(lastItem - 1, menuItems.items.length).map((item) => ({ - id: item.id, // Ensure id is included - type: item.type, // Add the missing type field - title: item.title, - elements: item.children, - icon: item.icon, - ...(item.url && { - url: item.url - }) - })); - } - - const navGroups = menuItems.items.slice(0, lastItemIndex + 1).map((item, index) => { - switch (item.type) { - case 'group': - if (item.url && item.id !== lastItemId) { - return ( - <> - - - - - ); - } - - return ( - {})} - /> - ); - default: - return ( -
    - Fix - Navigation Group -
    - ); - } - }); - - return
      {navGroups}
    ; -} - -Navigation.propTypes = { - selectedItems: PropTypes.any, - setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]), - setSelectTab: PropTypes.oneOfType([PropTypes.func, PropTypes.any]) -}; diff --git a/src/layout/Dashboard/Drawer/DrawerContent/index.jsx b/src/layout/Dashboard/Drawer/DrawerContent/index.jsx index a07c594..6be26e3 100644 --- a/src/layout/Dashboard/Drawer/DrawerContent/index.jsx +++ b/src/layout/Dashboard/Drawer/DrawerContent/index.jsx @@ -1,153 +1,81 @@ import PropTypes from 'prop-types'; -import { useCallback, useEffect, useState } from 'react'; -import { Link, useLocation } from 'react-router-dom'; +import { useState } from 'react'; // react-bootstrap import ListGroup from 'react-bootstrap/ListGroup'; -// project-imports -import Navigation from './Navigation'; -import { useGetMenuMaster } from 'api/menu'; -import SimpleBarScroll from 'components/third-party/SimpleBar'; +// project imports +import NavItem from './NavItem'; +import NavGroup from './NavGroup'; import menuItems from 'menu-items'; -// ==============================|| DRAWER CONTENT - NAVIGATION ||============================== // - -export default function DrawerContent({ selectedItems, setSelectedItems }) { - const [selectTab, setSelectTab] = useState(menuItems.items[0]); - const { menuMaster } = useGetMenuMaster(); - const { pathname } = useLocation(); - const drawerOpen = menuMaster?.isDashboardDrawerOpened; - - const [open, setOpen] = useState({}); - - const handleClick = (item) => { - if (!item.id) return; - - const isMobile = window.innerWidth <= 1024; - - setOpen((prev) => ({ - ...prev, - [item.id]: !prev[item.id] +// ==============================|| DRAWER CONTENT ||============================== // + +export default function Navigation({ selectedItems, setSelectedItems, setSelectTab }) { + const [selectedID, setSelectedID] = useState(''); + const [selectedLevel, setSelectedLevel] = useState(0); + + const lastItem = null; + let lastItemIndex = menuItems.items.length - 1; + let remItems = []; + let lastItemId; + + if (lastItem && lastItem < menuItems.items.length) { + lastItemId = menuItems.items[lastItem - 1].id; + lastItemIndex = lastItem - 1; + remItems = menuItems.items.slice(lastItem - 1, menuItems.items.length).map((item) => ({ + id: item.id, + type: item.type, + title: item.title, + elements: item.children, + icon: item.icon, + ...(item.url && { + url: item.url + }) })); - - if (isMobile || !drawerOpen) { - setSelectedItems(item); + } + + const navGroups = menuItems.items.slice(0, lastItemIndex + 1).map((item) => { + switch (item.type) { + case 'group': + if (item.url && item.id !== lastItemId) { + return ( + + + + ); + } + + return ( + {})} + /> + ); } - }; - - const isActive = useCallback( - (item) => { - if (!item.url) return false; - return pathname.toLowerCase().includes(item.url.toLowerCase()); - }, - [pathname] - ); - - const autoOpenParents = useCallback( - (items) => { - const openMap = {}; - - const findAndMark = (entries = []) => { - entries.forEach((item) => { - if (item.children) { - const match = item.children.find((child) => isActive(child) || child.children?.some(isActive)); - if (match) openMap[item.id] = true; - - findAndMark(item.children); - } - }); - }; - - findAndMark(items); - setOpen(openMap); - }, - [isActive, setOpen] - ); - - useEffect(() => { - autoOpenParents(selectTab?.children); - }, [autoOpenParents, selectTab]); - return ( - <> - - - -
    -
    - -
      - {selectTab?.children?.map((item) => ( - - handleClick(item)}> - {item.icon && ( - - - - )} - {item.title} - {item.type === 'collapse' && ( - - - - )} - - {open[item.id] && item.children && ( -
        - {item.children.map((child) => ( -
      • - { - handleClick(child); - }} - > - {child.icon && ( - - - - )} - {child.title} - {child.type === 'collapse' && ( - - - - )} - + return ( +
        + Fix - Navigation Group +
        + ); + }); - {open[child.id] && child.children && ( -
          - {child.children.map((value) => ( -
        • - - {value.icon && ( - - - - )} - {value.title} - -
        • - ))} -
        - )} -
      • - ))} -
      - )} -
      - ))} -
    -
    -
    -
    - - ); + return
      {navGroups}
    ; } -DrawerContent.propTypes = { selectedItems: PropTypes.any, setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]) }; +Navigation.propTypes = { + selectedItems: PropTypes.any, + setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]), + setSelectTab: PropTypes.oneOfType([PropTypes.func, PropTypes.any]) +}; diff --git a/src/layout/Dashboard/Drawer/common/DrawerHeader.jsx b/src/layout/Dashboard/Drawer/common/DrawerHeader.jsx new file mode 100644 index 0000000..c5775c8 --- /dev/null +++ b/src/layout/Dashboard/Drawer/common/DrawerHeader.jsx @@ -0,0 +1,20 @@ +import { Link } from 'react-router-dom'; + +// react-bootstrap +import Image from 'react-bootstrap/Image'; + +// project-import +import { APP_DEFAULT_PATH } from 'config'; + +// assets +import logo from 'assets/images/logo-white.svg'; + +export const DrawerHeader = () => { + return ( +
    + + logo + +
    + ); +}; diff --git a/src/layout/Dashboard/Drawer/common/DrawerOverlay.jsx b/src/layout/Dashboard/Drawer/common/DrawerOverlay.jsx new file mode 100644 index 0000000..f1abd95 --- /dev/null +++ b/src/layout/Dashboard/Drawer/common/DrawerOverlay.jsx @@ -0,0 +1,7 @@ +export const DrawerOverlay = ({ drawerOpen, isMobile, overlayRef }) => { + if (!drawerOpen || !isMobile) { + return null; + } + + return
    ; +}; diff --git a/src/layout/Dashboard/Drawer/common/index.js b/src/layout/Dashboard/Drawer/common/index.js new file mode 100644 index 0000000..4f6a734 --- /dev/null +++ b/src/layout/Dashboard/Drawer/common/index.js @@ -0,0 +1,3 @@ +export { useDrawerLogic } from './useDrawerLogic'; +export { DrawerHeader } from './DrawerHeader'; +export { DrawerOverlay } from './DrawerOverlay'; diff --git a/src/layout/Dashboard/Drawer/common/useDrawerLogic.js b/src/layout/Dashboard/Drawer/common/useDrawerLogic.js new file mode 100644 index 0000000..15b9f50 --- /dev/null +++ b/src/layout/Dashboard/Drawer/common/useDrawerLogic.js @@ -0,0 +1,48 @@ +import { useCallback, useEffect, useRef, useState } from 'react'; + +// project-imports +import { handlerDrawerOpen, useGetMenuMaster } from 'api/menu'; + +// ==============================|| COMMON DRAWER LOGIC HOOK ||============================== // + +export const useDrawerLogic = () => { + const { menuMaster } = useGetMenuMaster(); + const drawerOpen = menuMaster?.isDashboardDrawerOpened ?? false; + + const [selectedItems, setSelectedItems] = useState(); + const [isMobile, setIsMobile] = useState(() => typeof window !== 'undefined' && window.innerWidth <= 1024); + + const overlayRef = useRef(null); + + // Handle Resize + useEffect(() => { + const handleResize = () => { + setIsMobile(window.innerWidth <= 1024); + }; + + window.addEventListener('resize', handleResize); + return () => window.removeEventListener('resize', handleResize); + }, []); + + // Close Drawer on Outside Click (only for mobile) + const handleClickOutside = useCallback((event) => { + if (overlayRef.current?.contains(event.target)) { + handlerDrawerOpen(false); + } + }, []); + + useEffect(() => { + if (isMobile) { + document.addEventListener('mousedown', handleClickOutside); + return () => document.removeEventListener('mousedown', handleClickOutside); + } + }, [isMobile, handleClickOutside]); + + return { + drawerOpen, + selectedItems, + setSelectedItems, + isMobile, + overlayRef + }; +}; diff --git a/src/layout/Dashboard/Drawer/index.jsx b/src/layout/Dashboard/Drawer/index.jsx index f495206..021bd0a 100644 --- a/src/layout/Dashboard/Drawer/index.jsx +++ b/src/layout/Dashboard/Drawer/index.jsx @@ -1,58 +1,8 @@ -import { useEffect, useRef, useState } from 'react'; - -// react-bootstrap -import Image from 'react-bootstrap/Image'; - -// third-party - // project-imports -import DrawerContent from './DrawerContent'; -import { handlerDrawerOpen, useGetMenuMaster } from 'api/menu'; - -// assets -import logo from 'assets/images/logo-white.svg'; +import { VerticalDrawer } from '../Drawer/vertical'; // ==============================|| MAIN LAYOUT - DRAWER ||============================== // export default function MainDrawer() { - const { menuMaster } = useGetMenuMaster(); - const drawerOpen = menuMaster?.isDashboardDrawerOpened; - const [selectedItems, setSelectedItems] = useState(); - const [isMobile, setIsMobile] = useState(window.innerWidth <= 1024); - const overlayRef = useRef(null); - - useEffect(() => { - const handleResize = () => setIsMobile(window.innerWidth <= 1024); - window.addEventListener('resize', handleResize); - return () => window.removeEventListener('resize', handleResize); - }, []); - - useEffect(() => { - const handleClickOutside = (event) => { - if (overlayRef.current?.contains(event.target)) { - handlerDrawerOpen(false); - } - }; - if (isMobile) { - document.addEventListener('mousedown', handleClickOutside); - } - return () => document.removeEventListener('mousedown', handleClickOutside); - }, [isMobile]); - - return ( - - ); + return ; } diff --git a/src/layout/Dashboard/Drawer/vertical/VerticalDrawer.jsx b/src/layout/Dashboard/Drawer/vertical/VerticalDrawer.jsx new file mode 100644 index 0000000..2d66db8 --- /dev/null +++ b/src/layout/Dashboard/Drawer/vertical/VerticalDrawer.jsx @@ -0,0 +1,21 @@ +// project-imports +import { DrawerHeader, DrawerOverlay, useDrawerLogic } from '../common'; +import VerticalDrawerContent from './VerticalDrawerContent'; + +// ==============================|| VERTICAL DRAWER ||============================== // + +export const VerticalDrawer = () => { + const { drawerOpen, selectedItems, setSelectedItems, isMobile, overlayRef } = useDrawerLogic(); + + return ( + + ); +}; diff --git a/src/layout/Dashboard/Drawer/vertical/VerticalDrawerContent.jsx b/src/layout/Dashboard/Drawer/vertical/VerticalDrawerContent.jsx new file mode 100644 index 0000000..582ecd4 --- /dev/null +++ b/src/layout/Dashboard/Drawer/vertical/VerticalDrawerContent.jsx @@ -0,0 +1,15 @@ +import PropTypes from 'prop-types'; + +// project-imports +import SimpleBarScroll from 'components/third-party/SimpleBar'; +import Navigation from '../DrawerContent'; + +export default function VerticalDrawerContent({ selectedItems, setSelectedItems }) { + return ( + + + + ); +} + +VerticalDrawerContent.propTypes = { selectedItems: PropTypes.any, setSelectedItems: PropTypes.oneOfType([PropTypes.func, PropTypes.any]) }; diff --git a/src/layout/Dashboard/Drawer/vertical/index.js b/src/layout/Dashboard/Drawer/vertical/index.js new file mode 100644 index 0000000..88c68a8 --- /dev/null +++ b/src/layout/Dashboard/Drawer/vertical/index.js @@ -0,0 +1,2 @@ +export { VerticalDrawer } from './VerticalDrawer'; +export { default as VerticalDrawerContent } from './VerticalDrawerContent'; diff --git a/src/layout/Dashboard/Footer.jsx b/src/layout/Dashboard/Footer.jsx index 9f7b8fd..24bd407 100644 --- a/src/layout/Dashboard/Footer.jsx +++ b/src/layout/Dashboard/Footer.jsx @@ -11,7 +11,7 @@ import branding from 'branding.json'; export default function Footer() { return (
    -
    +
    {/* Footer Text */} diff --git a/src/layout/Dashboard/index.jsx b/src/layout/Dashboard/index.jsx index ddeb2bd..a959ed8 100644 --- a/src/layout/Dashboard/index.jsx +++ b/src/layout/Dashboard/index.jsx @@ -1,17 +1,17 @@ import { Outlet } from 'react-router-dom'; // project-imports -import Breadcrumbs from 'components/Breadcrumbs'; import Drawer from './Drawer'; import Footer from './Footer'; import Header from './Header'; +import Breadcrumbs from 'components/Breadcrumbs'; import NavigationScroll from 'components/NavigationScroll'; // ==============================|| MAIN LAYOUT ||============================== // export default function MainLayout() { return ( -
    + <>
    @@ -23,6 +23,6 @@ export default function MainLayout() {
    -
    + ); } diff --git a/src/menu-items/charts-maps.jsx b/src/menu-items/charts-maps.jsx index 95db7f9..1cd59bd 100644 --- a/src/menu-items/charts-maps.jsx +++ b/src/menu-items/charts-maps.jsx @@ -9,7 +9,7 @@ const chartsMaps = { id: 'charts', title: 'Charts', type: 'collapse', - icon: , + icon: 'ph ph-chart-donut', children: [ { id: 'apex-chart', @@ -23,7 +23,7 @@ const chartsMaps = { id: 'map', title: 'Map', type: 'collapse', - icon: , + icon: 'ph ph-map-trifold', children: [ { id: 'google-map', diff --git a/src/menu-items/forms.jsx b/src/menu-items/forms.jsx index f4fda82..29a9c7a 100644 --- a/src/menu-items/forms.jsx +++ b/src/menu-items/forms.jsx @@ -9,7 +9,7 @@ const formComponents = { id: 'form-elements', title: 'Form Elements', type: 'collapse', - icon: , + icon: 'ph ph-textbox', children: [ { id: 'form-basic', diff --git a/src/menu-items/index.jsx b/src/menu-items/index.jsx index 428edc3..54b54d5 100644 --- a/src/menu-items/index.jsx +++ b/src/menu-items/index.jsx @@ -1,16 +1,16 @@ // project-imports import chartsMaps from './charts-maps'; import formComponents from './forms'; -import navigation from './navigation'; import other from './other'; import pages from './pages'; -import tableComponents from './tables'; import uiComponents from './ui-components'; +import tableRoutes from './tables'; +import navigation from './navigation'; // ==============================|| MENU ITEMS ||============================== // const menuItems = { - items: [navigation, uiComponents, formComponents, tableComponents, chartsMaps, pages, other] + items: [navigation, uiComponents, formComponents, tableRoutes, chartsMaps, pages, other] }; export default menuItems; diff --git a/src/menu-items/navigation.jsx b/src/menu-items/navigation.jsx index 3f89340..89bc68b 100644 --- a/src/menu-items/navigation.jsx +++ b/src/menu-items/navigation.jsx @@ -1,16 +1,13 @@ -const icons = { dashboard: , layouts: }; - const navigation = { id: 'group-dashboard-loading-unique', title: 'Navigation', type: 'group', - icon: icons.dashboard, children: [ { id: 'dashboard', title: 'Dashboard', type: 'item', - icon: icons.dashboard, + icon: 'ph ph-house-line', url: '/' } ] diff --git a/src/menu-items/other.jsx b/src/menu-items/other.jsx index 7393abc..2436644 100644 --- a/src/menu-items/other.jsx +++ b/src/menu-items/other.jsx @@ -9,7 +9,7 @@ const other = { id: 'menu-levels', title: 'Menu-levels', type: 'collapse', - icon: , + icon: 'ph ph-tree-structure', children: [ { id: 'level-2.1', @@ -90,7 +90,7 @@ const other = { id: 'sample-page', title: 'Sample page', type: 'item', - icon: , + icon: 'ph ph-desktop', url: '/other/sample-page' } ] diff --git a/src/menu-items/pages.jsx b/src/menu-items/pages.jsx index e3787dd..12f0bed 100644 --- a/src/menu-items/pages.jsx +++ b/src/menu-items/pages.jsx @@ -9,7 +9,7 @@ const pages = { id: 'authentication', title: 'Authentication', type: 'collapse', - icon: , + icon: 'ph ph-lock-key', children: [ { id: 'login', diff --git a/src/menu-items/tables.jsx b/src/menu-items/tables.jsx index b887855..1158ee7 100644 --- a/src/menu-items/tables.jsx +++ b/src/menu-items/tables.jsx @@ -9,7 +9,7 @@ const tableComponents = { id: 'bootstrap-table', title: 'Bootstrap table', type: 'collapse', - icon: , + icon: 'ph ph-table', children: [ { id: 'basic-table', diff --git a/src/menu-items/ui-components.jsx b/src/menu-items/ui-components.jsx index 8731fa6..86eede1 100644 --- a/src/menu-items/ui-components.jsx +++ b/src/menu-items/ui-components.jsx @@ -8,11 +8,11 @@ const uiComponents = { { id: 'basic', title: 'Basic', - icon: , + icon: 'ph ph-pencil-ruler', type: 'collapse', children: [ { - id: 'buttons', + id: 'button', title: 'Button', type: 'item', url: '/basic/buttons' diff --git a/src/routes/PagesRoutes.jsx b/src/routes/PagesRoutes.jsx index 89149a0..3439719 100644 --- a/src/routes/PagesRoutes.jsx +++ b/src/routes/PagesRoutes.jsx @@ -2,7 +2,6 @@ import { lazy } from 'react'; // project-imports import Loadable from 'components/Loadable'; -import DashboardLayout from 'layout/Dashboard'; import AuthLayout from 'layout/Auth'; // render - login pages diff --git a/src/routes/index.jsx b/src/routes/index.jsx index 3c4a0e1..2d65aa8 100644 --- a/src/routes/index.jsx +++ b/src/routes/index.jsx @@ -1,18 +1,18 @@ import { createBrowserRouter } from 'react-router-dom'; // project-imports -import PagesRoutes from './PagesRoutes'; -import NavigationRoutes from './NavigationRoutes'; +import ChartMapRoutes from './ChartMapRoutes'; import ComponentsRoutes from './ComponentsRoutes'; import FormsRoutes from './FormsRoutes'; -import TablesRoutes from './TablesRoutes'; -import ChartMapRoutes from './ChartMapRoutes'; import OtherRoutes from './OtherRoutes'; +import PagesRoutes from './PagesRoutes'; +import NavigationRoutes from './NavigationRoutes'; +import TablesRoutes from './TablesRoutes'; // ==============================|| ROUTING RENDER ||============================== // const router = createBrowserRouter( - [NavigationRoutes, ComponentsRoutes, FormsRoutes, TablesRoutes, ChartMapRoutes, PagesRoutes, OtherRoutes], + [NavigationRoutes, ComponentsRoutes, FormsRoutes, TablesRoutes, PagesRoutes, OtherRoutes, ChartMapRoutes], { basename: import.meta.env.VITE_APP_BASE_NAME } diff --git a/src/sections/auth/AuthLogin.jsx b/src/sections/auth/AuthLogin.jsx index 3752e9c..c9c1209 100644 --- a/src/sections/auth/AuthLogin.jsx +++ b/src/sections/auth/AuthLogin.jsx @@ -1,5 +1,6 @@ import PropTypes from 'prop-types'; import { useState } from 'react'; +import { Link } from 'react-router-dom'; // react-bootstrap import Button from 'react-bootstrap/Button'; @@ -69,8 +70,8 @@ export default function AuthLoginForm({ className, link }) { + {errors.password?.message} - {errors.password?.message} @@ -82,9 +83,9 @@ export default function AuthLoginForm({ className, link }) { className={`input-primary ${className ? className : 'text-muted'} `} /> - + Forgot Password? - +
    Don't have an Account?
    - + Create Account - +
    ); } -AuthLoginForm.propTypes = { className: PropTypes.string, link: PropTypes.string, resetLink: PropTypes.string }; +AuthLoginForm.propTypes = { className: PropTypes.string, link: PropTypes.string }; diff --git a/src/sections/auth/AuthRegister.jsx b/src/sections/auth/AuthRegister.jsx index bec157f..7184db7 100644 --- a/src/sections/auth/AuthRegister.jsx +++ b/src/sections/auth/AuthRegister.jsx @@ -1,5 +1,6 @@ import PropTypes from 'prop-types'; import { useState } from 'react'; +import { Link } from 'react-router-dom'; // react-bootstrap import Button from 'react-bootstrap/Button'; @@ -136,9 +137,9 @@ export default function AuthRegisterForm({ className, link }) {
    Already have an Account?
    - + Login - +
    diff --git a/src/sections/charts/apex-charts/BarChart.jsx b/src/sections/charts/apex-charts/BarChart.jsx index 8b7dd36..02fca86 100644 --- a/src/sections/charts/apex-charts/BarChart.jsx +++ b/src/sections/charts/apex-charts/BarChart.jsx @@ -1,10 +1,16 @@ -import { useMemo } from 'react'; +import { useEffect, useState } from 'react'; // third-party import ReactApexChart from 'react-apexcharts'; -// chart-options -const chartOptions = { +// chart options +const columnChartOptions = { + chart: { + type: 'bar', + height: 350, + background: 'transparent', + toolbar: { show: false } + }, plotOptions: { bar: { horizontal: false, @@ -12,76 +18,70 @@ const chartOptions = { endingShape: 'rounded' } }, - dataLabels: { - enabled: false - }, + dataLabels: { enabled: false }, stroke: { show: true, width: 2, colors: ['transparent'] }, - xaxis: { - categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'] - }, - fill: { - opacity: 1 + xaxis: { categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'] }, + fill: { opacity: 1 }, + tooltip: { + y: { + formatter(val) { + return `$ ${val} thousands`; + } + } }, legend: { show: true, position: 'bottom', offsetX: 10, offsetY: 10, - labels: { - useSeriesColors: false + labels: { useSeriesColors: false }, + markers: { size: 6, shape: 'circle', strokeWidth: 0 }, + itemMargin: { horizontal: 15, vertical: 8 } + }, + responsive: [{ breakpoint: 600, options: { yaxis: { show: false } } }] +}; + +// ==============================|| APEXCHART - COLUMN ||============================== // + +export default function ApexColumnChart() { + const textPrimary = 'var(--bs-primary)'; + const line = 'var(--bs-border-color)'; + + const primary700 = 'var(--bs-teal)'; + const primaryMain = 'var(--bs-primary)'; + const successMain = 'var(--bs-success)'; + + const [series] = useState([ + { + name: 'Net Profit', + data: [44, 55, 57, 56, 61, 58, 63, 60, 66] }, - markers: { - width: 16, - height: 16, - radius: 5 + { + name: 'Revenue', + data: [76, 85, 101, 98, 87, 105, 91, 114, 94] }, - itemMargin: { - horizontal: 5, - vertical: 4 - } - }, - tooltip: { - y: { - formatter: (value) => `$ ${value} thousands` - } - }, - responsive: [ { - breakpoint: 600, - options: { - yaxis: { - show: false - } - } + name: 'Free Cash Flow', + data: [35, 41, 36, 26, 45, 48, 52, 53, 41] } - ], - colors: ['#1de9b6', '#04a9f5', '#13c2c2'] -}; + ]); -// ==============================|| APEX CHART - BAR CHART ||============================== // + const [options, setOptions] = useState(columnChartOptions); -export default function ApexBarChart() { - const series = useMemo( - () => [ - { - name: 'Net Profit', - data: [44, 55, 57, 56, 61, 58, 63] - }, - { - name: 'Revenue', - data: [76, 85, 101, 98, 87, 105, 91] - }, - { - name: 'Free Cash Flow', - data: [35, 41, 36, 26, 45, 48, 52] - } - ], - [] - ); + useEffect(() => { + setOptions({ + ...columnChartOptions, + chart: { ...columnChartOptions.chart }, + colors: [primary700, primaryMain, successMain], + xaxis: { ...columnChartOptions.xaxis }, + grid: { borderColor: line }, + legend: { ...columnChartOptions.legend, labels: { ...columnChartOptions.legend.labels } } + }); + }, [textPrimary, line, primary700, primaryMain, successMain]); - return ; + return ; } diff --git a/src/sections/charts/apex-charts/BarHorizontalChart.jsx b/src/sections/charts/apex-charts/BarHorizontalChart.jsx index fcb5798..6462300 100644 --- a/src/sections/charts/apex-charts/BarHorizontalChart.jsx +++ b/src/sections/charts/apex-charts/BarHorizontalChart.jsx @@ -1,10 +1,16 @@ -import { useMemo } from 'react'; +import { useEffect, useState } from 'react'; // third-party import ReactApexChart from 'react-apexcharts'; // chart-options -const chartOptions = { +const barHorizontalChartOptions = { + chart: { + type: 'bar', + height: 350, + background: 'transparent', + toolbar: { show: false } + }, plotOptions: { bar: { horizontal: true, @@ -13,7 +19,6 @@ const chartOptions = { } } }, - colors: ['#04a9f5', '#1de9b6'], dataLabels: { enabled: true, offsetX: -6, @@ -24,28 +29,51 @@ const chartOptions = { }, stroke: { show: true, - width: 1, - colors: ['#fff'] + width: 2, + colors: ['transparent'] }, xaxis: { categories: [2001, 2002, 2003, 2004, 2005, 2006, 2007] + }, + legend: { + show: true, + position: 'bottom', + offsetX: 10, + offsetY: 10, + labels: { useSeriesColors: false }, + markers: { size: 6, shape: 'circle', strokeWidth: 0 }, + itemMargin: { horizontal: 15, vertical: 8 } } }; // ==============================|| APEX CHART - BAR HORIZONTAL CHART ||============================== // export default function BarHorizontalChart() { - const series = useMemo( - () => [ - { - data: [44, 55, 41, 64, 22, 43, 21] - }, - { - data: [53, 32, 33, 52, 13, 44, 32] - } - ], - [] - ); + const primaryMain = 'var(--bs-primary)'; + const successMain = 'var(--bs-success)'; + const line = 'var(--bs-border-color)'; + + const [series] = useState([ + { + data: [44, 55, 41, 64, 22, 43, 21] + }, + { + data: [53, 32, 33, 52, 13, 44, 32] + } + ]); + + const [options, setOptions] = useState(barHorizontalChartOptions); + + useEffect(() => { + setOptions({ + ...barHorizontalChartOptions, + chart: { ...barHorizontalChartOptions.chart }, + colors: [primaryMain, successMain], + xaxis: { ...barHorizontalChartOptions.xaxis }, + grid: { borderColor: line }, + legend: { ...barHorizontalChartOptions.legend, labels: { ...barHorizontalChartOptions.legend.labels } } + }); + }, [line, primaryMain, successMain]); - return ; + return ; } diff --git a/src/sections/charts/apex-charts/BarHorizontalStackedChart.jsx b/src/sections/charts/apex-charts/BarHorizontalStackedChart.jsx index 8e50f12..8d00d44 100644 --- a/src/sections/charts/apex-charts/BarHorizontalStackedChart.jsx +++ b/src/sections/charts/apex-charts/BarHorizontalStackedChart.jsx @@ -1,23 +1,26 @@ -import { useMemo } from 'react'; +import { useEffect, useState } from 'react'; // third-party import ReactApexChart from 'react-apexcharts'; // chart-options -const chartOptions = { +const barHorizontalStckedChartOptions = { chart: { - stacked: true, - stackType: '100%' + type: 'bar', + height: 350, + background: 'transparent', + toolbar: { show: false }, + stacked: true }, plotOptions: { bar: { horizontal: true } }, - colors: ['#04a9f5', '#13c2c2', '#1de9b6', '#f4c22b', '#f44236'], stroke: { - width: 1, - colors: ['#fff'] + show: true, + width: 2, + colors: ['transparent'] }, xaxis: { categories: [2008, 2009, 2010, 2011, 2012, 2013, 2014] @@ -33,42 +36,63 @@ const chartOptions = { fill: { opacity: 1 }, - legend: { + show: true, position: 'top', - horizontalAlign: 'left', - offsetX: 40 + offsetX: 10, + offsetY: 10, + labels: { useSeriesColors: false }, + markers: { size: 6, shape: 'circle', strokeWidth: 0 }, + itemMargin: { horizontal: 15, vertical: 8 } } }; // ==============================|| APEX CHART - BAR HORIZONTAL STACKED CHART ||============================== // export default function BarHorizontalStackedChart() { - const series = useMemo( - () => [ - { - name: 'Marine Sprite', - data: [44, 55, 41, 37, 22, 43, 21] - }, - { - name: 'Striking Calf', - data: [53, 32, 33, 52, 13, 43, 32] - }, - { - name: 'Tank Picture', - data: [12, 17, 11, 9, 15, 11, 20] - }, - { - name: 'Bucket Slope', - data: [9, 7, 5, 8, 6, 9, 4] - }, - { - name: 'Reborn Kid', - data: [25, 12, 19, 32, 25, 24, 10] - } - ], - [] - ); + const primaryMain = 'var(--bs-primary)'; + const successMain = 'var(--bs-success)'; + const warningMain = 'var(--bs-warning)'; + const infoMain = 'var(--bs-info)'; + const indigoMain = 'var(--bs-indigo)'; + + const line = 'var(--bs-border-color)'; + + const [series] = useState([ + { + name: 'Marine Sprite', + data: [44, 55, 41, 37, 22, 43, 21] + }, + { + name: 'Striking Calf', + data: [53, 32, 33, 52, 13, 43, 32] + }, + { + name: 'Tank Picture', + data: [12, 17, 11, 9, 15, 11, 20] + }, + { + name: 'Bucket Slope', + data: [9, 7, 5, 8, 6, 9, 4] + }, + { + name: 'Reborn Kid', + data: [25, 12, 19, 32, 25, 24, 10] + } + ]); + + const [options, setOptions] = useState(barHorizontalStckedChartOptions); + + useEffect(() => { + setOptions({ + ...barHorizontalStckedChartOptions, + chart: { ...barHorizontalStckedChartOptions.chart }, + colors: [primaryMain, successMain, warningMain, infoMain, indigoMain], + xaxis: { ...barHorizontalStckedChartOptions.xaxis }, + grid: { borderColor: line }, + legend: { ...barHorizontalStckedChartOptions.legend, labels: { ...barHorizontalStckedChartOptions.legend.labels } } + }); + }, [primaryMain, successMain, warningMain, infoMain, indigoMain]); - return ; + return ; } diff --git a/src/sections/charts/apex-charts/BarStackedChart.jsx b/src/sections/charts/apex-charts/BarStackedChart.jsx index 961a195..e544996 100644 --- a/src/sections/charts/apex-charts/BarStackedChart.jsx +++ b/src/sections/charts/apex-charts/BarStackedChart.jsx @@ -1,10 +1,10 @@ -import { useMemo } from 'react'; +import { useEffect, useState } from 'react'; // third-party import ReactApexChart from 'react-apexcharts'; // chart-options -const chartOptions = { +const BarStackedChartOptions = { chart: { stacked: true, toolbar: { @@ -14,7 +14,6 @@ const chartOptions = { enabled: true } }, - colors: ['#04a9f5', '#1de9b6', '#f4c22b', '#13c2c2'], responsive: [ { breakpoint: 480, @@ -29,7 +28,9 @@ const chartOptions = { ], plotOptions: { bar: { - horizontal: false + horizontal: false, + columnWidth: '55%', + endingShape: 'rounded' } }, xaxis: { @@ -44,7 +45,13 @@ const chartOptions = { ] }, legend: { - position: 'bottom' + show: true, + position: 'top', + offsetX: 10, + offsetY: 10, + labels: { useSeriesColors: false }, + markers: { size: 6, shape: 'circle', strokeWidth: 0 }, + itemMargin: { horizontal: 10, vertical: 8 } }, fill: { opacity: 1 @@ -54,27 +61,44 @@ const chartOptions = { // ==============================|| APEX CHART - BAR STACKED CHART ||============================== // export default function BarStackedChart() { - const series = useMemo( - () => [ - { - name: 'PRODUCT A', - data: [44, 55, 41, 67, 22, 43] - }, - { - name: 'PRODUCT B', - data: [13, 23, 20, 8, 13, 27] - }, - { - name: 'PRODUCT C', - data: [11, 17, 15, 15, 21, 14] - }, - { - name: 'PRODUCT D', - data: [21, 7, 25, 13, 22, 8] - } - ], - [] - ); + const primaryMain = 'var(--bs-primary)'; + const successMain = 'var(--bs-success)'; + const warningMain = 'var(--bs-warning)'; + const infoMain = 'var(--bs-info)'; + + const line = 'var(--bs-border-color)'; + + const [series] = useState([ + { + name: 'PRODUCT A', + data: [44, 55, 41, 67, 22, 43] + }, + { + name: 'PRODUCT B', + data: [13, 23, 20, 8, 13, 27] + }, + { + name: 'PRODUCT C', + data: [11, 17, 15, 15, 21, 14] + }, + { + name: 'PRODUCT D', + data: [21, 7, 25, 13, 22, 8] + } + ]); + + const [options, setOptions] = useState(BarStackedChartOptions); + + useEffect(() => { + setOptions({ + ...BarStackedChartOptions, + chart: { ...BarStackedChartOptions.chart }, + colors: [primaryMain, successMain, warningMain, infoMain], + xaxis: { ...BarStackedChartOptions.xaxis }, + grid: { borderColor: line }, + legend: { ...BarStackedChartOptions.legend, labels: { ...BarStackedChartOptions.legend.labels } } + }); + }, [primaryMain, successMain, warningMain, infoMain]); - return ; + return ; } diff --git a/src/sections/components/basic/badges/LightBadge.jsx b/src/sections/components/basic/badges/LightBadge.jsx index 8b593da..4475e35 100644 --- a/src/sections/components/basic/badges/LightBadge.jsx +++ b/src/sections/components/basic/badges/LightBadge.jsx @@ -17,7 +17,9 @@ export default function LightBadge() { Danger Warning Info - Light + + Light + Dark diff --git a/src/sections/components/form-element/CheckRadio.jsx b/src/sections/components/form-element/CheckRadio.jsx new file mode 100644 index 0000000..dc474ca --- /dev/null +++ b/src/sections/components/form-element/CheckRadio.jsx @@ -0,0 +1,61 @@ +// react-bootstrap +import Col from 'react-bootstrap/Col'; +import Form from 'react-bootstrap/Form'; +import Row from 'react-bootstrap/Row'; + +// project-import +import MainCard from 'components/MainCard'; + +// =============================|| FORM ELEMENT - CHECKS AND RADIOS ||============================== // + +export default function ChecksRadios() { + return ( + + + {/* Checkboxes */} + +
    Checkboxes
    +
    + + + + + + {/* Switches */} + +
    Switches
    +
    + + + + + + {/* Radios */} + +
    Radios
    +
    + + + +
    Inline
    +
    + + + + + + {/* Range Sliders */} + +
    Range
    +
    + Default + + Min and Max (0–5) + + Steps (0.5) + + +
    +
    + ); +} diff --git a/src/sections/form-element/CustomForms.jsx b/src/sections/components/form-element/CustomForms.jsx similarity index 62% rename from src/sections/form-element/CustomForms.jsx rename to src/sections/components/form-element/CustomForms.jsx index 9e6428a..7c50161 100644 --- a/src/sections/form-element/CustomForms.jsx +++ b/src/sections/components/form-element/CustomForms.jsx @@ -8,18 +8,21 @@ import Row from 'react-bootstrap/Row'; // project-import import MainCard from 'components/MainCard'; -// =============================|| CUSTOM FORMS ||============================== // +// ==============================|| FORM ELEMENT - CUSTOM FORMS ||============================== // export default function CustomForms() { return ( + {/* ---------- Custom Select ---------- */}
    Custom Select

    + + {/* Select with label prefix */} - Option - + Option + @@ -27,8 +30,9 @@ export default function CustomForms() { + {/* Select with label suffix */} - + @@ -37,9 +41,10 @@ export default function CustomForms() { Option + {/* Select with button prefix */} - + @@ -47,8 +52,9 @@ export default function CustomForms() { + {/* Select with button suffix */} - + @@ -58,26 +64,32 @@ export default function CustomForms() { + {/* ---------- Custom File Input ---------- */}
    Custom File Input

    + + {/* File input with label prefix */} - Option - + Upload + + {/* File input with label suffix */} - - Option + + Upload + {/* File input with button prefix */} - + + {/* File input with button suffix */} - + diff --git a/src/sections/form-element/DataList.jsx b/src/sections/components/form-element/DataList.jsx similarity index 83% rename from src/sections/form-element/DataList.jsx rename to src/sections/components/form-element/DataList.jsx index dd5b992..5035402 100644 --- a/src/sections/form-element/DataList.jsx +++ b/src/sections/components/form-element/DataList.jsx @@ -4,7 +4,7 @@ import Form from 'react-bootstrap/Form'; // project-import import MainCard from 'components/MainCard'; -// =============================|| DATA LIST ||============================== // +// =============================|| FORM ELEMENT - DATA LIST ||============================== // export default function DataList() { return ( diff --git a/src/sections/components/form-element/FormControlState.jsx b/src/sections/components/form-element/FormControlState.jsx new file mode 100644 index 0000000..06e2365 --- /dev/null +++ b/src/sections/components/form-element/FormControlState.jsx @@ -0,0 +1,47 @@ +// react-bootstrap +import Col from 'react-bootstrap/Col'; +import Row from 'react-bootstrap/Row'; +import Form from 'react-bootstrap/Form'; + +// project-import +import MainCard from 'components/MainCard'; + +// ============================|| FORM ELEMENT - FORM CONTROL STATE ||============================== // + +export default function FormControlState() { + return ( + + + {/* Readonly example */} + +
    Readonly
    +
    + + + + Email + + + + + + + + {/* Readonly plaintext example */} + +
    Readonly plain text
    +
    + + + + Email + + + + + + +
    +
    + ); +} diff --git a/src/sections/components/form-element/FormControls.jsx b/src/sections/components/form-element/FormControls.jsx new file mode 100644 index 0000000..a4a98fc --- /dev/null +++ b/src/sections/components/form-element/FormControls.jsx @@ -0,0 +1,68 @@ +// react-bootstrap +import Button from 'react-bootstrap/Button'; +import Col from 'react-bootstrap/Col'; +import Form from 'react-bootstrap/Form'; +import Row from 'react-bootstrap/Row'; + +// project-import +import MainCard from 'components/MainCard'; + +// =============================|| FORM ELEMENT - FORM CONTROLS ||============================== // + +export default function FormControls() { + return ( + + + {/* Left column */} + +
    e.preventDefault()}> + + Email address + + We'll never share your email with anyone else. + + + + Password + + + + + + + + +
    + + + {/* Right column */} + +
    + + Text + + + + + Example select + + + + + + + + + + + Example textarea + + +
    + +
    +
    + ); +} diff --git a/src/sections/components/form-element/FormGrid.jsx b/src/sections/components/form-element/FormGrid.jsx new file mode 100644 index 0000000..52ded00 --- /dev/null +++ b/src/sections/components/form-element/FormGrid.jsx @@ -0,0 +1,95 @@ +// react-bootstrap +import Alert from 'react-bootstrap/Alert'; +import Button from 'react-bootstrap/Button'; +import Col from 'react-bootstrap/Col'; +import Form from 'react-bootstrap/Form'; +import Row from 'react-bootstrap/Row'; + +// project-import +import MainCard from 'components/MainCard'; + +// =============================|| FORM ELEMENT - FORM GRID ||============================== // + +export default function FormGrid() { + return ( + +
    e.preventDefault()}> + {/* Info Alert */} + + + + + When working with the Bootstrap grid system, place form elements within column classes. + + + + + {/* Email & Password */} + + + + Email + + + + + + + Password + + + + + + {/* Address 1 */} + + Address + + + + {/* Address 2 */} + + Address 2 + + + + {/* City, State, Zip */} + + + + City + + + + + + + State + + + + + + + + + + Zip + + + + + + {/* Checkbox */} + + + + + {/* Submit */} + + +
    + ); +} diff --git a/src/sections/components/form-element/HorizontalForm.jsx b/src/sections/components/form-element/HorizontalForm.jsx new file mode 100644 index 0000000..a654b3e --- /dev/null +++ b/src/sections/components/form-element/HorizontalForm.jsx @@ -0,0 +1,97 @@ +// react-bootstrap +import Button from 'react-bootstrap/Button'; +import Col from 'react-bootstrap/Col'; +import Form from 'react-bootstrap/Form'; +import Row from 'react-bootstrap/Row'; + +// project-imports +import MainCard from 'components/MainCard'; + +// =============================|| HORIZONTAL FORM ||============================== // + +export default function HorizontalForm() { + return ( + +
    e.preventDefault()}> + + +
    Horizontal Form Example
    +
    + + + + Email + + + + + + + + + Password + + + + + + + + + Radios + + + + + + + + + + + Checkbox + + + + + + + + + + +
    Horizontal Form Label Sizing
    +
    + + + + Email + + + + + + + + + Email + + + + + + + + + Email + + + + + + +
    +
    +
    + ); +} diff --git a/src/sections/components/form-element/InlineForm.jsx b/src/sections/components/form-element/InlineForm.jsx new file mode 100644 index 0000000..5bcb860 --- /dev/null +++ b/src/sections/components/form-element/InlineForm.jsx @@ -0,0 +1,49 @@ +// react-bootstrap +import Button from 'react-bootstrap/Button'; +import Col from 'react-bootstrap/Col'; +import Form from 'react-bootstrap/Form'; +import Row from 'react-bootstrap/Row'; +import InputGroup from 'react-bootstrap/InputGroup'; + +// project-import +import MainCard from 'components/MainCard'; + +// =============================|| FORM ELEMENT - INLINE FORM ||============================== // + +export default function InlineForm() { + return ( + +
    e.preventDefault()}> + + + + + + + + @ + + + + + + + + + + + + + + + + + + + + + +
    +
    + ); +} diff --git a/src/sections/form-element/InputGroup.jsx b/src/sections/components/form-element/InputGroup.jsx similarity index 98% rename from src/sections/form-element/InputGroup.jsx rename to src/sections/components/form-element/InputGroup.jsx index 9f3087c..8401271 100644 --- a/src/sections/form-element/InputGroup.jsx +++ b/src/sections/components/form-element/InputGroup.jsx @@ -11,7 +11,7 @@ import SplitButton from 'react-bootstrap/SplitButton'; // project-import import MainCard from 'components/MainCard'; -// =============================|| INPUT GROUP ||============================== // +// =============================|| FORM ELEMENT - INPUT GROUP ||============================== // export default function CustomInputGroup() { return ( diff --git a/src/sections/form-element/Picker.jsx b/src/sections/components/form-element/Picker.jsx similarity index 81% rename from src/sections/form-element/Picker.jsx rename to src/sections/components/form-element/Picker.jsx index 928d722..b923b57 100644 --- a/src/sections/form-element/Picker.jsx +++ b/src/sections/components/form-element/Picker.jsx @@ -4,7 +4,7 @@ import Form from 'react-bootstrap/Form'; // project-import import MainCard from 'components/MainCard'; -// =============================|| PICKER ||============================== // +// =============================|| FORM ELEMENT - PICKER ||============================== // export default function Picker() { return ( diff --git a/src/sections/form-element/Sizing.jsx b/src/sections/components/form-element/Sizing.jsx similarity index 88% rename from src/sections/form-element/Sizing.jsx rename to src/sections/components/form-element/Sizing.jsx index e578a4e..468c5f2 100644 --- a/src/sections/form-element/Sizing.jsx +++ b/src/sections/components/form-element/Sizing.jsx @@ -6,9 +6,9 @@ import Row from 'react-bootstrap/Row'; // project-imports import MainCard from 'components/MainCard'; -// =============================|| SIZING ||============================== // +// =============================|| FORM ELEMENT - SIZING ||============================== // -export default function Sizeing() { +export default function Sizing() { return ( diff --git a/src/sections/form-element/SupportedElements.jsx b/src/sections/components/form-element/SupportedElements.jsx similarity index 51% rename from src/sections/form-element/SupportedElements.jsx rename to src/sections/components/form-element/SupportedElements.jsx index 692afc3..b39e62e 100644 --- a/src/sections/form-element/SupportedElements.jsx +++ b/src/sections/components/form-element/SupportedElements.jsx @@ -7,7 +7,7 @@ import Form from 'react-bootstrap/Form'; // project-import import MainCard from 'components/MainCard'; -// =============================|| SUPPORTED ELEMENTS ||============================== // +// =============================|| FORM ELEMENT - SUPPORTED ELEMENTS WITH FEEDBACK ||============================== // export default function SupportedElements() { const [validated, setValidated] = useState(false); @@ -24,22 +24,30 @@ export default function SupportedElements() { return ( -
    + + {/* Textarea */}
    - Textarea - -
    Please enter a message in the textarea.
    + Textarea + + Looks good! + Please enter a message in the textarea.
    + + {/* Checkbox */} - + + Example invalid feedback text + {/* Radio buttons */}
    -
    Please select an option.
    + Good choice! + Please select an option.
    + {/* Select */}
    @@ -47,13 +55,18 @@ export default function SupportedElements() { -
    Example invalid select feedback
    + Nice selection! + Example invalid select feedback
    + {/* File Upload */}
    -
    Example invalid form file feedback
    + File selected successfully! + Example invalid form file feedback
    + + {/* Submit */}
    diff --git a/src/sections/form-element/Tooltips.jsx b/src/sections/components/form-element/Tooltips.jsx similarity index 98% rename from src/sections/form-element/Tooltips.jsx rename to src/sections/components/form-element/Tooltips.jsx index c68433f..2e3f45b 100644 --- a/src/sections/form-element/Tooltips.jsx +++ b/src/sections/components/form-element/Tooltips.jsx @@ -12,7 +12,7 @@ import * as yup from 'yup'; // project-import import MainCard from 'components/MainCard'; -// =============================|| TOOLTIPS ||============================== // +// =============================|| FORM ELEMENT - TOOLTIPS ||============================== // const validationSchema = yup.object({ firstName: yup.string().required(), @@ -62,7 +62,6 @@ export default function FormExample() { isInvalid={formik.touched.lastName && !!formik.errors.lastName} isValid={formik.touched.lastName && !formik.errors.lastName} /> - Looks good! @@ -124,7 +123,6 @@ export default function FormExample() {
    -
    diff --git a/src/sections/form-element/ValidationForm.jsx b/src/sections/components/form-element/ValidationForm.jsx similarity index 96% rename from src/sections/form-element/ValidationForm.jsx rename to src/sections/components/form-element/ValidationForm.jsx index 3687425..87d9e3a 100644 --- a/src/sections/form-element/ValidationForm.jsx +++ b/src/sections/components/form-element/ValidationForm.jsx @@ -10,7 +10,7 @@ import Row from 'react-bootstrap/Row'; // project-import import MainCard from 'components/MainCard'; -// =============================|| VALIDATION FORM ||============================== // +// =============================|| FORM ELEMENT - VALIDATION FORM ||============================== // export default function ValidationForm() { const [validated, setValidated] = useState(false); diff --git a/src/sections/dashboard/EarningChart.jsx b/src/sections/dashboard/EarningChart.jsx index f87b7eb..79967d1 100644 --- a/src/sections/dashboard/EarningChart.jsx +++ b/src/sections/dashboard/EarningChart.jsx @@ -1,3 +1,5 @@ +import { useEffect, useState } from 'react'; + // third-party import ReactApexChart from 'react-apexcharts'; @@ -5,71 +7,62 @@ import ReactApexChart from 'react-apexcharts'; import MainCard from 'components/MainCard'; // chart-options -const chartOptions = { - series: [{ name: 'Market Days ', data: [10, 60, 45, 72, 45, 86], color: '#fff' }], +const earningChartOptions = { + chart: { + toolbar: { + show: false + } + }, + dataLabels: { + enabled: false + }, + markers: { + size: 6, + hover: { + size: 5 + } + }, + stroke: { + curve: 'straight', + width: 6 + }, - options: { - chart: { - toolbar: { + grid: { + xaxis: { + lines: { show: false } }, - dataLabels: { - enabled: false - }, - markers: { - size: 6, - hover: { - size: 5 + yaxis: { + lines: { + show: false } - }, - stroke: { - curve: 'straight', - width: 6 - }, + } + }, - grid: { - xaxis: { - lines: { - show: false - } - }, - yaxis: { - lines: { - show: false - } - } + tooltip: { + x: { + show: false }, - tooltip: { - x: { - show: false - }, + marker: { + show: false + } + }, - marker: { - show: false - } - }, + yaxis: { + labels: { + show: false + } + }, - yaxis: { - labels: { - show: false - } + xaxis: { + categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], + axisTicks: { + show: false }, - - xaxis: { - categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], - axisTicks: { - show: false - }, - axisBorder: { - show: false - }, - labels: { - style: { - colors: '#fff' - } - } + axisBorder: { + show: false } } }; @@ -77,6 +70,18 @@ const chartOptions = { // =============================|| DEFAULT - EARNING CHART ||============================== // export default function EarningChart() { + const [series] = useState([{ name: 'Market Days ', data: [10, 60, 45, 72, 45, 86], color: '#fff' }]); + + const [options, setOptions] = useState(earningChartOptions); + + useEffect(() => { + setOptions({ + ...earningChartOptions, + chart: { ...earningChartOptions.chart }, + xaxis: { ...earningChartOptions.xaxis, labels: { style: { colors: '#fff' } } } + }); + }, []); + return ( Earnings

    } @@ -90,7 +95,7 @@ export default function EarningChart() { Total Earnings
    - + ); } diff --git a/src/sections/dashboard/RecentUsersCard.jsx b/src/sections/dashboard/RecentUsersCard.jsx index 7726bc1..a72556a 100644 --- a/src/sections/dashboard/RecentUsersCard.jsx +++ b/src/sections/dashboard/RecentUsersCard.jsx @@ -19,7 +19,7 @@ const recentUsersData = [ projectname: 'Isabella Christensen', desc: 'Lorem Ipsum is simply dummy text of…', date: '11 MAY 12:56', - iconClass: 'text-success m-r-15', + iconClass: 'text-success', badge1: 'Reject', badge2: 'Approve' }, @@ -28,7 +28,7 @@ const recentUsersData = [ projectname: 'Mathilde Andersen', desc: 'Lorem Ipsum is simply dummy text of…', date: '11 MAY 10:35', - iconClass: 'text-danger m-r-15', + iconClass: 'text-danger', badge1: 'Reject', badge2: 'Approve' }, @@ -37,7 +37,7 @@ const recentUsersData = [ projectname: 'Karla Sorensen', desc: 'Lorem Ipsum is simply dummy text of…', date: '9 MAY 17:38', - iconClass: 'text-success m-r-15', + iconClass: 'text-success', badge1: 'Reject', badge2: 'Approve' }, @@ -46,7 +46,7 @@ const recentUsersData = [ projectname: 'Ida Jorgensen', desc: 'Lorem Ipsum is simply dummy text of…', date: '19 MAY 12:56', - iconClass: 'text-danger m-r-15', + iconClass: 'text-danger', badge1: 'Reject', badge2: 'Approve' }, @@ -55,7 +55,7 @@ const recentUsersData = [ projectname: 'Albert Andersen', desc: 'Lorem Ipsum is simply dummy text of…', date: '21 July 12:56', - iconClass: 'text-success m-r-15', + iconClass: 'text-success', badge1: 'Reject', badge2: 'Approve' } @@ -65,7 +65,7 @@ const recentUsersData = [ export default function RecentUsersCard() { return ( - + {recentUsersData.map((user, index) => ( @@ -78,8 +78,10 @@ export default function RecentUsersCard() {

    {user.desc}

    4.7 - + 0.4 - + {ratings.map((rating) => ( -
    - +
    + {rating.stars}
    {rating.count}
    diff --git a/src/sections/form-element/ChecksandRadios.jsx b/src/sections/form-element/ChecksandRadios.jsx deleted file mode 100644 index 0f99889..0000000 --- a/src/sections/form-element/ChecksandRadios.jsx +++ /dev/null @@ -1,52 +0,0 @@ -// react-bootstrap -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Row from 'react-bootstrap/Row'; - -// project-import -import MainCard from 'components/MainCard'; - -// =============================|| CHECKS AND RADIOS ||============================== // - -export default function ChecksandRadios() { - return ( - - -
    -
    Checkboxes
    -
    - - - -
    -
    Switches
    -
    - - - -
    -
    Radios
    -
    - - - -
    Inline
    -
    - - - - -
    -
    Range
    -
    - Example range - - Min and max - - Steps - - - - - ); -} diff --git a/src/sections/form-element/FormControlState.jsx b/src/sections/form-element/FormControlState.jsx deleted file mode 100644 index 0e6c3d5..0000000 --- a/src/sections/form-element/FormControlState.jsx +++ /dev/null @@ -1,43 +0,0 @@ -// react-bootstrap -import Col from 'react-bootstrap/Col'; -import Row from 'react-bootstrap/Row'; -import Form from 'react-bootstrap/Form'; - -// project-import -import MainCard from 'components/MainCard'; - -// ============================|| FORM CONTROL STATE ||============================== // - -export default function FormControlState() { - return ( - - -
    -
    Readonly
    -
    - -
    - Email - -
    - - -
    -
    Readonly plain Text
    -
    - -
    - -
    - Email - - - - - - - - - - ); -} diff --git a/src/sections/form-element/FormControls.jsx b/src/sections/form-element/FormControls.jsx deleted file mode 100644 index 0ee4d2f..0000000 --- a/src/sections/form-element/FormControls.jsx +++ /dev/null @@ -1,62 +0,0 @@ -// react-bootstrap -import Button from 'react-bootstrap/Button'; -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Row from 'react-bootstrap/Row'; - -// project-import -import MainCard from 'components/MainCard'; - -// =============================|| FORM CONTROLS ||============================== // - -export default function FormControls() { - return ( - - - -
    -
    - Email address - - We'll never share your email with anyone else. -
    -
    - Password - -
    -
    - -
    - - - -
    -
    -
    - Text - -
    - -
    - Example select - - - - - - - -
    - -
    - Example textarea - -
    - - - - - ); -} diff --git a/src/sections/form-element/FormGrid.jsx b/src/sections/form-element/FormGrid.jsx deleted file mode 100644 index c382001..0000000 --- a/src/sections/form-element/FormGrid.jsx +++ /dev/null @@ -1,70 +0,0 @@ -// react-bootstrap -import Alert from 'react-bootstrap/Alert'; -import Button from 'react-bootstrap/Button'; -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Row from 'react-bootstrap/Row'; - -// project-import -import MainCard from 'components/MainCard'; - -// =============================|| FORM GRID ||============================== // - -export default function FormGrid() { - return ( - -
    - -
    - - - When working with the Bootstrap grid system, be sure to place form elements within column classes. - - - - Email - - - - Password - - - -
    - Address - -
    - -
    - Address 2 - -
    - - -
    - City - - - - - State - - - - - - - - Zip - - - -
    - -
    - - - - - ); -} diff --git a/src/sections/form-element/HorizontalForm.jsx b/src/sections/form-element/HorizontalForm.jsx deleted file mode 100644 index ba91d5f..0000000 --- a/src/sections/form-element/HorizontalForm.jsx +++ /dev/null @@ -1,82 +0,0 @@ -// react-bootstrap -import Button from 'react-bootstrap/Button'; -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import Row from 'react-bootstrap/Row'; - -// project-imports -import MainCard from 'components/MainCard'; - -// =============================|| HORIZONTAL FORM ||============================== // - -export default function HorizontalForm() { - return ( - - -
    -
    Horizontal Form Example
    -
    - - - Email -
    - - - - - Password - - - - - - - Radios - - - - - - - - - - Checkbox - - - - - - - - - -
    Horizontal Form Label Sizing
    -
    - - Email -
    - - - - - - Email - - - - - - - Email - - - - - - - - ); -} diff --git a/src/sections/form-element/InlineForm.jsx b/src/sections/form-element/InlineForm.jsx deleted file mode 100644 index 419327f..0000000 --- a/src/sections/form-element/InlineForm.jsx +++ /dev/null @@ -1,45 +0,0 @@ -// react-bootstrap -import Button from 'react-bootstrap/Button'; -import Col from 'react-bootstrap/Col'; -import Form from 'react-bootstrap/Form'; -import InputGroup from 'react-bootstrap/InputGroup'; - -// project-import -import MainCard from 'components/MainCard'; - -// =============================|| INLINE FORM ||============================== // - -export default function InlineForm() { - return ( - -
    -
    - - - - - - @ - - - - - - - - - - - - - - - - - - - - - - ); -} diff --git a/src/sections/maps/google-maps/BasicMap.jsx b/src/sections/maps/google-maps/BasicMap.jsx new file mode 100644 index 0000000..482e563 --- /dev/null +++ b/src/sections/maps/google-maps/BasicMap.jsx @@ -0,0 +1,29 @@ +// project-imports +import MainCard from 'components/MainCard'; + +// third-party +import { GoogleMap, LoadScript, Marker } from '@react-google-maps/api'; + +const containerStyle = { + width: '100%', + height: '400px' +}; + +const center = { + lat: 20.5937, + lng: 78.9629 +}; + +// ==============================|| MAP - BASIC MAP ||============================== // + +export default function BasicGMap() { + return ( + + + + + + + + ); +} diff --git a/src/sections/tables/bootstrap-table/basic-table/BasicTable.jsx b/src/sections/tables/bootstrap-table/basic-table/BasicTable.jsx index d600360..b2f27aa 100644 --- a/src/sections/tables/bootstrap-table/basic-table/BasicTable.jsx +++ b/src/sections/tables/bootstrap-table/basic-table/BasicTable.jsx @@ -9,6 +9,7 @@ import MainCard from 'components/MainCard'; export default function BasicTable() { return ( diff --git a/src/sections/tables/bootstrap-table/basic-table/ContextualTable.jsx b/src/sections/tables/bootstrap-table/basic-table/ContextualTable.jsx index 0d083a9..058db7a 100644 --- a/src/sections/tables/bootstrap-table/basic-table/ContextualTable.jsx +++ b/src/sections/tables/bootstrap-table/basic-table/ContextualTable.jsx @@ -10,6 +10,7 @@ export default function ContextualTable() { return ( For Make row Contextual add Contextual class like .table-success in tr tag and For cell add Contextual diff --git a/src/sections/tables/bootstrap-table/basic-table/DarkTable.jsx b/src/sections/tables/bootstrap-table/basic-table/DarkTable.jsx index b32b236..dcab5ed 100644 --- a/src/sections/tables/bootstrap-table/basic-table/DarkTable.jsx +++ b/src/sections/tables/bootstrap-table/basic-table/DarkTable.jsx @@ -9,6 +9,7 @@ import MainCard from 'components/MainCard'; export default function DarkTable() { return ( diff --git a/src/sections/tables/bootstrap-table/basic-table/HoverTable.jsx b/src/sections/tables/bootstrap-table/basic-table/HoverTable.jsx index c4ccd99..66b8675 100644 --- a/src/sections/tables/bootstrap-table/basic-table/HoverTable.jsx +++ b/src/sections/tables/bootstrap-table/basic-table/HoverTable.jsx @@ -9,6 +9,7 @@ import MainCard from 'components/MainCard'; export default function HoverTable() { return ( diff --git a/src/sections/tables/bootstrap-table/basic-table/StripedTable.jsx b/src/sections/tables/bootstrap-table/basic-table/StripedTable.jsx index 26f7f09..858ebbc 100644 --- a/src/sections/tables/bootstrap-table/basic-table/StripedTable.jsx +++ b/src/sections/tables/bootstrap-table/basic-table/StripedTable.jsx @@ -9,6 +9,7 @@ import MainCard from 'components/MainCard'; export default function StripedTable() { return ( diff --git a/src/utils/getImageUrl.js b/src/utils/getImageUrl.js deleted file mode 100644 index 525e7e5..0000000 --- a/src/utils/getImageUrl.js +++ /dev/null @@ -1,14 +0,0 @@ -export let ImagePath; - -(function (ImagePath) { - ImagePath['LANDING'] = 'landing'; - ImagePath['USER'] = 'user'; - ImagePath['ECOMMERCE'] = 'e-commerce'; - ImagePath['PROFILE'] = 'profile'; -})(ImagePath || (ImagePath = {})); - -// ==============================|| UTIL - GET IMAGE URL ||============================== // - -export function getImageUrl(name, path) { - return new URL(`/src/assets/images/${path}/${name}`, import.meta.url).href; -} diff --git a/src/views/SamplePage.jsx b/src/views/SamplePage.jsx index fa85e46..ea6593f 100644 --- a/src/views/SamplePage.jsx +++ b/src/views/SamplePage.jsx @@ -12,8 +12,8 @@ export default function SamplePage() { - Lorem ipsum, dolor sit amet consectetur adipisicing elit. Deserunt molestias soluta unde facilis corrupti commodi inventore - deleniti maxime temporibus delectus? Totam nam architecto minima sed labore nostrum laborum quis dignissimos? + Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ex corporis totam qui, accusamus consequuntur quas voluptate eveniet + consequatur quasi, alias doloribus illo eligendi ab quisquam deserunt saepe dignissimos libero dolores. diff --git a/src/views/auth/login/Login.jsx b/src/views/auth/login/Login.jsx index 79c132b..ae54021 100644 --- a/src/views/auth/login/Login.jsx +++ b/src/views/auth/login/Login.jsx @@ -1,7 +1,7 @@ // project-imoports import AuthLoginForm from 'sections/auth/AuthLogin'; -// ===========================|| AUTH - LOGIN V1 ||=========================== // +// ===========================|| AUTH - LOGIN PAGE ||=========================== // export default function LoginPage() { return ( diff --git a/src/views/auth/register/Register.jsx b/src/views/auth/register/Register.jsx index f29d42d..90a34da 100644 --- a/src/views/auth/register/Register.jsx +++ b/src/views/auth/register/Register.jsx @@ -1,7 +1,7 @@ // project-imports import AuthRegisterForm from 'sections/auth/AuthRegister'; -// ===========================|| AUTH - REGISTER V1 ||=========================== // +// ===========================|| AUTH - REGISTER PAGE ||=========================== // export default function RegisterPage() { return ( diff --git a/src/views/charts/ApexChart.jsx b/src/views/charts/ApexChart.jsx index 7e0df52..1a1d485 100644 --- a/src/views/charts/ApexChart.jsx +++ b/src/views/charts/ApexChart.jsx @@ -4,10 +4,10 @@ import Row from 'react-bootstrap/Row'; // project-imports import MainCard from 'components/MainCard'; -import ApexBarChart from 'sections/charts/apex-charts/BarChart'; -import ApexBarHorizontalChart from 'sections/charts/apex-charts/BarHorizontalChart'; -import ApexBarHorizontalStackedChart from 'sections/charts/apex-charts/BarHorizontalStackedChart'; -import ApexBarStackedChart from 'sections/charts/apex-charts/BarStackedChart'; +import BarChart from 'sections/charts/apex-charts/BarChart'; +import BarHorizontalChart from 'sections/charts/apex-charts/BarHorizontalChart'; +import BarHorizontalStackedChart from 'sections/charts/apex-charts/BarHorizontalStackedChart'; +import BarStackedChart from 'sections/charts/apex-charts/BarStackedChart'; import ReferenceHeader from 'components/ReferenceHeader'; // =============================|| CHARTS - APEX CHART ||============================== // @@ -20,24 +20,24 @@ export default function ApexChartPage() { link="https://apexcharts.com/" /> - + - + - + - + - + - + - + - + diff --git a/src/views/forms/form-element/FormBasic.jsx b/src/views/forms/form-element/FormBasic.jsx index 9e470b8..175c1ae 100644 --- a/src/views/forms/form-element/FormBasic.jsx +++ b/src/views/forms/form-element/FormBasic.jsx @@ -3,27 +3,29 @@ import Col from 'react-bootstrap/Col'; import Row from 'react-bootstrap/Row'; // project-imports -import ChecksandRadios from 'sections/form-element/ChecksandRadios'; -import CustomForms from 'sections/form-element/CustomForms'; -import DataList from 'sections/form-element/DataList'; -import FormControls from 'sections/form-element/FormControls'; -import FormControlState from 'sections/form-element/FormControlState'; -import FormGrid from 'sections/form-element/FormGrid'; -import HorizontalForm from 'sections/form-element/HorizontalForm'; -import InlineForm from 'sections/form-element/InlineForm'; -import InputGroup from 'sections/form-element/InputGroup'; -import Picker from 'sections/form-element/Picker'; -import Sizeing from 'sections/form-element/Sizing'; -import SupportedElements from 'sections/form-element/SupportedElements'; -import Tooltips from 'sections/form-element/Tooltips'; -import ValidationForm from 'sections/form-element/ValidationForm'; +import ChecksRadios from 'sections/components/form-element/CheckRadio'; +import CustomForms from 'sections/components/form-element/CustomForms'; +import DataList from 'sections/components/form-element/DataList'; +import FormControls from 'sections/components/form-element/FormControls'; +import FormControlState from 'sections/components/form-element/FormControlState'; +import FormGrid from 'sections/components/form-element/FormGrid'; +import HorizontalForm from 'sections/components/form-element/HorizontalForm'; +import InlineForm from 'sections/components/form-element/InlineForm'; +import InputGroup from 'sections/components/form-element/InputGroup'; +import Picker from 'sections/components/form-element/Picker'; +import Sizing from 'sections/components/form-element/Sizing'; +import SupportedElements from 'sections/components/form-element/SupportedElements'; +import Tooltips from 'sections/components/form-element/Tooltips'; +import ValidationForm from 'sections/components/form-element/ValidationForm'; + +// =============================|| FORM ELEMENT - BASIC ||============================== // export default function FormBasic() { return ( - + @@ -33,7 +35,7 @@ export default function FormBasic() { - + diff --git a/src/views/maps/GoogleMap.jsx b/src/views/maps/GoogleMap.jsx index c070a1a..bf026e6 100644 --- a/src/views/maps/GoogleMap.jsx +++ b/src/views/maps/GoogleMap.jsx @@ -1,19 +1,10 @@ -// third-party -import { GoogleMap, LoadScript, Marker } from '@react-google-maps/api'; +// react bootstrap +import Col from 'react-bootstrap/Col'; +import Row from 'react-bootstrap/Row'; // project-imports -import MainCard from 'components/MainCard'; import ReferenceHeader from 'components/ReferenceHeader'; - -const containerStyle = { - width: '100%', - height: '400px' -}; - -const center = { - lat: 20.5937, - lng: 78.9629 -}; +import BasicGMap from 'sections/maps/google-maps/BasicMap'; // ===============================|| MAPS - GOOGLE MAP ||============================== // @@ -24,13 +15,11 @@ export default function GoogleMapPage() { caption="Converts an elements content into a svg mini pie donut line or bar chart and is compatible with any browser that supports svg" link="https://developers.google.com/maps/documentation/javascript/libraries" /> - - - - - - - + + + + + ); } diff --git a/src/views/navigation/dashboard/Default.jsx b/src/views/navigation/dashboard/Default.jsx index 621786f..b300047 100644 --- a/src/views/navigation/dashboard/Default.jsx +++ b/src/views/navigation/dashboard/Default.jsx @@ -3,9 +3,9 @@ import Col from 'react-bootstrap/Col'; import Row from 'react-bootstrap/Row'; // project-imports -import SalesPerformanceCard from 'components/cards/SalesPerformanceCard'; -import SocialStatsCard from 'components/cards/SocialStatsCard'; -import StatIndicatorCard from 'components/cards/StatIndicatorCard'; +import SalesPerformanceCard from 'components/cards/dashboard/SalesPerformanceCard'; +import SocialStatsCard from 'components/cards/dashboard/SocialStatsCard'; +import StatIndicatorCard from 'components/cards/dashboard/StatIndicatorCard'; import { UsersMap, EarningChart, RatingCard, RecentUsersCard } from 'sections/dashboard/default'; // ===============================|| SALES PERFORMANCE CARD - DATA ||============================== // diff --git a/vite.config.mjs b/vite.config.mjs index 47d7800..69069f9 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -1,12 +1,12 @@ -import { defineConfig, loadEnv } from 'vite'; -import react from '@vitejs/plugin-react'; -import jsconfigPaths from 'vite-jsconfig-paths'; +import { defineConfig, loadEnv } from "vite"; +import react from "@vitejs/plugin-react"; +import jsconfigPaths from "vite-jsconfig-paths"; -import path from 'path'; +import path from "path"; const resolvePath = (str) => path.resolve(__dirname, str); export default defineConfig(({ mode }) => { - const env = loadEnv(mode, process.cwd(), ''); + const env = loadEnv(mode, process.cwd(), ""); const API_URL = `${env.VITE_APP_BASE_NAME}`; const PORT = 3000; @@ -16,14 +16,14 @@ export default defineConfig(({ mode }) => { open: true, // this sets a default port to 3000 port: PORT, - host: true + host: true, }, preview: { open: true, - host: true + host: true, }, define: { - global: 'window' + global: "window", }, resolve: { alias: [ @@ -40,43 +40,48 @@ export default defineConfig(({ mode }) => { // find: 'assets', // replacement: path.join(process.cwd(), 'src/assets') // }, - ] + ], }, css: { preprocessorOptions: { scss: { - charset: false + charset: false, + verbose: true, + quietDeps: true, + silenceDeprecations: ['import'], }, less: { - charset: false - } + charset: false, + }, }, charset: false, postcss: { plugins: [ { - postcssPlugin: 'internal:charset-removal', + postcssPlugin: "internal:charset-removal", AtRule: { charset: (atRule) => { - if (atRule.name === 'charset') { + if (atRule.name === "charset") { atRule.remove(); } - } - } - } - ] - } + }, + }, + }, + ], + }, }, build: { chunkSizeWarningLimit: 1600, + sourcemap: true, + cssCodeSplit: true, rollupOptions: { input: { - main: resolvePath('index.html'), - legacy: resolvePath('index.html') - } - } + main: resolvePath("index.html"), + legacy: resolvePath("index.html"), + }, + }, }, base: API_URL, - plugins: [react(), jsconfigPaths()] + plugins: [react(), jsconfigPaths()], }; }); diff --git a/yarn.lock b/yarn.lock index 5713183..4c05620 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,16 +5,6 @@ __metadata: version: 8 cacheKey: 10c0 -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" @@ -27,45 +17,45 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.27.2": - version: 7.28.0 - resolution: "@babel/compat-data@npm:7.28.0" - checksum: 10c0/c4e527302bcd61052423f757355a71c3bc62362bac13f7f130de16e439716f66091ff5bdecda418e8fa0271d4c725f860f0ee23ab7bf6e769f7a8bb16dfcb531 + version: 7.28.5 + resolution: "@babel/compat-data@npm:7.28.5" + checksum: 10c0/702a25de73087b0eba325c1d10979eed7c9b6662677386ba7b5aa6eace0fc0676f78343bae080a0176ae26f58bd5535d73b9d0fbb547fef377692e8b249353a7 languageName: node linkType: hard -"@babel/core@npm:^7.26.0": - version: 7.28.0 - resolution: "@babel/core@npm:7.28.0" +"@babel/core@npm:^7.24.4, @babel/core@npm:^7.28.4": + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" dependencies: - "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.0" + "@babel/generator": "npm:^7.28.5" "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-module-transforms": "npm:^7.27.3" - "@babel/helpers": "npm:^7.27.6" - "@babel/parser": "npm:^7.28.0" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.5" "@babel/template": "npm:^7.27.2" - "@babel/traverse": "npm:^7.28.0" - "@babel/types": "npm:^7.28.0" + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/423302e7c721e73b1c096217880272e02020dfb697a55ccca60ad01bba90037015f84d0c20c6ce297cf33a19bb704bc5c2b3d3095f5284dfa592bd1de0b9e8c3 + checksum: 10c0/535f82238027621da6bdffbdbe896ebad3558b311d6f8abc680637a9859b96edbf929ab010757055381570b29cf66c4a295b5618318d27a4273c0e2033925e72 languageName: node linkType: hard -"@babel/generator@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/generator@npm:7.28.0" +"@babel/generator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" dependencies: - "@babel/parser": "npm:^7.28.0" - "@babel/types": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/1b3d122268ea3df50fde707ad864d9a55c72621357d5cebb972db3dd76859c45810c56e16ad23123f18f80cc2692f5a015d2858361300f0f224a05dc43d36a92 + checksum: 10c0/9f219fe1d5431b6919f1a5c60db8d5d34fe546c0d8f5a8511b32f847569234ffc8032beb9e7404649a143f54e15224ecb53a3d11b6bb85c3203e573d91fca752 languageName: node linkType: hard @@ -99,16 +89,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.27.3": - version: 7.27.3 - resolution: "@babel/helper-module-transforms@npm:7.27.3" +"@babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" dependencies: "@babel/helper-module-imports": "npm:^7.27.1" "@babel/helper-validator-identifier": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.3" + "@babel/traverse": "npm:^7.28.3" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/fccb4f512a13b4c069af51e1b56b20f54024bcf1591e31e978a30f3502567f34f90a80da6a19a6148c249216292a8074a0121f9e52602510ef0f32dbce95ca01 + checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb languageName: node linkType: hard @@ -126,10 +116,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-identifier@npm:7.27.1" - checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 +"@babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 languageName: node linkType: hard @@ -140,28 +130,28 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.27.6": - version: 7.27.6 - resolution: "@babel/helpers@npm:7.27.6" +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" dependencies: "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.27.6" - checksum: 10c0/448bac96ef8b0f21f2294a826df9de6bf4026fd023f8a6bb6c782fe3e61946801ca24381490b8e58d861fee75cd695a1882921afbf1f53b0275ee68c938bd6d3 + "@babel/types": "npm:^7.28.4" + checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/parser@npm:7.28.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" dependencies: - "@babel/types": "npm:^7.28.0" + "@babel/types": "npm:^7.28.5" bin: parser: ./bin/babel-parser.js - checksum: 10c0/c2ef81d598990fa949d1d388429df327420357cb5200271d0d0a2784f1e6d54afc8301eb8bdf96d8f6c77781e402da93c7dc07980fcc136ac5b9d5f1fce701b5 + checksum: 10c0/5bbe48bf2c79594ac02b490a41ffde7ef5aa22a9a88ad6bcc78432a6ba8a9d638d531d868bd1f104633f1f6bba9905746e15185b8276a3756c42b765d131b1ef languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.25.9": +"@babel/plugin-transform-react-jsx-self@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-react-jsx-self@npm:7.27.1" dependencies: @@ -172,7 +162,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.25.9": +"@babel/plugin-transform-react-jsx-source@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1" dependencies: @@ -184,9 +174,9 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.26.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.7": - version: 7.27.6 - resolution: "@babel/runtime@npm:7.27.6" - checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8 + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 languageName: node linkType: hard @@ -201,28 +191,28 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3, @babel/traverse@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/traverse@npm:7.28.0" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" dependencies: "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.0" + "@babel/generator": "npm:^7.28.5" "@babel/helper-globals": "npm:^7.28.0" - "@babel/parser": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.5" "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.0" + "@babel/types": "npm:^7.28.5" debug: "npm:^4.3.1" - checksum: 10c0/32794402457827ac558173bcebdcc0e3a18fa339b7c41ca35621f9f645f044534d91bb923ff385f5f960f2e495f56ce18d6c7b0d064d2f0ccb55b285fa6bc7b9 + checksum: 10c0/f6c4a595993ae2b73f2d4cd9c062f2e232174d293edd4abe1d715bd6281da8d99e47c65857e8d0917d9384c65972f4acdebc6749a7c40a8fcc38b3c7fb3e706f languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.6, @babel/types@npm:^7.28.0": - version: 7.28.0 - resolution: "@babel/types@npm:7.28.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" dependencies: "@babel/helper-string-parser": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - checksum: 10c0/7ca8521bf5e2d2ed4db31176efaaf94463a6b7a4d16dcc60e34e963b3596c2ecadb85457bebed13a9ee9a5829ef5f515d05b55a991b6a8f3b835451843482e39 + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/a5a483d2100befbf125793640dec26b90b95fd233a94c19573325898a5ce1e52cdfa96e495c7dcc31b5eca5b66ce3e6d4a0f5a4a62daec271455959f208ab08a languageName: node linkType: hard @@ -233,241 +223,259 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/aix-ppc64@npm:0.24.2" +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/android-arm64@npm:0.24.2" +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/android-arm@npm:0.24.2" +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/android-x64@npm:0.24.2" +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/darwin-arm64@npm:0.24.2" +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/darwin-x64@npm:0.24.2" +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/freebsd-arm64@npm:0.24.2" +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/freebsd-x64@npm:0.24.2" +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-arm64@npm:0.24.2" +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-arm@npm:0.24.2" +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-ia32@npm:0.24.2" +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-loong64@npm:0.24.2" +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-mips64el@npm:0.24.2" +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-ppc64@npm:0.24.2" +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-riscv64@npm:0.24.2" +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-s390x@npm:0.24.2" +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/linux-x64@npm:0.24.2" +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/netbsd-arm64@npm:0.24.2" +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/netbsd-x64@npm:0.24.2" +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/openbsd-arm64@npm:0.24.2" +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/openbsd-x64@npm:0.24.2" +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/sunos-x64@npm:0.24.2" +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/win32-arm64@npm:0.24.2" +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/win32-ia32@npm:0.24.2" +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.24.2": - version: 0.24.2 - resolution: "@esbuild/win32-x64@npm:0.24.2" +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.7.0 - resolution: "@eslint-community/eslint-utils@npm:4.7.0" +"@eslint-community/eslint-utils@npm:^4.8.0": + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/c0f4f2bd73b7b7a9de74b716a664873d08ab71ab439e51befe77d61915af41a81ecec93b408778b3a7856185244c34c2c8ee28912072ec14def84ba2dec70adf + checksum: 10c0/8881e22d519326e7dba85ea915ac7a143367c805e6ba1374c987aa2fbdd09195cc51183d2da72c0e2ff388f84363e1b220fd0d19bef10c272c63455162176817 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.12.1": - version: 4.12.1 - resolution: "@eslint-community/regexpp@npm:4.12.1" - checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + version: 4.12.2 + resolution: "@eslint-community/regexpp@npm:4.12.2" + checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d languageName: node linkType: hard -"@eslint/compat@npm:1.2.3": - version: 1.2.3 - resolution: "@eslint/compat@npm:1.2.3" +"@eslint/compat@npm:1.4.1": + version: 1.4.1 + resolution: "@eslint/compat@npm:1.4.1" + dependencies: + "@eslint/core": "npm:^0.17.0" peerDependencies: - eslint: ^9.10.0 + eslint: ^8.40 || 9 peerDependenciesMeta: eslint: optional: true - checksum: 10c0/b7439e62f73b9a05abea3b54ad8edc171e299171fc4673fc5a2c84d97a584bb9487a7f0bee397342f6574bd53597819a8abe52f1ca72184378cf387275b84e32 + checksum: 10c0/46f5ff884873c2e2366df55dd7b2d6b12f7f852bfba8e2a48dae4819cc5e58756deefa9b7f87f1b107af725ee883a05fcc02caf969b58fb142e790c6036a0450 languageName: node linkType: hard -"@eslint/config-array@npm:^0.19.0": - version: 0.19.2 - resolution: "@eslint/config-array@npm:0.19.2" +"@eslint/config-array@npm:^0.21.1": + version: 0.21.1 + resolution: "@eslint/config-array@npm:0.21.1" dependencies: - "@eslint/object-schema": "npm:^2.1.6" + "@eslint/object-schema": "npm:^2.1.7" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10c0/dd68da9abb32d336233ac4fe0db1e15a0a8d794b6e69abb9e57545d746a97f6f542496ff9db0d7e27fab1438546250d810d90b1904ac67677215b8d8e7573f3d + checksum: 10c0/2f657d4edd6ddcb920579b72e7a5b127865d4c3fb4dda24f11d5c4f445a93ca481aebdbd6bf3291c536f5d034458dbcbb298ee3b698bc6c9dd02900fe87eec3c languageName: node linkType: hard -"@eslint/core@npm:^0.13.0": - version: 0.13.0 - resolution: "@eslint/core@npm:0.13.0" +"@eslint/config-helpers@npm:^0.4.1": + version: 0.4.2 + resolution: "@eslint/config-helpers@npm:0.4.2" + dependencies: + "@eslint/core": "npm:^0.17.0" + checksum: 10c0/92efd7a527b2d17eb1a148409d71d80f9ac160b565ac73ee092252e8bf08ecd08670699f46b306b94f13d22e88ac88a612120e7847570dd7cdc72f234d50dcb4 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.16.0": + version: 0.16.0 + resolution: "@eslint/core@npm:0.16.0" dependencies: "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/ba724a7df7ed9dab387481f11d0d0f708180f40be93acce2c21dacca625c5867de3528760c42f1c457ccefe6a669d525ff87b779017eabc0d33479a36300797b + checksum: 10c0/f27496a244ccfdca3e0fbc3331f9da3f603bdf1aa431af0045a3205826789a54493bc619ad6311a9090eaf7bc25798ff4e265dea1eccd2df9ce3b454f7e7da27 languageName: node linkType: hard -"@eslint/core@npm:^0.9.0": - version: 0.9.1 - resolution: "@eslint/core@npm:0.9.1" +"@eslint/core@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/core@npm:0.17.0" dependencies: "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/638104b1b5833a9bbf2329f0c0ddf322e4d6c0410b149477e02cd2b78c04722be90c14b91b8ccdef0d63a2404dff72a17b6b412ce489ea429ae6a8fcb8abff28 + checksum: 10c0/9a580f2246633bc752298e7440dd942ec421860d1946d0801f0423830e67887e4aeba10ab9a23d281727a978eb93d053d1922a587d502942a713607f40ed704e languageName: node linkType: hard -"@eslint/eslintrc@npm:3.3.1, @eslint/eslintrc@npm:^3.2.0": +"@eslint/eslintrc@npm:3.3.1": version: 3.3.1 resolution: "@eslint/eslintrc@npm:3.3.1" dependencies: @@ -484,34 +492,51 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.15.0": - version: 9.15.0 - resolution: "@eslint/js@npm:9.15.0" - checksum: 10c0/56552966ab1aa95332f70d0e006db5746b511c5f8b5e0c6a9b2d6764ff6d964e0b2622731877cbc4e3f0e74c5b39191290d5f48147be19175292575130d499ab +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.3 + resolution: "@eslint/eslintrc@npm:3.3.3" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.1" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/532c7acc7ddd042724c28b1f020bd7bf148fcd4653bb44c8314168b5f772508c842ce4ee070299cac51c5c5757d2124bdcfcef5551c8c58ff9986e3e17f2260d + languageName: node + linkType: hard + +"@eslint/js@npm:9.38.0": + version: 9.38.0 + resolution: "@eslint/js@npm:9.38.0" + checksum: 10c0/b4a0d561ab93f0b1bc6a3f5e3f83764c9cccade59f2c54f1d718c1dcc71ac4d1be97bef7300cca641932d72e7555c79a7bf07e4e4ce1d0a1ddccc84d6440d2a6 languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.6": - version: 2.1.6 - resolution: "@eslint/object-schema@npm:2.1.6" - checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10c0/936b6e499853d1335803f556d526c86f5fe2259ed241bc665000e1d6353828edd913feed43120d150adb75570cae162cf000b5b0dfc9596726761c36b82f4e87 languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.3": - version: 0.2.8 - resolution: "@eslint/plugin-kit@npm:0.2.8" +"@eslint/plugin-kit@npm:^0.4.0": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" dependencies: - "@eslint/core": "npm:^0.13.0" + "@eslint/core": "npm:^0.17.0" levn: "npm:^0.4.1" - checksum: 10c0/554847c8f2b6bfe0e634f317fc43d0b54771eea0015c4f844f75915fdb9e6170c830c004291bad57db949d61771732e459f36ed059f45cf750af223f77357c5c + checksum: 10c0/51600f78b798f172a9915dffb295e2ffb44840d583427bc732baf12ecb963eb841b253300e657da91d890f4b323d10a1bd12934bf293e3018d8bb66fdce5217b languageName: node linkType: hard -"@fontsource/open-sans@npm:5.2.5": - version: 5.2.5 - resolution: "@fontsource/open-sans@npm:5.2.5" - checksum: 10c0/eeafa2a79a56dd6cb9191ed8896430e83fd2720284c4bf07a1ba2e111763f8d3900a1ecb649287740c1affdf9c05e817d31f96f1e1e1b10897820c7742fb1608 +"@fontsource/open-sans@npm:5.2.7": + version: 5.2.7 + resolution: "@fontsource/open-sans@npm:5.2.7" + checksum: 10c0/6f104ec67506992a58afc47d1820f895bd50462dfc69d12740bd0c7d68f60d513e6ddccff73c4b308239c92558b6587f7054d3243882eda6e5f7f7be3babd09a languageName: node linkType: hard @@ -540,12 +565,12 @@ __metadata: linkType: hard "@humanfs/node@npm:^0.16.6": - version: 0.16.6 - resolution: "@humanfs/node@npm:0.16.6" + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: "@humanfs/core": "npm:^0.19.1" - "@humanwhocodes/retry": "npm:^0.3.0" - checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10c0/9f83d3cf2cfa37383e01e3cdaead11cd426208e04c44adcdd291aa983aaf72d7d3598844d2fe9ce54896bb1bf8bd4b56883376611c8905a19c44684642823f30 languageName: node linkType: hard @@ -556,31 +581,26 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0": - version: 0.3.1 - resolution: "@humanwhocodes/retry@npm:0.3.1" - checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.1": +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": version: 0.4.3 resolution: "@humanwhocodes/retry@npm:0.4.3" checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 languageName: node linkType: hard -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10c0/7da011805b259ec5c955f01cee903da72ad97c5e6f01ca96197267d3f33103d5b2f8a1af192140f3aa64526c593c8d098ae366c2b11f7f17645d12387c2fd420 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10c0/b4d4812f4be53afc2c5b6c545001ff7a4659af68d4484804e9d514e183d20269bb81def8682c01a22b17c4d6aed14292c8494f7d2ac664e547101c1a905aa977 languageName: node linkType: hard @@ -594,12 +614,22 @@ __metadata: linkType: hard "@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.12 - resolution: "@jridgewell/gen-mapping@npm:0.3.12" + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: "@jridgewell/sourcemap-codec": "npm:^1.5.0" "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/32f771ae2467e4d440be609581f7338d786d3d621bac3469e943b9d6d116c23c4becb36f84898a92bbf2f3c0511365c54a945a3b86a83141547a2a360a5ec0c7 + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 languageName: node linkType: hard @@ -611,55 +641,192 @@ __metadata: linkType: hard "@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": - version: 1.5.4 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.4" - checksum: 10c0/c5aab3e6362a8dd94ad80ab90845730c825fc4c8d9cf07ebca7a2eb8a832d155d62558800fc41d42785f989ddbb21db6df004d1786e8ecb65e428ab8dff71309 + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 languageName: node linkType: hard "@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": - version: 0.3.29 - resolution: "@jridgewell/trace-mapping@npm:0.3.29" + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/fb547ba31658c4d74eb17e7389f4908bf7c44cef47acb4c5baa57289daf68e6fe53c639f41f751b3923aca67010501264f70e7b49978ad1f040294b22c37b333 + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 languageName: node linkType: hard -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" +"@npmcli/agent@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/agent@npm:4.0.0" dependencies: agent-base: "npm:^7.1.0" http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" + lru-cache: "npm:^11.2.1" socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + checksum: 10c0/f7b5ce0f3dd42c3f8c6546e8433573d8049f67ef11ec22aa4704bc41483122f68bf97752e06302c455ead667af5cb753e6a09bff06632bc465c1cfd4c4b75a53 languageName: node linkType: hard -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" +"@npmcli/fs@npm:^5.0.0": + version: 5.0.0 + resolution: "@npmcli/fs@npm:5.0.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + checksum: 10c0/26e376d780f60ff16e874a0ac9bc3399186846baae0b6e1352286385ac134d900cc5dafaded77f38d77f86898fc923ae1cee9d7399f0275b1aa24878915d722b languageName: node linkType: hard -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd +"@parcel/watcher-android-arm64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-android-arm64@npm:2.5.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.2 - resolution: "@pkgr/core@npm:0.1.2" - checksum: 10c0/fd4acc154c8f1b5c544b6dd152b7ce68f6cbb8b92e9abf2e5d756d6e95052d08d0d693a668dea67af1386d62635b50adfe463cce03c5620402b468498cc7592f +"@parcel/watcher-darwin-arm64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-darwin-arm64@npm:2.5.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-darwin-x64@npm:2.5.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-freebsd-x64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-freebsd-x64@npm:2.5.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-musl@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-win32-arm64@npm:2.5.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-win32-ia32@npm:2.5.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.5.1": + version: 2.5.1 + resolution: "@parcel/watcher-win32-x64@npm:2.5.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.4.1": + version: 2.5.1 + resolution: "@parcel/watcher@npm:2.5.1" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.5.1" + "@parcel/watcher-darwin-arm64": "npm:2.5.1" + "@parcel/watcher-darwin-x64": "npm:2.5.1" + "@parcel/watcher-freebsd-x64": "npm:2.5.1" + "@parcel/watcher-linux-arm-glibc": "npm:2.5.1" + "@parcel/watcher-linux-arm-musl": "npm:2.5.1" + "@parcel/watcher-linux-arm64-glibc": "npm:2.5.1" + "@parcel/watcher-linux-arm64-musl": "npm:2.5.1" + "@parcel/watcher-linux-x64-glibc": "npm:2.5.1" + "@parcel/watcher-linux-x64-musl": "npm:2.5.1" + "@parcel/watcher-win32-arm64": "npm:2.5.1" + "@parcel/watcher-win32-ia32": "npm:2.5.1" + "@parcel/watcher-win32-x64": "npm:2.5.1" + detect-libc: "npm:^1.0.3" + is-glob: "npm:^4.0.3" + micromatch: "npm:^4.0.5" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm-musl": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 10c0/8f35073d0c0b34a63d4c8d2213482f0ebc6a25de7b2cdd415d19cb929964a793cb285b68d1d50bfb732b070b3c82a2fdb4eb9c250eab709a1cd9d63345455a82 + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.2.9": + version: 0.2.9 + resolution: "@pkgr/core@npm:0.2.9" + checksum: 10c0/ac8e4e8138b1a7a4ac6282873aef7389c352f1f8b577b4850778f5182e4a39a5241facbe48361fec817f56d02b51691b383010843fb08b34a8e8ea3614688fd5 languageName: node linkType: hard @@ -671,19 +838,19 @@ __metadata: linkType: hard "@react-aria/ssr@npm:^3.5.0": - version: 3.9.9 - resolution: "@react-aria/ssr@npm:3.9.9" + version: 3.9.10 + resolution: "@react-aria/ssr@npm:3.9.10" dependencies: "@swc/helpers": "npm:^0.5.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - checksum: 10c0/3d198aefe4eefe2b38652b749c04138558d01cdf78f8224216231265783d9297099488f2d791c20e3b764b4e9bc37ba1dc9bc3397a6fff9c9b41bfb25ec0a619 + checksum: 10c0/44acb4c441d9c5d65aab94aa81fd8368413cf2958ab458582296dd78f6ba4783583f2311fa986120060e5c26b54b1f01e8910ffd17e4f41ccc5fc8c357d84089 languageName: node linkType: hard -"@react-google-maps/api@npm:2.20.5": - version: 2.20.5 - resolution: "@react-google-maps/api@npm:2.20.5" +"@react-google-maps/api@npm:2.20.7": + version: 2.20.7 + resolution: "@react-google-maps/api@npm:2.20.7" dependencies: "@googlemaps/js-api-loader": "npm:1.16.8" "@googlemaps/markerclusterer": "npm:2.5.3" @@ -694,7 +861,7 @@ __metadata: peerDependencies: react: ^16.8 || ^17 || ^18 || ^19 react-dom: ^16.8 || ^17 || ^18 || ^19 - checksum: 10c0/49c91de389c56c768159b985145305101deaae5aa30506f23c7cbaf6531fdaccfcaff955f2f2883b13a148607979e23e77148a89185585f5f8b516cece04005a + checksum: 10c0/178397afa8a1b9d2d7f9bbc1e51262931e2bc0ba61602ac272c6e574aaef5faa1b1d1cb9670ee4b549a5b5d98ffdabc5124bd936a0ec52add18910ec20b42817 languageName: node linkType: hard @@ -734,7 +901,7 @@ __metadata: languageName: node linkType: hard -"@restart/ui@npm:^1.9.0": +"@restart/ui@npm:^1.9.4": version: 1.9.4 resolution: "@restart/ui@npm:1.9.4" dependencies: @@ -754,142 +921,163 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.44.1" +"@rolldown/pluginutils@npm:1.0.0-beta.43": + version: 1.0.0-beta.43 + resolution: "@rolldown/pluginutils@npm:1.0.0-beta.43" + checksum: 10c0/1c17a0b16c277a0fdbab080fd22ef91e37c1f0d710ecfdacb6a080068062eb14ff030d0e9d2ec2325a1d4246dba0c49625755c82c0090f6cbf98d16e80183e02 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.53.3" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-android-arm64@npm:4.44.1" +"@rollup/rollup-android-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-android-arm64@npm:4.53.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-darwin-arm64@npm:4.44.1" +"@rollup/rollup-darwin-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-darwin-arm64@npm:4.53.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-darwin-x64@npm:4.44.1" +"@rollup/rollup-darwin-x64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-darwin-x64@npm:4.53.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.44.1" +"@rollup/rollup-freebsd-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.53.3" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-freebsd-x64@npm:4.44.1" +"@rollup/rollup-freebsd-x64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-freebsd-x64@npm:4.53.3" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.44.1" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.53.3" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.44.1" +"@rollup/rollup-linux-arm-musleabihf@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.53.3" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.44.1" +"@rollup/rollup-linux-arm64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.53.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.44.1" +"@rollup/rollup-linux-arm64-musl@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.53.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.44.1" +"@rollup/rollup-linux-loong64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.53.3" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.44.1" +"@rollup/rollup-linux-ppc64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.53.3" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.44.1" +"@rollup/rollup-linux-riscv64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.53.3" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.44.1" +"@rollup/rollup-linux-riscv64-musl@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.53.3" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.44.1" +"@rollup/rollup-linux-s390x-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.53.3" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.44.1" +"@rollup/rollup-linux-x64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.53.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.44.1" +"@rollup/rollup-linux-x64-musl@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.53.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.44.1" +"@rollup/rollup-openharmony-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.53.3" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.53.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.44.1" +"@rollup/rollup-win32-ia32-msvc@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.53.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.44.1": - version: 4.44.1 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.44.1" +"@rollup/rollup-win32-x64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.53.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.53.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -913,9 +1101,9 @@ __metadata: linkType: hard "@svgdotjs/svg.js@npm:^3.2.4": - version: 3.2.4 - resolution: "@svgdotjs/svg.js@npm:3.2.4" - checksum: 10c0/35563560998def7fd9b35c434214428f122d1fc11a5d6975fbc9b3c92b3e86700daba74f9106d7abd5dc979eb26c6e6429be71236dd226bc0f2d92e880e8fe2c + version: 3.2.5 + resolution: "@svgdotjs/svg.js@npm:3.2.5" + checksum: 10c0/c0b3b801166a3a99a6a451ccbb1230f47b6e1533697a36c3d366d6a828bffd076fa318e75a6165912f58687dc796492ce1138e350b61da7270d96d4d034cd044 languageName: node linkType: hard @@ -980,18 +1168,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*": - version: 7.20.7 - resolution: "@types/babel__traverse@npm:7.20.7" + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10c0/5386f0af44f8746b063b87418f06129a814e16bb2686965a575e9d7376b360b088b89177778d8c426012abc43dd1a2d8ec3218bfc382280c898682746ce2ffbd - languageName: node - linkType: hard - -"@types/cookie@npm:^0.6.0": - version: 0.6.0 - resolution: "@types/cookie@npm:0.6.0" - checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149 + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 languageName: node linkType: hard @@ -1010,12 +1191,13 @@ __metadata: linkType: hard "@types/hoist-non-react-statics@npm:^3.3.1": - version: 3.3.6 - resolution: "@types/hoist-non-react-statics@npm:3.3.6" + version: 3.3.7 + resolution: "@types/hoist-non-react-statics@npm:3.3.7" dependencies: - "@types/react": "npm:*" hoist-non-react-statics: "npm:^3.3.0" - checksum: 10c0/149a4c217d81f21f8a1e152160a59d5b99b6a9aa6d354385d5f5bc02760cbf1e170a8442ba92eb653befff44b0c5bc2234bb77ce33e0d11a65f779e8bab5c321 + peerDependencies: + "@types/react": "*" + checksum: 10c0/ed8f4e88338f7d021d0f956adf6089d2a12b2e254a03c05292324f2e986d2376eb9efdb8a4f04596823e8fca88c9d06361d20dab4a2a00dc935fb36ac911de55 languageName: node linkType: hard @@ -1033,6 +1215,13 @@ __metadata: languageName: node linkType: hard +"@types/prop-types@npm:^15.7.12": + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 10c0/b59aad1ad19bf1733cf524fd4e618196c6c7690f48ee70a327eb450a42aab8e8a063fbe59ca0a5701aebe2d92d582292c0fb845ea57474f6a15f6994b0e260b2 + languageName: node + linkType: hard + "@types/react-transition-group@npm:^4.4.6": version: 4.4.12 resolution: "@types/react-transition-group@npm:4.4.12" @@ -1042,12 +1231,12 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:>=16.9.11": - version: 19.1.8 - resolution: "@types/react@npm:19.1.8" +"@types/react@npm:>=16.9.11": + version: 19.2.7 + resolution: "@types/react@npm:19.2.7" dependencies: - csstype: "npm:^3.0.2" - checksum: 10c0/4908772be6dc941df276931efeb0e781777fa76e4d5d12ff9f75eb2dcc2db3065e0100efde16fde562c5bafa310cc8f50c1ee40a22640459e066e72cd342143e + csstype: "npm:^3.2.2" + checksum: 10c0/a7b75f1f9fcb34badd6f84098be5e35a0aeca614bc91f93d2698664c0b2ba5ad128422bd470ada598238cebe4f9e604a752aead7dc6f5a92261d0c7f9b27cfd1 languageName: node linkType: hard @@ -1058,18 +1247,19 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-react@npm:4.3.4": - version: 4.3.4 - resolution: "@vitejs/plugin-react@npm:4.3.4" +"@vitejs/plugin-react@npm:5.1.0": + version: 5.1.0 + resolution: "@vitejs/plugin-react@npm:5.1.0" dependencies: - "@babel/core": "npm:^7.26.0" - "@babel/plugin-transform-react-jsx-self": "npm:^7.25.9" - "@babel/plugin-transform-react-jsx-source": "npm:^7.25.9" + "@babel/core": "npm:^7.28.4" + "@babel/plugin-transform-react-jsx-self": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-source": "npm:^7.27.1" + "@rolldown/pluginutils": "npm:1.0.0-beta.43" "@types/babel__core": "npm:^7.20.5" - react-refresh: "npm:^0.14.2" + react-refresh: "npm:^0.18.0" peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 - checksum: 10c0/38a47a1dbafae0b97142943d83ee3674cb3331153a60b1a3fd29d230c12c9dfe63b7c345b231a3450168ed8a9375a9a1a253c3d85e9efdc19478c0d56b98496c + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10c0/e192a12e2b854df109eafb1d06c0bc848e8e2b162c686aa6b999b1048658983e72674b2068ccc37562fcce44d32ad92b65f3a4e1897a0cb7859c2ee69cc63eac languageName: node linkType: hard @@ -1080,10 +1270,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 languageName: node linkType: hard @@ -1106,9 +1296,9 @@ __metadata: linkType: hard "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe languageName: node linkType: hard @@ -1124,21 +1314,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1147,13 +1323,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - "any-promise@npm:^1.0.0": version: 1.3.0 resolution: "any-promise@npm:1.3.0" @@ -1161,19 +1330,9 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"apexcharts@npm:4.5.0": - version: 4.5.0 - resolution: "apexcharts@npm:4.5.0" +"apexcharts@npm:5.3.5": + version: 5.3.5 + resolution: "apexcharts@npm:5.3.5" dependencies: "@svgdotjs/svg.draggable.js": "npm:^3.0.4" "@svgdotjs/svg.filter.js": "npm:^3.0.8" @@ -1181,7 +1340,7 @@ __metadata: "@svgdotjs/svg.resize.js": "npm:^2.0.2" "@svgdotjs/svg.select.js": "npm:^4.0.1" "@yr/monotone-cubic-spline": "npm:^1.0.3" - checksum: 10c0/284e8ef367ee21055358db3705648a86e0922ae55237c6e9e6bddaf8e3012b2d7414b56be9c0267f19c7bd69b500ef7e0eefc80780661976cc4c5d7a9157f68d + checksum: 10c0/d5179be2f43f31ba5f0d9da6d190c0b5033905a9ff41c5e9b1d1911992497b61a31efa66d4120340c4a10c7e4693558775d964d1ef4d9afa8bb53196e4383720 languageName: node linkType: hard @@ -1305,10 +1464,10 @@ __metadata: languageName: node linkType: hard -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 languageName: node linkType: hard @@ -1322,20 +1481,9 @@ __metadata: linkType: hard "axe-core@npm:^4.10.0": - version: 4.10.3 - resolution: "axe-core@npm:4.10.3" - checksum: 10c0/1b1c24f435b2ffe89d76eca0001cbfff42dbf012ad9bd37398b70b11f0d614281a38a28bc3069e8972e3c90ec929a8937994bd24b0ebcbaab87b8d1e241ab0c7 - languageName: node - linkType: hard - -"axios@npm:1.7.9": - version: 1.7.9 - resolution: "axios@npm:1.7.9" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/b7a41e24b59fee5f0f26c1fc844b45b17442832eb3a0fb42dd4f1430eb4abc571fe168e67913e8a1d91c993232bd1d1ab03e20e4d1fee8c6147649b576fc1b0b + version: 4.11.0 + resolution: "axe-core@npm:4.11.0" + checksum: 10c0/7d7020a568a824c303711858c2fcfe56d001d27e46c0c2ff75dc31b436cfddfd4857a301e70536cc9e64829d25338f7fb782102d23497ebdc66801e9900fc895 languageName: node linkType: hard @@ -1353,19 +1501,21 @@ __metadata: languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 +"baseline-browser-mapping@npm:^2.9.0": + version: 2.9.7 + resolution: "baseline-browser-mapping@npm:2.9.7" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10c0/500af82926d71d23fab20bcf821eb27deeaad45d1a01bd33d2dea7aab6114149068fa0d42bb9c5c18657e996b6e8063b84612c8fb8ac8ba6c6c6028fa4930ed1 languageName: node linkType: hard -"bootstrap@npm:5.3.3": - version: 5.3.3 - resolution: "bootstrap@npm:5.3.3" +"bootstrap@npm:5.3.8": + version: 5.3.8 + resolution: "bootstrap@npm:5.3.8" peerDependencies: "@popperjs/core": ^2.11.8 - checksum: 10c0/bb68ca7b763977b9cce40cb5b8c676ae19a716d2f5d15009fa7bdbcec9dea426968e3cb748fbed7592fbf10edd7c749aea841c2920996a7c1aa5e0a6e2d4c2ad + checksum: 10c0/0039a9df2c3e7bfa04f1abca199c299ff3b75869d578c0cb1721c6f1f203c91531788a5631ecbee01513481979314d0e4ba0d90c2011e6ce18fc2e0bc93e18d9 languageName: node linkType: hard @@ -1379,16 +1529,7 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^2.0.1": - version: 2.0.2 - resolution: "brace-expansion@npm:2.0.2" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf - languageName: node - linkType: hard - -"braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -1398,36 +1539,36 @@ __metadata: linkType: hard "browserslist@npm:^4.24.0": - version: 4.25.1 - resolution: "browserslist@npm:4.25.1" - dependencies: - caniuse-lite: "npm:^1.0.30001726" - electron-to-chromium: "npm:^1.5.173" - node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.3" + version: 4.28.1 + resolution: "browserslist@npm:4.28.1" + dependencies: + baseline-browser-mapping: "npm:^2.9.0" + caniuse-lite: "npm:^1.0.30001759" + electron-to-chromium: "npm:^1.5.263" + node-releases: "npm:^2.0.27" + update-browserslist-db: "npm:^1.2.0" bin: browserslist: cli.js - checksum: 10c0/acba5f0bdbd5e72dafae1e6ec79235b7bad305ed104e082ed07c34c38c7cb8ea1bc0f6be1496958c40482e40166084458fc3aee15111f15faa79212ad9081b2a + checksum: 10c0/545a5fa9d7234e3777a7177ec1e9134bb2ba60a69e6b95683f6982b1473aad347c77c1264ccf2ac5dea609a9731fbfbda6b85782bdca70f80f86e28a402504bd languageName: node linkType: hard -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" +"cacache@npm:^20.0.1": + version: 20.0.3 + resolution: "cacache@npm:20.0.3" dependencies: - "@npmcli/fs": "npm:^4.0.0" + "@npmcli/fs": "npm:^5.0.0" fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" + glob: "npm:^13.0.0" + lru-cache: "npm:^11.1.0" minipass: "npm:^7.0.3" minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + ssri: "npm:^13.0.0" + unique-filename: "npm:^5.0.0" + checksum: 10c0/c7da1ca694d20e8f8aedabd21dc11518f809a7d2b59aa76a1fc655db5a9e62379e465c157ddd2afe34b19230808882288effa6911b2de26a088a6d5645123462 languageName: node linkType: hard @@ -1470,10 +1611,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001726": - version: 1.0.30001726 - resolution: "caniuse-lite@npm:1.0.30001726" - checksum: 10c0/2c5f91da7fd9ebf8c6b432818b1498ea28aca8de22b30dafabe2a2a6da1e014f10e67e14f8e68e872a0867b6b4cd6001558dde04e3ab9770c9252ca5c8849d0e +"caniuse-lite@npm:^1.0.30001759": + version: 1.0.30001760 + resolution: "caniuse-lite@npm:1.0.30001760" + checksum: 10c0/cee26dff5c5b15ba073ab230200e43c0d4e88dc3bac0afe0c9ab963df70aaa876c3e513dde42a027f317136bf6e274818d77b073708b74c5807dfad33c029d3c languageName: node linkType: hard @@ -1487,29 +1628,19 @@ __metadata: languageName: node linkType: hard -"chance@npm:1.1.12": - version: 1.1.12 - resolution: "chance@npm:1.1.12" - checksum: 10c0/96686a72df9077852993476dc4a16ec7afb797bb26d74caf4a5c6f6786d73fcd3c821ededb88b23a5c7b8762718b5cc43ce07fdd1ea3f508826ba88b57c36329 +"chance@npm:1.1.13": + version: 1.1.13 + resolution: "chance@npm:1.1.13" + checksum: 10c0/0e1523b0ef75061df5771c052e8bf8d5fb7d92e56a58e98e170e4be5f2166cceac2f70dd209e49e0605ea2e376ba99fb5e391987e8610c7037cd2fce19c35e3e languageName: node linkType: hard -"chokidar@npm:>=3.0.0 <4.0.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad languageName: node linkType: hard @@ -1543,15 +1674,6 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -1574,13 +1696,13 @@ __metadata: linkType: hard "cookie@npm:^1.0.1": - version: 1.0.2 - resolution: "cookie@npm:1.0.2" - checksum: 10c0/fd25fe79e8fbcfcaf6aa61cd081c55d144eeeba755206c058682257cb38c4bd6795c6620de3f064c740695bb65b7949ebb1db7a95e4636efb8357a335ad3f54b + version: 1.1.1 + resolution: "cookie@npm:1.1.1" + checksum: 10c0/79c4ddc0fcad9c4f045f826f42edf54bcc921a29586a4558b0898277fa89fb47be95bc384c2253f493af7b29500c830da28341274527328f18eba9f58afa112c languageName: node linkType: hard -"cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -1591,10 +1713,10 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 +"csstype@npm:^3.0.2, csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce languageName: node linkType: hard @@ -1642,50 +1764,49 @@ __metadata: version: 0.0.0-use.local resolution: "datta-able-free-react-admin-templete@workspace:." dependencies: - "@eslint/compat": "npm:1.2.3" + "@eslint/compat": "npm:1.4.1" "@eslint/eslintrc": "npm:3.3.1" - "@eslint/js": "npm:9.15.0" - "@fontsource/open-sans": "npm:5.2.5" - "@react-google-maps/api": "npm:2.20.5" - "@vitejs/plugin-react": "npm:4.3.4" - apexcharts: "npm:4.5.0" - axios: "npm:1.7.9" - bootstrap: "npm:5.3.3" - chance: "npm:1.1.12" - eslint: "npm:9.15.0" - eslint-config-prettier: "npm:9.1.0" + "@eslint/js": "npm:9.38.0" + "@fontsource/open-sans": "npm:5.2.7" + "@react-google-maps/api": "npm:2.20.7" + "@vitejs/plugin-react": "npm:5.1.0" + apexcharts: "npm:5.3.5" + bootstrap: "npm:5.3.8" + chance: "npm:1.1.13" + eslint: "npm:9.38.0" + eslint-config-prettier: "npm:10.1.8" eslint-plugin-jsx-a11y: "npm:6.10.2" - eslint-plugin-prettier: "npm:5.2.1" + eslint-plugin-prettier: "npm:5.5.4" eslint-plugin-react: "npm:7.37.5" - eslint-plugin-react-hooks: "npm:5.0.0" + eslint-plugin-react-hooks: "npm:7.0.1" formik: "npm:2.4.6" - jsvectormap: "npm:1.6.0" - prettier: "npm:3.4.1" - react: "npm:18.2.0" - react-apexcharts: "npm:1.7.0" - react-bootstrap: "npm:2.10.6" + jsvectormap: "npm:1.7.0" + prettier: "npm:3.6.2" + react: "npm:19.2.0" + react-apexcharts: "npm:1.8.0" + react-bootstrap: "npm:2.10.10" react-device-detect: "npm:2.2.3" - react-dom: "npm:18.2.0" - react-hook-form: "npm:7.54.2" - react-router-dom: "npm:7.0.2" - sass: "npm:1.77.6" - simplebar-react: "npm:3.3.0" - swr: "npm:2.3.2" - vite: "npm:6.0.2" + react-dom: "npm:19.2.0" + react-hook-form: "npm:7.65.0" + react-router-dom: "npm:7.9.5" + sass: "npm:1.93.2" + simplebar-react: "npm:3.3.2" + swr: "npm:2.3.6" + vite: "npm:7.1.12" vite-jsconfig-paths: "npm:2.0.1" - yup: "npm:1.6.1" + yup: "npm:1.7.1" languageName: unknown linkType: soft "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.4.1 - resolution: "debug@npm:4.4.1" + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 languageName: node linkType: hard @@ -1725,13 +1846,6 @@ __metadata: languageName: node linkType: hard -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - "dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" @@ -1739,6 +1853,15 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^1.0.3": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -1769,24 +1892,10 @@ __metadata: languageName: node linkType: hard -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.173": - version: 1.5.179 - resolution: "electron-to-chromium@npm:1.5.179" - checksum: 10c0/500a27e152a1033540f44cd4ebe4bcd8df0b466e83de95f812e65a3066adc61540c2d43f315848db5fdf8402eb383933642d10d912809f70a8e266e3e720c2e2 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 +"electron-to-chromium@npm:^1.5.263": + version: 1.5.267 + resolution: "electron-to-chromium@npm:1.5.267" + checksum: 10c0/0732bdb891b657f2e43266a3db8cf86fff6cecdcc8d693a92beff214e136cb5c2ee7dc5945ed75fa1db16e16bad0c38695527a020d15f39e79084e0b2e447621 languageName: node linkType: hard @@ -1820,9 +1929,9 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": - version: 1.24.0 - resolution: "es-abstract@npm:1.24.0" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0, es-abstract@npm:^1.24.1": + version: 1.24.1 + resolution: "es-abstract@npm:1.24.1" dependencies: array-buffer-byte-length: "npm:^1.0.2" arraybuffer.prototype.slice: "npm:^1.0.4" @@ -1878,7 +1987,7 @@ __metadata: typed-array-length: "npm:^1.0.7" unbox-primitive: "npm:^1.1.0" which-typed-array: "npm:^1.1.19" - checksum: 10c0/b256e897be32df5d382786ce8cce29a1dd8c97efbab77a26609bd70f2ed29fbcfc7a31758cb07488d532e7ccccdfca76c1118f2afe5a424cdc05ca007867c318 + checksum: 10c0/fca062ef8b5daacf743732167d319a212d45cb655b0bb540821d38d715416ae15b04b84fc86da9e2c89135aa7b337337b6c867f84dcde698d75d55688d5d765c languageName: node linkType: hard @@ -1897,26 +2006,26 @@ __metadata: linkType: hard "es-iterator-helpers@npm:^1.2.1": - version: 1.2.1 - resolution: "es-iterator-helpers@npm:1.2.1" + version: 1.2.2 + resolution: "es-iterator-helpers@npm:1.2.2" dependencies: call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" + call-bound: "npm:^1.0.4" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.6" + es-abstract: "npm:^1.24.1" es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.3" + es-set-tostringtag: "npm:^2.1.0" function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.6" + get-intrinsic: "npm:^1.3.0" globalthis: "npm:^1.0.4" gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" has-proto: "npm:^1.2.0" has-symbols: "npm:^1.1.0" internal-slot: "npm:^1.1.0" - iterator.prototype: "npm:^1.1.4" + iterator.prototype: "npm:^1.1.5" safe-array-concat: "npm:^1.1.3" - checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f + checksum: 10c0/1ced8abf845a45e660dd77b5f3a64358421df70e4a0bd1897d5ddfefffed8409a6a2ca21241b9367e639df9eca74abc1c678b3020bffe6bee1f1826393658ddb languageName: node linkType: hard @@ -1929,7 +2038,7 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": +"es-set-tostringtag@npm:^2.1.0": version: 2.1.0 resolution: "es-set-tostringtag@npm:2.1.0" dependencies: @@ -1961,35 +2070,36 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.24.0": - version: 0.24.2 - resolution: "esbuild@npm:0.24.2" - dependencies: - "@esbuild/aix-ppc64": "npm:0.24.2" - "@esbuild/android-arm": "npm:0.24.2" - "@esbuild/android-arm64": "npm:0.24.2" - "@esbuild/android-x64": "npm:0.24.2" - "@esbuild/darwin-arm64": "npm:0.24.2" - "@esbuild/darwin-x64": "npm:0.24.2" - "@esbuild/freebsd-arm64": "npm:0.24.2" - "@esbuild/freebsd-x64": "npm:0.24.2" - "@esbuild/linux-arm": "npm:0.24.2" - "@esbuild/linux-arm64": "npm:0.24.2" - "@esbuild/linux-ia32": "npm:0.24.2" - "@esbuild/linux-loong64": "npm:0.24.2" - "@esbuild/linux-mips64el": "npm:0.24.2" - "@esbuild/linux-ppc64": "npm:0.24.2" - "@esbuild/linux-riscv64": "npm:0.24.2" - "@esbuild/linux-s390x": "npm:0.24.2" - "@esbuild/linux-x64": "npm:0.24.2" - "@esbuild/netbsd-arm64": "npm:0.24.2" - "@esbuild/netbsd-x64": "npm:0.24.2" - "@esbuild/openbsd-arm64": "npm:0.24.2" - "@esbuild/openbsd-x64": "npm:0.24.2" - "@esbuild/sunos-x64": "npm:0.24.2" - "@esbuild/win32-arm64": "npm:0.24.2" - "@esbuild/win32-ia32": "npm:0.24.2" - "@esbuild/win32-x64": "npm:0.24.2" +"esbuild@npm:^0.25.0": + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -2033,6 +2143,8 @@ __metadata: optional: true "@esbuild/openbsd-x64": optional: true + "@esbuild/openharmony-arm64": + optional: true "@esbuild/sunos-x64": optional: true "@esbuild/win32-arm64": @@ -2043,7 +2155,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/5a25bb08b6ba23db6e66851828d848bd3ff87c005a48c02d83e38879058929878a6baa5a414e1141faee0d1dece3f32b5fbc2a87b82ed6a7aa857cf40359aeb5 + checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b languageName: node linkType: hard @@ -2061,14 +2173,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" +"eslint-config-prettier@npm:10.1.8": + version: 10.1.8 + resolution: "eslint-config-prettier@npm:10.1.8" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682 languageName: node linkType: hard @@ -2097,32 +2209,38 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:5.2.1": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" +"eslint-plugin-prettier@npm:5.5.4": + version: 5.5.4 + resolution: "eslint-plugin-prettier@npm:5.5.4" dependencies: prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.9.1" + synckit: "npm:^0.11.7" peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" - eslint-config-prettier: "*" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" prettier: ">=3.0.0" peerDependenciesMeta: "@types/eslint": optional: true eslint-config-prettier: optional: true - checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2 + checksum: 10c0/5cc780e0ab002f838ad8057409e86de4ff8281aa2704a50fa8511abff87028060c2e45741bc9cbcbd498712e8d189de8026e70aed9e20e50fe5ba534ee5a8442 languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:5.0.0": - version: 5.0.0 - resolution: "eslint-plugin-react-hooks@npm:5.0.0" +"eslint-plugin-react-hooks@npm:7.0.1": + version: 7.0.1 + resolution: "eslint-plugin-react-hooks@npm:7.0.1" + dependencies: + "@babel/core": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + hermes-parser: "npm:^0.25.1" + zod: "npm:^3.25.0 || ^4.0.0" + zod-validation-error: "npm:^3.5.0 || ^4.0.0" peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - checksum: 10c0/bcb74b421f32e4203a7100405b57aab85526be4461e5a1da01bc537969a30012d2ee209a2c2a6cac543833a27188ce1e6ad71e4628d0bb4a2e5365cad86c5002 + checksum: 10c0/1e711d1a9d1fa9cfc51fa1572500656577201199c70c795c6a27adfc1df39e5c598f69aab6aa91117753d23cc1f11388579a2bed14921cf9a4efe60ae8618496 languageName: node linkType: hard @@ -2154,7 +2272,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.2.0": +"eslint-scope@npm:^8.4.0": version: 8.4.0 resolution: "eslint-scope@npm:8.4.0" dependencies: @@ -2171,37 +2289,37 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.2.0, eslint-visitor-keys@npm:^4.2.1": +"eslint-visitor-keys@npm:^4.2.1": version: 4.2.1 resolution: "eslint-visitor-keys@npm:4.2.1" checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43 languageName: node linkType: hard -"eslint@npm:9.15.0": - version: 9.15.0 - resolution: "eslint@npm:9.15.0" +"eslint@npm:9.38.0": + version: 9.38.0 + resolution: "eslint@npm:9.38.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.19.0" - "@eslint/core": "npm:^0.9.0" - "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:9.15.0" - "@eslint/plugin-kit": "npm:^0.2.3" + "@eslint/config-array": "npm:^0.21.1" + "@eslint/config-helpers": "npm:^0.4.1" + "@eslint/core": "npm:^0.16.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.38.0" + "@eslint/plugin-kit": "npm:^0.4.0" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.1" + "@humanwhocodes/retry": "npm:^0.4.2" "@types/estree": "npm:^1.0.6" - "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.5" + cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.2.0" - eslint-visitor-keys: "npm:^4.2.0" - espree: "npm:^10.3.0" + eslint-scope: "npm:^8.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" @@ -2223,11 +2341,11 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/d0d7606f36bfcccb1c3703d0a24df32067b207a616f17efe5fb1765a91d13f085afffc4fc97ecde4ab9c9f4edd64d9b4ce750e13ff7937a25074b24bee15b20f + checksum: 10c0/51b0978dce04233580263fd4b5c4f128ecffdcde44fbddfedb5bced48a60d4fc619f5ae91800a1461a78a860b14c77a5081b0b2cf628b705580b70126a11e14b languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.3.0": +"espree@npm:^10.0.1, espree@npm:^10.4.0": version: 10.4.0 resolution: "espree@npm:10.4.0" dependencies: @@ -2271,9 +2389,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 languageName: node linkType: hard @@ -2305,15 +2423,15 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.4": - version: 6.4.6 - resolution: "fdir@npm:6.4.6" +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - checksum: 10c0/45b559cff889934ebb8bc498351e5acba40750ada7e7d6bde197768d2fa67c149be8ae7f8ff34d03f4e1eb20f2764116e56440aaa2f6689e9a4aa7ef06acafe9 + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f languageName: node linkType: hard @@ -2362,16 +2480,6 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f - languageName: node - linkType: hard - "for-each@npm:^0.3.3, for-each@npm:^0.3.5": version: 0.3.5 resolution: "for-each@npm:0.3.5" @@ -2381,29 +2489,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.3 - resolution: "form-data@npm:4.0.3" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.2" - mime-types: "npm:^2.1.12" - checksum: 10c0/f0cf45873d600110b5fadf5804478377694f73a1ed97aaa370a74c90cebd7fe6e845a081171668a5476477d0d55a73a4e03d6682968fa8661eac2a81d651fcdb - languageName: node - linkType: hard - "formik@npm:2.4.6": version: 2.4.6 resolution: "formik@npm:2.4.6" @@ -2478,6 +2563,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -2486,20 +2578,23 @@ __metadata: linkType: hard "get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" call-bind-apply-helpers: "npm:^1.0.2" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" get-proto: "npm:^1.0.1" gopd: "npm:^1.2.0" has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d languageName: node linkType: hard @@ -2533,15 +2628,6 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - "glob-regex@npm:^0.3.0": version: 0.3.2 resolution: "glob-regex@npm:0.3.2" @@ -2549,19 +2635,14 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.4.5 - resolution: "glob@npm:10.4.5" +"glob@npm:^13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" + minimatch: "npm:^10.1.1" minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + path-scurry: "npm:^2.0.0" + checksum: 10c0/8e2f5821f3f7c312dd102e23a15b80c79e0837a9872784293ba2e15ec73b3f3749a49a42a31bfcb4e52c84820a474e92331c2eebf18819d20308f5c33876630a languageName: node linkType: hard @@ -2660,6 +2741,22 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10c0/48be3b2fa37a0cbc77a112a89096fa212f25d06de92781b163d67853d210a8a5c3784fac23d7d48335058f7ed283115c87b4332c2a2abaaccc76d0ead1a282ac + languageName: node + linkType: hard + +"hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" + dependencies: + hermes-estree: "npm:0.25.1" + checksum: 10c0/3abaa4c6f1bcc25273f267297a89a4904963ea29af19b8e4f6eabe04f1c2c7e9abd7bfc4730ddb1d58f2ea04b6fee74053d8bddb5656ec6ebf6c79cc8d14202c + languageName: node + linkType: hard + "hoist-non-react-statics@npm:^3.3.0": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -2712,10 +2809,10 @@ __metadata: languageName: node linkType: hard -"immutable@npm:^4.0.0": - version: 4.3.7 - resolution: "immutable@npm:4.3.7" - checksum: 10c0/9b099197081b22f6433003e34929da8ecddbbdc1474cdc8aa3b7669dee4adda349c06143de22def36016d1b6de5322b043eccd7a11db1dad2ca85dad4fff5435 +"immutable@npm:^5.0.2": + version: 5.1.4 + resolution: "immutable@npm:5.1.4" + checksum: 10c0/f1c98382e4cde14a0b218be3b9b2f8441888da8df3b8c064aa756071da55fbed6ad696e5959982508456332419be9fdeaf29b2e58d0eadc45483cc16963c0446 languageName: node linkType: hard @@ -2756,13 +2853,10 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc +"ip-address@npm:^10.0.1": + version: 10.1.0 + resolution: "ip-address@npm:10.1.0" + checksum: 10c0/0103516cfa93f6433b3bd7333fa876eb21263912329bfa47010af5e16934eeeff86f3d2ae700a3744a137839ddfad62b900c7a445607884a49b5d1e32a3d7566 languageName: node linkType: hard @@ -2799,15 +2893,6 @@ __metadata: languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - "is-boolean-object@npm:^1.2.1": version: 1.2.2 resolution: "is-boolean-object@npm:1.2.2" @@ -2871,26 +2956,20 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - "is-generator-function@npm:^1.0.10": - version: 1.1.0 - resolution: "is-generator-function@npm:1.1.0" + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" dependencies: - call-bound: "npm:^1.0.3" - get-proto: "npm:^1.0.0" + call-bound: "npm:^1.0.4" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" has-tostringtag: "npm:^1.0.2" safe-regex-test: "npm:^1.1.0" - checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a + checksum: 10c0/83da102e89c3e3b71d67b51d47c9f9bc862bceb58f87201727e27f7fa19d1d90b0ab223644ecaee6fc6e3d2d622bb25c966fbdaf87c59158b01ce7c0fe2fa372 languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -3035,7 +3114,7 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.4": +"iterator.prototype@npm:^1.1.5": version: 1.1.5 resolution: "iterator.prototype@npm:1.1.5" dependencies: @@ -3049,19 +3128,6 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -3069,21 +3135,14 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" +"js-yaml@npm:^4.1.0, js-yaml@npm:^4.1.1": + version: 4.1.1 + resolution: "js-yaml@npm:4.1.1" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7 languageName: node linkType: hard @@ -3137,10 +3196,10 @@ __metadata: languageName: node linkType: hard -"jsvectormap@npm:1.6.0": - version: 1.6.0 - resolution: "jsvectormap@npm:1.6.0" - checksum: 10c0/3c5fe0f24235380d8b76112d923ea8bf97e87ef1424ea766b94395b9ade5fbab1c107f016f574f198d98d53c5de3c1d0dd869ef572a552ac82ce31f6c8a3e203 +"jsvectormap@npm:1.7.0": + version: 1.7.0 + resolution: "jsvectormap@npm:1.7.0" + checksum: 10c0/c94ad74eb8634da629a95de34750795708163f827851603d2af5076a4cf09e0a74d0b802ace063fcf93a1baa15f66e07fdf90d0a6d08b78762bbae6705f37f3c languageName: node linkType: hard @@ -3235,7 +3294,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -3246,10 +3305,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": + version: 11.2.4 + resolution: "lru-cache@npm:11.2.4" + checksum: 10c0/4a24f9b17537619f9144d7b8e42cd5a225efdfd7076ebe7b5e7dc02b860a818455201e67fbf000765233fe7e339d3c8229fc815e9b58ee6ede511e07608c19b2 languageName: node linkType: hard @@ -3262,22 +3321,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" +"make-fetch-happen@npm:^15.0.0": + version: 15.0.3 + resolution: "make-fetch-happen@npm:15.0.3" dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" + "@npmcli/agent": "npm:^4.0.0" + cacache: "npm:^20.0.1" http-cache-semantics: "npm:^4.1.1" minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" + minipass-fetch: "npm:^5.0.0" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" + proc-log: "npm:^6.0.0" promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + ssri: "npm:^13.0.0" + checksum: 10c0/525f74915660be60b616bcbd267c4a5b59481b073ba125e45c9c3a041bb1a47a2bd0ae79d028eb6f5f95bf9851a4158423f5068539c3093621abb64027e8e461 languageName: node linkType: hard @@ -3288,19 +3347,22 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa +"micromatch@npm:^4.0.5": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 languageName: node linkType: hard -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" +"minimatch@npm:^10.1.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10c0/c85d44821c71973d636091fddbfbffe62370f5ee3caf0241c5b60c18cd289e916200acb2361b7e987558cd06896d153e25d505db9fc1e43e6b4b6752e2702902 languageName: node linkType: hard @@ -3313,15 +3375,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - "minimist@npm:^1.2.0, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" @@ -3338,9 +3391,9 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" +"minipass-fetch@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass-fetch@npm:5.0.0" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" @@ -3349,7 +3402,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + checksum: 10c0/9443aab5feab190972f84b64116e54e58dd87a58e62399cae0a4a7461b80568281039b7c3a38ba96453431ebc799d1e26999e548540156216729a4967cd5ef06 languageName: node linkType: hard @@ -3389,28 +3442,19 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": +"minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" dependencies: minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec languageName: node linkType: hard @@ -3455,48 +3499,50 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^7.0.0": + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 + languageName: node + linkType: hard + "node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" + version: 12.1.0 + resolution: "node-gyp@npm:12.1.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" + make-fetch-happen: "npm:^15.0.0" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" semver: "npm:^7.3.5" - tar: "npm:^7.4.3" + tar: "npm:^7.5.2" tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" + which: "npm:^6.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + checksum: 10c0/f43efea8aaf0beb6b2f6184e533edad779b2ae38062953e21951f46221dd104006cc574154f2ad4a135467a5aae92c49e84ef289311a82e08481c5df0e8dc495 languageName: node linkType: hard -"node-releases@npm:^2.0.19": - version: 2.0.19 - resolution: "node-releases@npm:2.0.19" - checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa +"node-releases@npm:^2.0.27": + version: 2.0.27 + resolution: "node-releases@npm:2.0.27" + checksum: 10c0/f1e6583b7833ea81880627748d28a3a7ff5703d5409328c216ae57befbced10ce2c991bea86434e8ec39003bd017f70481e2e5f8c1f7e0a7663241f81d6e00e2 languageName: node linkType: hard -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" dependencies: - abbrev: "npm:^3.0.0" + abbrev: "npm:^4.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd languageName: node linkType: hard @@ -3615,16 +3661,9 @@ __metadata: linkType: hard "p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + version: 7.0.4 + resolution: "p-map@npm:7.0.4" + checksum: 10c0/a5030935d3cb2919d7e89454d1ce82141e6f9955413658b8c9403cfe379283770ed3048146b44cde168aa9e8c716505f196d5689db0ae3ce9a71521a2fef3abd languageName: node linkType: hard @@ -3658,13 +3697,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" +"path-scurry@npm:^2.0.0": + version: 2.0.1 + resolution: "path-scurry@npm:2.0.1" dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10c0/2a16ed0e81fbc43513e245aa5763354e25e787dab0d539581a6c3f0f967461a159ed6236b2559de23aa5b88e7dc32b469b6c47568833dd142a4b24b4f5cd2620 languageName: node linkType: hard @@ -3675,17 +3714,17 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": +"picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 languageName: node linkType: hard @@ -3703,7 +3742,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.49": +"postcss@npm:^8.5.6": version: 8.5.6 resolution: "postcss@npm:8.5.6" dependencies: @@ -3730,19 +3769,19 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.4.1": - version: 3.4.1 - resolution: "prettier@npm:3.4.1" +"prettier@npm:3.6.2": + version: 3.6.2 + resolution: "prettier@npm:3.6.2" bin: prettier: bin/prettier.cjs - checksum: 10c0/2d6cc3101ad9de72b49c59339480b0983e6ff6742143da0c43f476bf3b5ef88ede42ebd9956d7a0a8fa59f7a5990e8ef03c9ad4c37f7e4c9e5db43ee0853156c + checksum: 10c0/488cb2f2b99ec13da1e50074912870217c11edaddedeadc649b1244c749d15ba94e846423d062e2c4c9ae683e2d65f754de28889ba06e697ac4f988d44f45812 languageName: node linkType: hard -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 languageName: node linkType: hard @@ -3786,13 +3825,6 @@ __metadata: languageName: node linkType: hard -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - "punycode@npm:^2.1.0": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -3800,25 +3832,26 @@ __metadata: languageName: node linkType: hard -"react-apexcharts@npm:1.7.0": - version: 1.7.0 - resolution: "react-apexcharts@npm:1.7.0" +"react-apexcharts@npm:1.8.0": + version: 1.8.0 + resolution: "react-apexcharts@npm:1.8.0" dependencies: prop-types: "npm:^15.8.1" peerDependencies: apexcharts: ">=4.0.0" react: ">=0.13" - checksum: 10c0/0533cd8b44df4d6a0b157c8a8adbcddb33a0575420b3fa1b5c90fa8553a39884bcc1122cce912252e452c8bffd1c4eaf2d9f9cfa4e515e81e7067fa36fcffe52 + checksum: 10c0/89e1ff38c8efde2839e55595ff9e09d353ecf57c34d5a0ceac263475e0352f9151e12dc44530397ac8beaf1aa3ea4a22643336dfb9c310e09d0f539b976a1350 languageName: node linkType: hard -"react-bootstrap@npm:2.10.6": - version: 2.10.6 - resolution: "react-bootstrap@npm:2.10.6" +"react-bootstrap@npm:2.10.10": + version: 2.10.10 + resolution: "react-bootstrap@npm:2.10.10" dependencies: "@babel/runtime": "npm:^7.24.7" "@restart/hooks": "npm:^0.4.9" - "@restart/ui": "npm:^1.9.0" + "@restart/ui": "npm:^1.9.4" + "@types/prop-types": "npm:^15.7.12" "@types/react-transition-group": "npm:^4.4.6" classnames: "npm:^2.3.2" dom-helpers: "npm:^5.2.1" @@ -3835,7 +3868,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/27bdafb917787b07c8c7d63ad2b5c116ce664efca866ccf43c607b9c4a8ef785c1913ad780e086e42c474b4a8bdb142d97356e3c438328214f95bb641b39f746 + checksum: 10c0/7d515ca782398a267809f0e62b8cb9b94a9c5190c7cdeb974d54365ac445c3280872258722a95ee753f2e124c0354a875e167c17dcb93138cf16c633681925d6 languageName: node linkType: hard @@ -3851,15 +3884,14 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" +"react-dom@npm:19.2.0": + version: 19.2.0 + resolution: "react-dom@npm:19.2.0" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.0" + scheduler: "npm:^0.27.0" peerDependencies: - react: ^18.2.0 - checksum: 10c0/66dfc5f93e13d0674e78ef41f92ed21dfb80f9c4ac4ac25a4b51046d41d4d2186abc915b897f69d3d0ebbffe6184e7c5876f2af26bfa956f179225d921be713a + react: ^19.2.0 + checksum: 10c0/fa2cae05248d01288e91523b590ce4e7635b1e13f1344e225f850d722a8da037bf0782f63b1c1d46353334e0c696909b82e582f8cad607948fde6f7646cc18d9 languageName: node linkType: hard @@ -3870,12 +3902,12 @@ __metadata: languageName: node linkType: hard -"react-hook-form@npm:7.54.2": - version: 7.54.2 - resolution: "react-hook-form@npm:7.54.2" +"react-hook-form@npm:7.65.0": + version: 7.65.0 + resolution: "react-hook-form@npm:7.65.0" peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - checksum: 10c0/6eebead2900e3d369a989e7a20429f390dc75b3897142aa3107f1f6dabb9ae64fed201ea98cdcd8676e40466c97748aeb0c0d83264f5bd3a84dbc0b8e4863415 + checksum: 10c0/119afeaf33510d1ed6c12109f03d22d9e88f9eb01b8e4fb3cd8f40d5fc113cbcfc6154789d1d143151de8119bd08ffc7214d504e0e550ea28a9051ed6a30ae28 languageName: node linkType: hard @@ -3893,40 +3925,38 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.14.2": - version: 0.14.2 - resolution: "react-refresh@npm:0.14.2" - checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb +"react-refresh@npm:^0.18.0": + version: 0.18.0 + resolution: "react-refresh@npm:0.18.0" + checksum: 10c0/34a262f7fd803433a534f50deb27a148112a81adcae440c7d1cbae7ef14d21ea8f2b3d783e858cb7698968183b77755a38b4d4b5b1d79b4f4689c2f6d358fff2 languageName: node linkType: hard -"react-router-dom@npm:7.0.2": - version: 7.0.2 - resolution: "react-router-dom@npm:7.0.2" +"react-router-dom@npm:7.9.5": + version: 7.9.5 + resolution: "react-router-dom@npm:7.9.5" dependencies: - react-router: "npm:7.0.2" + react-router: "npm:7.9.5" peerDependencies: react: ">=18" react-dom: ">=18" - checksum: 10c0/eb6fe524792f6cf645872c15ed1beb6aeb778c7c5ebcf6c1d4ccf2bdab7a969313b3fc3b4ec6bc4516bbc91b238f0ef651d9ad2551b2aa9ea54b01653dcd1c98 + checksum: 10c0/e54fdfa211e356bd89e3c12b1f89537058357ef21b6a05f55456e0defaab8e77b7495e035ff6999b17a9a2e6f8204d46cf5897fe56e5d3db9458109a014efc4d languageName: node linkType: hard -"react-router@npm:7.0.2": - version: 7.0.2 - resolution: "react-router@npm:7.0.2" +"react-router@npm:7.9.5": + version: 7.9.5 + resolution: "react-router@npm:7.9.5" dependencies: - "@types/cookie": "npm:^0.6.0" cookie: "npm:^1.0.1" set-cookie-parser: "npm:^2.6.0" - turbo-stream: "npm:2.4.0" peerDependencies: react: ">=18" react-dom: ">=18" peerDependenciesMeta: react-dom: optional: true - checksum: 10c0/f6c04939218a3d7f2b03b215c2299eab4dbb0dea4a16e0acfd8bf181ec69ff42d66abdba10a25cc3297c514f052a0d03bfb80431225eb763bb27e4e5b0b4a106 + checksum: 10c0/e961816b4096a6ca97fc53626fc6532014c0de4c45bf6c234b8205eb4f94be8f357d67819e4f4f58507f79ef9bda4c3f70031a8dd13c7045e3ad0ecb12f819e3 languageName: node linkType: hard @@ -3945,21 +3975,17 @@ __metadata: languageName: node linkType: hard -"react@npm:18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/b562d9b569b0cb315e44b48099f7712283d93df36b19a39a67c254c6686479d3980b7f013dc931f4a5a3ae7645eae6386b4aa5eea933baa54ecd0f9acb0902b8 +"react@npm:19.2.0": + version: 19.2.0 + resolution: "react@npm:19.2.0" + checksum: 10c0/1b6d64eacb9324725bfe1e7860cb7a6b8a34bc89a482920765ebff5c10578eb487e6b46b2f0df263bd27a25edbdae2c45e5ea5d81ae61404301c1a7192c38330 languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 languageName: node linkType: hard @@ -4046,30 +4072,32 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.23.0": - version: 4.44.1 - resolution: "rollup@npm:4.44.1" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.44.1" - "@rollup/rollup-android-arm64": "npm:4.44.1" - "@rollup/rollup-darwin-arm64": "npm:4.44.1" - "@rollup/rollup-darwin-x64": "npm:4.44.1" - "@rollup/rollup-freebsd-arm64": "npm:4.44.1" - "@rollup/rollup-freebsd-x64": "npm:4.44.1" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.44.1" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.44.1" - "@rollup/rollup-linux-arm64-gnu": "npm:4.44.1" - "@rollup/rollup-linux-arm64-musl": "npm:4.44.1" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.44.1" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.44.1" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.44.1" - "@rollup/rollup-linux-riscv64-musl": "npm:4.44.1" - "@rollup/rollup-linux-s390x-gnu": "npm:4.44.1" - "@rollup/rollup-linux-x64-gnu": "npm:4.44.1" - "@rollup/rollup-linux-x64-musl": "npm:4.44.1" - "@rollup/rollup-win32-arm64-msvc": "npm:4.44.1" - "@rollup/rollup-win32-ia32-msvc": "npm:4.44.1" - "@rollup/rollup-win32-x64-msvc": "npm:4.44.1" +"rollup@npm:^4.43.0": + version: 4.53.3 + resolution: "rollup@npm:4.53.3" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.53.3" + "@rollup/rollup-android-arm64": "npm:4.53.3" + "@rollup/rollup-darwin-arm64": "npm:4.53.3" + "@rollup/rollup-darwin-x64": "npm:4.53.3" + "@rollup/rollup-freebsd-arm64": "npm:4.53.3" + "@rollup/rollup-freebsd-x64": "npm:4.53.3" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.53.3" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.53.3" + "@rollup/rollup-linux-arm64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-arm64-musl": "npm:4.53.3" + "@rollup/rollup-linux-loong64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-riscv64-musl": "npm:4.53.3" + "@rollup/rollup-linux-s390x-gnu": "npm:4.53.3" + "@rollup/rollup-linux-x64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-x64-musl": "npm:4.53.3" + "@rollup/rollup-openharmony-arm64": "npm:4.53.3" + "@rollup/rollup-win32-arm64-msvc": "npm:4.53.3" + "@rollup/rollup-win32-ia32-msvc": "npm:4.53.3" + "@rollup/rollup-win32-x64-gnu": "npm:4.53.3" + "@rollup/rollup-win32-x64-msvc": "npm:4.53.3" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -4093,9 +4121,9 @@ __metadata: optional: true "@rollup/rollup-linux-arm64-musl": optional: true - "@rollup/rollup-linux-loongarch64-gnu": + "@rollup/rollup-linux-loong64-gnu": optional: true - "@rollup/rollup-linux-powerpc64le-gnu": + "@rollup/rollup-linux-ppc64-gnu": optional: true "@rollup/rollup-linux-riscv64-gnu": optional: true @@ -4107,17 +4135,21 @@ __metadata: optional: true "@rollup/rollup-linux-x64-musl": optional: true + "@rollup/rollup-openharmony-arm64": + optional: true "@rollup/rollup-win32-arm64-msvc": optional: true "@rollup/rollup-win32-ia32-msvc": optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true "@rollup/rollup-win32-x64-msvc": optional: true fsevents: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/6cc0175c626fd9f0fc325c1f1b86d5b5401d687973691dd5205b6b88a666ee0b96f401725da9090e090b31cb5a82ff9a0ef1c3db6dc14906f6c7a48cabad49b4 + checksum: 10c0/a21305aac72013083bd0dec92162b0f7f24cacf57c876ca601ec76e892895952c9ea592c1c07f23b8c125f7979c2b17f7fb565e386d03ee4c1f0952ac4ab0d75 languageName: node linkType: hard @@ -4162,25 +4194,27 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.77.6": - version: 1.77.6 - resolution: "sass@npm:1.77.6" +"sass@npm:1.93.2": + version: 1.93.2 + resolution: "sass@npm:1.93.2" dependencies: - chokidar: "npm:>=3.0.0 <4.0.0" - immutable: "npm:^4.0.0" + "@parcel/watcher": "npm:^2.4.1" + chokidar: "npm:^4.0.0" + immutable: "npm:^5.0.2" source-map-js: "npm:>=0.6.2 <2.0.0" + dependenciesMeta: + "@parcel/watcher": + optional: true bin: sass: sass.js - checksum: 10c0/fe5a393c0aa29eda9f83c06be9b94788b61fe8bad0616ee6e3a25d21ab504f430d40c0064fdca89b02b8e426411ae6dcd906c91f2e48c263575c3d392b6daeb1 + checksum: 10c0/5a19f12dbe8c142e40c1e0473d1e624898242b1c21010301e169b528be8c580df6356329c798522b525eb11eda4b04b9b77422badc55c47889600f8477201d2b languageName: node linkType: hard -"scheduler@npm:^0.23.0": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 languageName: node linkType: hard @@ -4194,18 +4228,18 @@ __metadata: linkType: hard "semver@npm:^7.3.5": - version: 7.7.2 - resolution: "semver@npm:7.7.2" + version: 7.7.3 + resolution: "semver@npm:7.7.3" bin: semver: bin/semver.js - checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e languageName: node linkType: hard "set-cookie-parser@npm:^2.6.0": - version: 2.7.1 - resolution: "set-cookie-parser@npm:2.7.1" - checksum: 10c0/060c198c4c92547ac15988256f445eae523f57f2ceefeccf52d30d75dedf6bff22b9c26f756bd44e8e560d44ff4ab2130b178bd2e52ef5571bf7be3bd7632d9a + version: 2.7.2 + resolution: "set-cookie-parser@npm:2.7.2" + checksum: 10c0/4381a9eb7ee951dfe393fe7aacf76b9a3b4e93a684d2162ab35594fa4053cc82a4d7d7582bf397718012c9adcf839b8cd8f57c6c42901ea9effe33c752da4a45 languageName: node linkType: hard @@ -4310,14 +4344,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"simplebar-core@npm:^1.3.0": +"simplebar-core@npm:^1.3.2": version: 1.3.2 resolution: "simplebar-core@npm:1.3.2" dependencies: @@ -4327,14 +4354,14 @@ __metadata: languageName: node linkType: hard -"simplebar-react@npm:3.3.0": - version: 3.3.0 - resolution: "simplebar-react@npm:3.3.0" +"simplebar-react@npm:3.3.2": + version: 3.3.2 + resolution: "simplebar-react@npm:3.3.2" dependencies: - simplebar-core: "npm:^1.3.0" + simplebar-core: "npm:^1.3.2" peerDependencies: react: ">=16.8.0" - checksum: 10c0/ad07ac2b239f7372af48f92ad01b82a7e6465fcd1c43da9f5d12edb26cba81a55c87badd2cffac4aa8aa769da56c05b4e2eb5de19fec52588ca57f87d1f6202b + checksum: 10c0/1ccc2fbfef3659c6ebd6ee9eaa9cffa3c5179e5cf825351335928673ff5f715042f71e05fa3f5813ab1b6fe947536a52050667e149023975c2dcf4287d705292 languageName: node linkType: hard @@ -4364,12 +4391,12 @@ __metadata: linkType: hard "socks@npm:^2.8.3": - version: 2.8.5 - resolution: "socks@npm:2.8.5" + version: 2.8.7 + resolution: "socks@npm:2.8.7" dependencies: - ip-address: "npm:^9.0.5" + ip-address: "npm:^10.0.1" smart-buffer: "npm:^4.2.0" - checksum: 10c0/e427d0eb0451cfd04e20b9156ea8c0e9b5e38a8d70f21e55c30fbe4214eda37cfc25d782c63f9adc5fbdad6d062a0f127ef2cefc9a44b6fee2b9ea5d1ed10827 + checksum: 10c0/2805a43a1c4bcf9ebf6e018268d87b32b32b06fbbc1f9282573583acc155860dc361500f89c73bfbb157caa1b4ac78059eac0ef15d1811eb0ca75e0bdadbc9d2 languageName: node linkType: hard @@ -4380,19 +4407,12 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" +"ssri@npm:^13.0.0": + version: 13.0.0 + resolution: "ssri@npm:13.0.0" dependencies: minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + checksum: 10c0/405f3a531cd98b013cecb355d63555dca42fd12c7bc6671738aaa9a82882ff41cdf0ef9a2b734ca4f9a760338f114c29d01d9238a65db3ccac27929bd6e6d4b2 languageName: node linkType: hard @@ -4406,28 +4426,6 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - "string.prototype.includes@npm:^2.0.1": version: 2.0.1 resolution: "string.prototype.includes@npm:2.0.1" @@ -4508,24 +4506,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -4541,20 +4521,20 @@ __metadata: linkType: hard "sucrase@npm:^3.20.3": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.2" commander: "npm:^4.0.0" - glob: "npm:^10.3.10" lines-and-columns: "npm:^1.1.6" mz: "npm:^2.7.0" pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" ts-interface-checker: "npm:^0.1.9" bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c languageName: node linkType: hard @@ -4583,39 +4563,37 @@ __metadata: languageName: node linkType: hard -"swr@npm:2.3.2": - version: 2.3.2 - resolution: "swr@npm:2.3.2" +"swr@npm:2.3.6": + version: 2.3.6 + resolution: "swr@npm:2.3.6" dependencies: dequal: "npm:^2.0.3" use-sync-external-store: "npm:^1.4.0" peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 10c0/981d3138c1959f1f15ddb74ed3c98f34fbcae8e68ee1b0e6ce3af7e1fcf65ecdb3a2c525b42338cbcef0f7a992d41e1aeb3982501e86239e8aeef6c34fe3b580 + checksum: 10c0/9534f350982e36a3ae0a13da8c0f7da7011fc979e77f306e60c4e5db0f9b84f17172c44f973441ba56bb684b69b0d9838ab40011a6b6b3e32d0cd7f3d5405f99 languageName: node linkType: hard -"synckit@npm:^0.9.1": - version: 0.9.3 - resolution: "synckit@npm:0.9.3" +"synckit@npm:^0.11.7": + version: 0.11.11 + resolution: "synckit@npm:0.11.11" dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/3f2ecd7e04d5ca846ccb005017bb4be15982602b90d0ae3facf92f73837a81657b0a666d81713b23cfe25c28f26aaaabb385c59856c39c3710dba9f389cd8321 + "@pkgr/core": "npm:^0.2.9" + checksum: 10c0/f0761495953d12d94a86edf6326b3a565496c72f9b94c02549b6961fb4d999f4ca316ce6b3eb8ed2e4bfc5056a8de65cda0bd03a233333a35221cd2fdc0e196b languageName: node linkType: hard -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" +"tar@npm:^7.5.2": + version: 7.5.2 + resolution: "tar@npm:7.5.2" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" + minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + checksum: 10c0/a7d8b801139b52f93a7e34830db0de54c5aa45487c7cb551f6f3d44a112c67f1cb8ffdae856b05fd4f17b1749911f1c26f1e3a23bbe0279e17fd96077f13f467 languageName: node linkType: hard @@ -4651,13 +4629,13 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12": - version: 0.2.14 - resolution: "tinyglobby@npm:0.2.14" +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 languageName: node linkType: hard @@ -4703,20 +4681,13 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": +"tslib@npm:^2.0.0, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 languageName: node linkType: hard -"turbo-stream@npm:2.4.0": - version: 2.4.0 - resolution: "turbo-stream@npm:2.4.0" - checksum: 10c0/e68b2569f1f16e6e9633d090c6024b2ae9f0e97bfeacb572451ca3732e120ebbb546f3bc4afc717c46cb57b5aea6104e04ef497f9912eef6a7641e809518e98a - languageName: node - linkType: hard - "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -4787,11 +4758,11 @@ __metadata: linkType: hard "ua-parser-js@npm:^1.0.33": - version: 1.0.40 - resolution: "ua-parser-js@npm:1.0.40" + version: 1.0.41 + resolution: "ua-parser-js@npm:1.0.41" bin: ua-parser-js: script/cli.js - checksum: 10c0/2b6ac642c74323957dae142c31f72287f2420c12dced9603d989b96c132b80232779c429b296d7de4012ef8b64e0d8fadc53c639ef06633ce13d785a78b5be6c + checksum: 10c0/45dc1f7f3ce8248e0e64640d2e29c65c0ea1fc9cb105594de84af80e2a57bba4f718b9376098ca7a5b0ffe240f8995b0fa3714afa9d36861c41370a378f1a274 languageName: node linkType: hard @@ -4830,27 +4801,27 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" +"unique-filename@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-filename@npm:5.0.0" dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + unique-slug: "npm:^6.0.0" + checksum: 10c0/afb897e9cf4c2fb622ea716f7c2bb462001928fc5f437972213afdf1cc32101a230c0f1e9d96fc91ee5185eca0f2feb34127145874975f347be52eb91d6ccc2c languageName: node linkType: hard -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" +"unique-slug@npm:^6.0.0": + version: 6.0.0 + resolution: "unique-slug@npm:6.0.0" dependencies: imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + checksum: 10c0/da7ade4cb04eb33ad0499861f82fe95ce9c7c878b7139dc54d140ecfb6a6541c18a5c8dac16188b8b379fe62c0c1f1b710814baac910cde5f4fec06212126c6a languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.3": - version: 1.1.3 - resolution: "update-browserslist-db@npm:1.1.3" +"update-browserslist-db@npm:^1.2.0": + version: 1.2.2 + resolution: "update-browserslist-db@npm:1.2.2" dependencies: escalade: "npm:^3.2.0" picocolors: "npm:^1.1.1" @@ -4858,7 +4829,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + checksum: 10c0/39c3ea08b397ffc8dc3a1c517f5c6ed5cc4179b5e185383dab9bf745879623c12062a2e6bf4f9427cc59389c7bfa0010e86858b923c1e349e32fdddd9b043bb2 languageName: node linkType: hard @@ -4872,11 +4843,11 @@ __metadata: linkType: hard "use-sync-external-store@npm:^1.4.0": - version: 1.5.0 - resolution: "use-sync-external-store@npm:1.5.0" + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 10c0/1b8663515c0be34fa653feb724fdcce3984037c78dd4a18f68b2c8be55cc1a1084c578d5b75f158d41b5ddffc2bf5600766d1af3c19c8e329bb20af2ec6f52f4 + checksum: 10c0/35e1179f872a53227bdf8a827f7911da4c37c0f4091c29b76b1e32473d1670ebe7bcd880b808b7549ba9a5605c233350f800ffab963ee4a4ee346ee983b6019b languageName: node linkType: hard @@ -4894,23 +4865,26 @@ __metadata: languageName: node linkType: hard -"vite@npm:6.0.2": - version: 6.0.2 - resolution: "vite@npm:6.0.2" +"vite@npm:7.1.12": + version: 7.1.12 + resolution: "vite@npm:7.1.12" dependencies: - esbuild: "npm:^0.24.0" + esbuild: "npm:^0.25.0" + fdir: "npm:^6.5.0" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.49" - rollup: "npm:^4.23.0" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" + tinyglobby: "npm:^0.2.15" peerDependencies: - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@types/node": ^20.19.0 || >=22.12.0 jiti: ">=1.21.0" - less: "*" + less: ^4.0.0 lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -4942,7 +4916,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/45fc609f2bc5fb5beb5a8e2cad9ad6c2edce229a922f6fc1270ea2a9d75819482edcc0f77c85b4a7abdad7eb69ce6a4f26131925d47cdc0778fc15d1bbc3b6a2 + checksum: 10c0/cef4d4b4a84e663e09b858964af36e916892ac8540068df42a05ced637ceeae5e9ef71c72d54f3cfc1f3c254af16634230e221b6e2327c2a66d794bb49203262 languageName: node linkType: hard @@ -5027,14 +5001,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" +"which@npm:^6.0.0": + version: 6.0.0 + resolution: "which@npm:6.0.0" dependencies: isexe: "npm:^3.1.1" bin: node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + checksum: 10c0/fe9d6463fe44a76232bb6e3b3181922c87510a5b250a98f1e43a69c99c079b3f42ddeca7e03d3e5f2241bf2d334f5a7657cfa868b97c109f3870625842f4cc15 languageName: node linkType: hard @@ -5045,28 +5019,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -5095,14 +5047,30 @@ __metadata: languageName: node linkType: hard -"yup@npm:1.6.1": - version: 1.6.1 - resolution: "yup@npm:1.6.1" +"yup@npm:1.7.1": + version: 1.7.1 + resolution: "yup@npm:1.7.1" dependencies: property-expr: "npm:^2.0.5" tiny-case: "npm:^1.0.3" toposort: "npm:^2.0.2" type-fest: "npm:^2.19.0" - checksum: 10c0/84c2b53996e8001041239cf2719851719f67063ec7cd843067df73562353216f5ad4f8a222319696882d5a6058e528fade1e463c59d70cbffb41b99cd0d7571b + checksum: 10c0/76b8c7fc2ba467a346935d027a25c067f9653bb0413cd60fbe0518e3d62637a56dbfca49979c4bab1a93d8e9a50843ca73d90bdc271e2f5bce1effa7734e5f28 + languageName: node + linkType: hard + +"zod-validation-error@npm:^3.5.0 || ^4.0.0": + version: 4.0.2 + resolution: "zod-validation-error@npm:4.0.2" + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + checksum: 10c0/0ccfec48c46de1be440b719cd02044d4abb89ed0e14c13e637cd55bf29102f67ccdba373f25def0fc7130e5f15025be4d557a7edcc95d5a3811599aade689e1b + languageName: node + linkType: hard + +"zod@npm:^3.25.0 || ^4.0.0": + version: 4.1.13 + resolution: "zod@npm:4.1.13" + checksum: 10c0/d7e74e82dba81a91ffc3239cd85bc034abe193a28f7087a94ab258a3e48e9a7ca4141920cac979a0d781495b48fc547777394149f26be04c3dc642f58bbc3941 languageName: node linkType: hard
    - - {user.date} +
    + + {user.date} +
    diff --git a/src/sections/dashboard/UsersMap.jsx b/src/sections/dashboard/UsersMap.jsx index 17ab5aa..e6115b8 100644 --- a/src/sections/dashboard/UsersMap.jsx +++ b/src/sections/dashboard/UsersMap.jsx @@ -1,5 +1,5 @@ import PropTypes from 'prop-types'; -import { useEffect, useState, useCallback } from 'react'; +import { useEffect, useState, useCallback, useRef } from 'react'; // third-party import JsVectorMap from 'jsvectormap'; @@ -11,31 +11,16 @@ import MainCard from 'components/MainCard'; // =============================|| DEFAULT - USERS MAP ||============================== // export default function UsersMap({ height }) { - useEffect(() => { - new JsVectorMap({ - selector: '#basic-map', - map: 'world', - showTooltip: true, - zoomOnScroll: true, - zoomButtons: true, - zoom: { - min: 1, - max: 10 - }, - markers: [ - { coords: [-15.7939, -47.8825], name: 'Brazil' }, - { coords: [24.7743, 47.7439], name: 'Saudi Arabia' }, - { coords: [35.8617, 104.1954], name: 'China' }, - { coords: [61.524, 105.3188], name: 'Russia' } - ] - }); - }, []); - + const mapRef = useRef(null); const [mapHeight, setMapHeight] = useState(height ?? 450); + const [isMobile, setIsMobile] = useState(false); const updateHeight = useCallback(() => { if (height) return; const width = window.innerWidth; + const mobile = width <= 768; + setIsMobile(mobile); + if (width <= 480) { setMapHeight(250); } else if (width <= 768) { @@ -53,9 +38,51 @@ export default function UsersMap({ height }) { } }, [height, updateHeight]); + useEffect(() => { + const mapElement = document.getElementById('basic-map'); + if (mapElement) { + mapElement.innerHTML = ''; + } + + mapRef.current = new JsVectorMap({ + selector: '#basic-map', + map: 'world', + showTooltip: true, + zoomOnScroll: !isMobile, + zoomButtons: true, + zoom: { + min: 1, + max: isMobile ? 3 : 10 + }, + markers: [ + { coords: [-15.7939, -47.8825], name: 'Brazil' }, + { coords: [24.7743, 47.7439], name: 'Saudi Arabia' }, + { coords: [35.8617, 104.1954], name: 'China' }, + { coords: [61.524, 105.3188], name: 'Russia' } + ] + }); + + return () => { + if (mapElement) { + mapElement.innerHTML = ''; + } + mapRef.current = null; + }; + }, [isMobile, mapHeight]); + return ( -
    +
    ); } diff --git a/src/sections/dashboard/default/RatingCard.jsx b/src/sections/dashboard/default/RatingCard.jsx index 925cb0c..909e338 100644 --- a/src/sections/dashboard/default/RatingCard.jsx +++ b/src/sections/dashboard/default/RatingCard.jsx @@ -24,21 +24,21 @@ export default function RatingCard() {