From e3daca57e76c65697c48470b8d2a756b80ee38d3 Mon Sep 17 00:00:00 2001 From: Yves Choquette Date: Thu, 26 Sep 2024 14:07:48 -0400 Subject: [PATCH] Layer tree selection code --- common/config/rush/pnpm-lock.yaml | 865 +++++++++--------- .../public/datasets/geojson/metadata-new.meta | 48 +- .../raster-config/wms-config.ts | 11 +- .../entry-config-base-class.ts | 119 ++- .../add-new-layer/add-new-layer.tsx | 16 +- .../add-new-layer/add-new-layers-utils.ts | 185 ++-- 6 files changed, 698 insertions(+), 546 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 86100e1f735..4d378f7ad4b 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -15,40 +15,40 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) prettier: specifier: ^2.6.0 version: 2.8.8 @@ -67,49 +67,49 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/runtime': specifier: ^7.17.0 version: 7.25.6 '@types/react': specifier: ^18.2.0 - version: 18.3.5 + version: 18.3.8 '@types/react-dom': specifier: ^18.2.0 version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) prettier: specifier: ^2.6.0 version: 2.8.8 @@ -134,49 +134,49 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/runtime': specifier: ^7.17.0 version: 7.25.6 '@types/react': specifier: ^18.2.0 - version: 18.3.5 + version: 18.3.8 '@types/react-dom': specifier: ^18.2.0 version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) prettier: specifier: ^2.6.0 version: 2.8.8 @@ -194,37 +194,37 @@ importers: dependencies: '@emotion/react': specifier: ^11.13.3 - version: 11.13.3(@types/react@18.3.5)(react@18.3.1) + version: 11.13.3(@types/react@18.3.8)(react@18.3.1) '@emotion/styled': specifier: ^11.13.0 - version: 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) + version: 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) '@fontsource/roboto': specifier: ^5.0.13 version: 5.1.0 '@mui/base': specifier: 5.0.0-beta.37 - version: 5.0.0-beta.37(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 5.0.0-beta.37(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) '@mui/icons-material': specifier: ^6.0.2 - version: 6.1.0(@mui/material@6.1.0)(@types/react@18.3.5)(react@18.3.1) + version: 6.1.1(@mui/material@6.1.1)(@types/react@18.3.8)(react@18.3.1) '@mui/lab': specifier: 6.0.0-beta.9 - version: 6.0.0-beta.9(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 6.0.0-beta.9(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) '@mui/material': specifier: ^6.0.2 - version: 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) '@mui/styles': specifier: ^6.0.2 - version: 6.1.0(@types/react@18.3.5)(react@18.3.1) + version: 6.1.1(@types/react@18.3.8)(react@18.3.1) '@mui/system': specifier: ^6.0.2 - version: 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1) + version: 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1) '@mui/x-date-pickers': specifier: ^7.15.0 - version: 7.16.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.0.2)(@mui/system@6.0.2)(@types/react@18.3.5)(dayjs@1.11.13)(react-dom@18.3.1)(react@18.3.1) + version: 7.18.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@mui/system@6.1.1)(@types/react@18.3.8)(dayjs@1.11.13)(react-dom@18.3.1)(react@18.3.1) '@mui/x-tree-view': specifier: ^7.17.0 - version: 7.17.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.0.2)(@mui/system@6.0.2)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 7.18.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@mui/system@6.1.1)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) '@nieuwlandgeo/sldreader': specifier: ^0.3.1 version: 0.3.1(ol@10.1.0) @@ -278,7 +278,7 @@ importers: version: 7.4.7(react@18.3.1) material-react-table: specifier: ^2.13.2 - version: 2.13.3(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/icons-material@6.1.0)(@mui/material@6.1.0)(@mui/x-date-pickers@7.17.0)(react-dom@18.3.1)(react@18.3.1) + version: 2.13.3(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/icons-material@6.1.1)(@mui/material@6.1.1)(@mui/x-date-pickers@7.18.0)(react-dom@18.3.1)(react@18.3.1) ol: specifier: ^10.1.0 version: 10.1.0 @@ -317,10 +317,10 @@ importers: version: 1.11.0 yet-another-react-lightbox: specifier: ^3.11.3 - version: 3.21.5(react-dom@18.3.1)(react@18.3.1) + version: 3.21.6(react-dom@18.3.1)(react@18.3.1) zustand: specifier: ~4.4.1 - version: 4.4.7(@types/react@18.3.5)(react@18.3.1) + version: 4.4.7(@types/react@18.3.8)(react@18.3.1) devDependencies: '@babel/cli': specifier: ^7.17.0 @@ -330,7 +330,7 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/plugin-proposal-decorators': specifier: ^7.17.0 version: 7.24.7(@babel/core@7.25.2) @@ -423,7 +423,7 @@ importers: version: 2.5.5 '@types/react': specifier: ^18.2.0 - version: 18.3.5 + version: 18.3.8 '@types/react-dom': specifier: ^18.2.0 version: 18.3.0 @@ -438,16 +438,16 @@ importers: version: 1.4.9 '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) babel-jest: specifier: ^27.4.6 version: 27.5.1(@babel/core@7.25.2) babel-loader: specifier: ^8.2.3 - version: 8.3.0(@babel/core@7.25.2)(webpack@5.94.0) + version: 8.4.1(@babel/core@7.25.2)(webpack@5.94.0) babel-plugin-import: specifier: ^1.13.3 version: 1.13.8 @@ -465,31 +465,31 @@ importers: version: 6.11.0(webpack@5.94.0) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) file-loader: specifier: ^6.2.0 version: 6.2.0(webpack@5.94.0) @@ -519,13 +519,13 @@ importers: version: 2.8.8 sass: specifier: ^1.49.7 - version: 1.78.0 + version: 1.79.2 sass-loader: specifier: ^12.4.0 - version: 12.6.0(sass@1.78.0)(webpack@5.94.0) + version: 12.6.0(sass@1.79.2)(webpack@5.94.0) simple-zustand-devtools: specifier: ^1.1.0 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1)(zustand@4.4.7) + version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1)(zustand@4.4.7) style-loader: specifier: ^3.3.1 version: 3.3.4(webpack@5.94.0) @@ -561,10 +561,10 @@ importers: dependencies: '@mui/material': specifier: ^6.0.2 - version: 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) geochart: specifier: Canadian-Geospatial-Platform/geochart#develop - version: github.com/Canadian-Geospatial-Platform/geochart/62b1611c028dd27e8b275b070a18b199222becbb(@types/react@18.3.5) + version: github.com/Canadian-Geospatial-Platform/geochart/62b1611c028dd27e8b275b070a18b199222becbb(@types/react@18.3.8) geoview-core: specifier: workspace:~1.0.0 version: link:../geoview-core @@ -577,7 +577,7 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/runtime': specifier: ^7.17.0 version: 7.25.6 @@ -586,43 +586,43 @@ importers: version: 4.17.7 '@types/react': specifier: ^18.2.0 - version: 18.3.5 + version: 18.3.8 '@types/react-dom': specifier: ^18.2.0 version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) markdown-to-jsx: specifier: ~7.4.0 version: 7.4.7(react@18.3.1) @@ -659,7 +659,7 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/runtime': specifier: ^7.17.0 version: 7.25.6 @@ -668,37 +668,37 @@ importers: version: 4.17.7 '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) prettier: specifier: ^2.6.0 version: 2.8.8 @@ -716,7 +716,7 @@ importers: dependencies: '@mui/material': specifier: ^6.0.2 - version: 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + version: 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) geoview-core: specifier: workspace:~1.0.0 version: link:../geoview-core @@ -726,49 +726,49 @@ importers: version: 7.25.2 '@babel/eslint-parser': specifier: ^7.17.0 - version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + version: 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/runtime': specifier: ^7.17.0 version: 7.25.6 '@types/react': specifier: ^18.2.0 - version: 18.3.5 + version: 18.3.8 '@types/react-dom': specifier: ^18.2.0 version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ~7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@4.9.5) + version: 7.8.0(eslint@8.57.1)(typescript@4.9.5) eslint: specifier: ^8.8.0 - version: 8.57.0 + version: 8.57.1 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0) + version: 19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) eslint-config-prettier: specifier: ^8.3.0 - version: 8.10.0(eslint@8.57.0) + version: 8.10.0(eslint@8.57.1) eslint-plugin-import: specifier: ^2.25.4 - version: 2.30.0(eslint@8.57.0) + version: 2.30.0(eslint@8.57.1) eslint-plugin-jest: specifier: ^26.0.0 - version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + version: 26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5) eslint-plugin-jsx-a11y: specifier: ^6.5.1 - version: 6.10.0(eslint@8.57.0) + version: 6.10.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.28.0 - version: 7.36.1(eslint@8.57.0) + version: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.2(eslint@8.57.0) + version: 4.6.2(eslint@8.57.1) markdown-to-jsx: specifier: ~7.4.0 version: 7.4.7(react@18.3.1) @@ -850,7 +850,7 @@ packages: - supports-color dev: true - /@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.0): + /@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.1): resolution: {integrity: sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -859,7 +859,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: true @@ -2401,7 +2401,7 @@ packages: resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} dev: false - /@emotion/react@11.13.3(@types/react@18.3.5)(react@18.3.1): + /@emotion/react@11.13.3(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} peerDependencies: '@types/react': '*' @@ -2417,7 +2417,7 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 '@emotion/weak-memoize': 0.4.0 - '@types/react': 18.3.5 + '@types/react': 18.3.8 hoist-non-react-statics: 3.3.2 react: 18.3.1 transitivePeerDependencies: @@ -2438,7 +2438,7 @@ packages: resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} dev: false - /@emotion/styled@11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1): + /@emotion/styled@11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -2451,11 +2451,11 @@ packages: '@babel/runtime': 7.25.6 '@emotion/babel-plugin': 11.12.0 '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) '@emotion/serialize': 1.3.1 '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) '@emotion/utils': 1.4.0 - '@types/react': 18.3.5 + '@types/react': 18.3.8 react: 18.3.1 transitivePeerDependencies: - supports-color @@ -2481,18 +2481,18 @@ packages: resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} dev: false - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.1): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.11.0: - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + /@eslint-community/regexpp@4.11.1: + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -2513,45 +2513,45 @@ packages: - supports-color dev: true - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@floating-ui/core@1.6.7: - resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + /@floating-ui/core@1.6.8: + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} dependencies: - '@floating-ui/utils': 0.2.7 + '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/dom@1.6.10: - resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + /@floating-ui/dom@1.6.11: + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} dependencies: - '@floating-ui/core': 1.6.7 - '@floating-ui/utils': 0.2.7 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + /@floating-ui/react-dom@2.1.2(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.10 + '@floating-ui/dom': 1.6.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.7: - resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + /@floating-ui/utils@0.2.8: + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} dev: false /@fontsource/roboto@5.1.0: resolution: {integrity: sha512-cFRRC1s6RqPygeZ8Uw/acwVHqih8Czjt6Q0MwoUoDe9U3m4dH1HmNDRBZyqlMSFwgNAUKgFImncKdmDHyKpwdg==} dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead dependencies: @@ -2593,7 +2593,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -2614,7 +2614,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -2651,7 +2651,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 jest-mock: 27.5.1 dev: true @@ -2661,7 +2661,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 22.5.4 + '@types/node': 22.5.5 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -2690,7 +2690,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -2774,7 +2774,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/yargs': 16.0.9 chalk: 4.1.2 dev: true @@ -2846,7 +2846,7 @@ packages: resolution: {integrity: sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==} dev: false - /@mui/base@5.0.0-beta.37(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): + /@mui/base@5.0.0-beta.37(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-/o3anbb+DeCng8jNsd3704XtmmLDZju1Fo8R2o7ugrVtPQ/QpcqddwKNzKPZwa0J5T8YNW3ZVuHyQgbTnQLisQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2858,18 +2858,18 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) '@popperjs/core': 2.11.8 - '@types/react': 18.3.5 + '@types/react': 18.3.8 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/base@5.0.0-beta.58(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): + /@mui/base@5.0.0-beta.58(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-P0E7ZrxOuyYqBvVv9w8k7wm+Xzx/KRu+BGgFcR2htTsGCpJNQJCSUXNUZ50MUmSU9hzqhwbQWNXhV1MBTl6F7A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2881,11 +2881,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 6.0.0-rc.0(@types/react@18.3.5)(react@18.3.1) + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 6.0.0-rc.0(@types/react@18.3.8)(react@18.3.1) '@popperjs/core': 2.11.8 - '@types/react': 18.3.5 + '@types/react': 18.3.8 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 @@ -2896,11 +2896,11 @@ packages: resolution: {integrity: sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==} dev: false - /@mui/core-downloads-tracker@6.1.0: - resolution: {integrity: sha512-covEnIn/2er5YdtuukDRA52kmARhKrHjOvPsyTFMQApZdrTBI4h8jbEy2mxZqwMwcAFS9coonQXnEZKL1rUNdQ==} + /@mui/core-downloads-tracker@6.1.1: + resolution: {integrity: sha512-VdQC1tPIIcZAnf62L2M1eQif0x2vlKg3YK4kGYbtijSH4niEgI21GnstykW1vQIs+Bc6L+Hua2GATYVjilJ22A==} dev: false - /@mui/icons-material@5.16.7(@mui/material@5.16.7)(@types/react@18.3.5)(react@18.3.1): + /@mui/icons-material@5.16.7(@mui/material@5.16.7)(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2912,16 +2912,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.5 + '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false - /@mui/icons-material@6.1.0(@mui/material@6.1.0)(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-HxfB0jxwiMTYMN8gAnYn3avbF1aDrqBEuGIj6JDQ3YkLl650E1Wy8AIhwwyP47wdrv0at9aAR0iOO6VLb74A9w==} + /@mui/icons-material@6.1.1(@mui/material@6.1.1)(@types/react@18.3.8)(react@18.3.1): + resolution: {integrity: sha512-sy/YKwcLPW8VcacNP2uWMYR9xyWuwO9NN9FXuGEU90bRshBXj8pdKk+joe3TCW7oviVS3zXLHlc94wQ0jNsQRQ==} engines: {node: '>=14.0.0'} peerDependencies: - '@mui/material': ^6.1.0 + '@mui/material': ^6.1.1 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: @@ -2929,12 +2929,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/material': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.5 + '@mui/material': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.8 react: 18.3.1 dev: false - /@mui/lab@6.0.0-beta.9(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): + /@mui/lab@6.0.0-beta.9(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-rgwgf9mNUpXxPlI3tnM3i+HNAtDZ2amAollDqbe6RZ/3fltcir/o/0zBvnZRkJIBOAk6qIGmL59GCasuQQtPKA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2956,21 +2956,21 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/base': 5.0.0-beta.58(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@mui/material': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@mui/system': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 6.1.0(@types/react@18.3.5)(react@18.3.1) - '@types/react': 18.3.5 + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/base': 5.0.0-beta.58(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@mui/system': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 6.1.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/material@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): + /@mui/material@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2988,14 +2988,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) + '@mui/system': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) '@popperjs/core': 2.11.8 - '@types/react': 18.3.5 + '@types/react': 18.3.8 '@types/react-transition-group': 4.4.11 clsx: 2.1.1 csstype: 3.1.3 @@ -3006,13 +3006,13 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@mui/material@6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-4MJ46vmy1xbm8x+ZdRcWm8jEMMowdS8pYlhKQzg/qoKhOcLhImZvf2Jn6z9Dj6gl+lY+C/0MxaHF/avAAGys3Q==} + /@mui/material@6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-b+eULldTqtqTCbN++2BtBWCir/1LwEYw+2mIlOt2GiEUh1EBBw4/wIukGKKNt3xrCZqRA80yLLkV6tF61Lq3cA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material-pigment-css': ^6.1.0 + '@mui/material-pigment-css': ^6.1.1 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3027,14 +3027,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/core-downloads-tracker': 6.1.0 - '@mui/system': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 6.1.0(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/core-downloads-tracker': 6.1.1 + '@mui/system': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 6.1.1(@types/react@18.3.8)(react@18.3.1) '@popperjs/core': 2.11.8 - '@types/react': 18.3.5 + '@types/react': 18.3.8 '@types/react-transition-group': 4.4.11 clsx: 2.1.1 csstype: 3.1.3 @@ -3045,7 +3045,7 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@mui/private-theming@5.16.6(@types/react@18.3.5)(react@18.3.1): + /@mui/private-theming@5.16.6(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3056,14 +3056,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) - '@types/react': 18.3.5 + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/private-theming@6.1.0(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-+L5qccs4gwsR0r1dgjqhN24QEQRkqIbfOdxILyMbMkuI50x6wNyt9XrV+J3WtjtZTMGJCrUa5VmZBE6OEPGPWA==} + /@mui/private-theming@6.1.1(@types/react@18.3.8)(react@18.3.1): + resolution: {integrity: sha512-JlrjIdhyZUtewtdAuUsvi3ZnO0YS49IW4Mfz19ZWTlQ0sDGga6LNPVwHClWr2/zJK2we2BQx9/i8M32rgKuzrg==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3073,8 +3073,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/utils': 6.1.0(@types/react@18.3.5)(react@18.3.1) - '@types/react': 18.3.5 + '@mui/utils': 6.1.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 prop-types: 15.8.1 react: 18.3.1 dev: false @@ -3094,15 +3094,15 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/styled-engine@6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): - resolution: {integrity: sha512-MZ+vtaCkjamrT41+b0Er9OMenjAtP/32+L6fARL9/+BZKuV2QbR3q3TmavT2x0NhDu35IM03s4yKqj32Ziqnyg==} + /@mui/styled-engine@6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1): + resolution: {integrity: sha512-HJyIoMpFb11fnHuRtUILOXgq6vj4LhIlE8maG4SwP/W+E5sa7HFexhnB3vOMT7bKys4UKNxhobC8jwWxYilGsA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -3116,16 +3116,16 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) '@emotion/sheet': 1.4.0 - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/styles@6.1.0(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-E18VFiRIUraVXdcxXy6PyBpK73nCN1xbVPEWREVFKYHjZrd1vR8RJ/zLdZDHwpubAxs8Jqr+7JPWmzBt79qAWw==} + /@mui/styles@6.1.1(@types/react@18.3.8)(react@18.3.1): + resolution: {integrity: sha512-gZxluffgoVPjpe6YCJRGoTTTmi/YBJnJQzUhkyfjXTyNzMMPlifau0cA+b7c/c1cshlwYm5JJWIRRlvSk0PivA==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3136,10 +3136,10 @@ packages: dependencies: '@babel/runtime': 7.25.6 '@emotion/hash': 0.9.2 - '@mui/private-theming': 6.1.0(@types/react@18.3.5)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 6.1.0(@types/react@18.3.5)(react@18.3.1) - '@types/react': 18.3.5 + '@mui/private-theming': 6.1.1(@types/react@18.3.8)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 6.1.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 clsx: 2.1.1 csstype: 3.1.3 hoist-non-react-statics: 3.3.2 @@ -3155,7 +3155,7 @@ packages: react: 18.3.1 dev: false - /@mui/system@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1): + /@mui/system@5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3172,21 +3172,21 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/private-theming': 5.16.6(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/private-theming': 5.16.6(@types/react@18.3.8)(react@18.3.1) '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) - '@types/react': 18.3.5 + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/system@6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-NumkGDqT6EdXfcoFLYQ+M4XlTW5hH3+aK48xAbRqKPXJfxl36CBt4DLduw/Voa5dcayGus9T6jm1AwU2hoJ5hQ==} + /@mui/system@6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1): + resolution: {integrity: sha512-PaYsCz2tUOcpu3T0okDEsSuP/yCDIj9JZ4Tox1JovRSKIjltHpXPsXZSGr3RiWdtM1MTQMFMCZzu0+CKbyy+Kw==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -3202,31 +3202,31 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/private-theming': 6.1.0(@types/react@18.3.5)(react@18.3.1) - '@mui/styled-engine': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) - '@mui/types': 7.2.16(@types/react@18.3.5) - '@mui/utils': 6.1.0(@types/react@18.3.5)(react@18.3.1) - '@types/react': 18.3.5 + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/private-theming': 6.1.1(@types/react@18.3.8)(react@18.3.1) + '@mui/styled-engine': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(react@18.3.1) + '@mui/types': 7.2.17(@types/react@18.3.8) + '@mui/utils': 6.1.1(@types/react@18.3.8)(react@18.3.1) + '@types/react': 18.3.8 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/types@7.2.16(@types/react@18.3.5): - resolution: {integrity: sha512-qI8TV3M7ShITEEc8Ih15A2vLzZGLhD+/UPNwck/hcls2gwg7dyRjNGXcQYHKLB5Q7PuTRfrTkAoPa2VV1s67Ag==} + /@mui/types@7.2.17(@types/react@18.3.8): + resolution: {integrity: sha512-oyumoJgB6jDV8JFzRqjBo2daUuHpzDjoO/e3IrRhhHo/FxJlaVhET6mcNrKHUq2E+R+q3ql0qAtvQ4rfWHhAeQ==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.8 dev: false - /@mui/utils@5.16.6(@types/react@18.3.5)(react@18.3.1): + /@mui/utils@5.16.6(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3237,16 +3237,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/types': 7.2.16(@types/react@18.3.5) - '@types/prop-types': 15.7.12 - '@types/react': 18.3.5 + '@mui/types': 7.2.17(@types/react@18.3.8) + '@types/prop-types': 15.7.13 + '@types/react': 18.3.8 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 react-is: 18.3.1 dev: false - /@mui/utils@6.0.0-rc.0(@types/react@18.3.5)(react@18.3.1): + /@mui/utils@6.0.0-rc.0(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-tBp0ILEXDL0bbDDT8PnZOjCqSm5Dfk2N0Z45uzRw+wVl6fVvloC9zw8avl+OdX1Bg3ubs/ttKn8nRNv17bpM5A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3257,17 +3257,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/types': 7.2.16(@types/react@18.3.5) - '@types/prop-types': 15.7.12 - '@types/react': 18.3.5 + '@mui/types': 7.2.17(@types/react@18.3.8) + '@types/prop-types': 15.7.13 + '@types/react': 18.3.8 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 react-is: 18.3.1 dev: false - /@mui/utils@6.1.0(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-oT8ZzMISRUhTVpdbYzY0CgrCBb3t/YEdcaM13tUnuTjZ15pdA6g5lx15ZJUdgYXV6PbJdw7tDQgMEr4uXK5TXQ==} + /@mui/utils@6.1.1(@types/react@18.3.8)(react@18.3.1): + resolution: {integrity: sha512-HlRrgdJSPbYDXPpoVMWZV8AE7WcFtAk13rWNWAEVWKSanzBBkymjz3km+Th/Srowsh4pf1fTSP1B0L116wQBYw==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3277,24 +3277,24 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@mui/types': 7.2.16(@types/react@18.3.5) - '@types/prop-types': 15.7.12 - '@types/react': 18.3.5 + '@mui/types': 7.2.17(@types/react@18.3.8) + '@types/prop-types': 15.7.13 + '@types/react': 18.3.8 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 react-is: 18.3.1 dev: false - /@mui/x-date-pickers@7.17.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.0)(@mui/system@6.1.0)(@types/react@18.3.5)(dayjs@1.11.13)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-3mIw1uOZU/yKweZsVAo9QnwVFzLHqXgXG1TbGbDJ4AU6FhN2TCUlR9tzKHSlYdAHZ0bEWDS1/bgeGsQC7skXMA==} + /@mui/x-date-pickers@7.18.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@mui/system@6.1.1)(@types/react@18.3.8)(dayjs@1.11.13)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-12tXIoMj9vpS8fS/bS3kWPCoVrH38vNGCxgplI0vOnUrN9rJuYJz3agLPJe1S0xciTw+9W8ZSe3soaW+owoz1Q==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 '@emotion/styled': ^11.8.1 '@mui/material': ^5.15.14 || ^6.0.0 '@mui/system': ^5.15.14 || ^6.0.0 - date-fns: ^2.25.0 || ^3.2.0 + date-fns: ^2.25.0 || ^3.2.0 || ^4.0.0 date-fns-jalali: ^2.13.0-0 || ^3.2.0-0 dayjs: ^1.10.7 luxon: ^3.0.2 @@ -3324,12 +3324,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/material': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@mui/system': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1) - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) - '@mui/x-internals': 7.17.0(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/material': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@mui/system': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1) + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) + '@mui/x-internals': 7.18.0(@types/react@18.3.8)(react@18.3.1) '@types/react-transition-group': 4.4.11 clsx: 2.1.1 dayjs: 1.11.13 @@ -3341,34 +3341,21 @@ packages: - '@types/react' dev: false - /@mui/x-internals@7.17.0(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-FLlAGSJl/vsuaA/8hPGazXFppyzIzxApJJDZMoTS0geUmHd0hyooISV2ltllLmrZ/DGtHhI08m8GGnHL6/vVeg==} + /@mui/x-internals@7.18.0(@types/react@18.3.8)(react@18.3.1): + resolution: {integrity: sha512-lzCHOWIR0cAIY1bGrWSprYerahbnH5C31ql/2OWCEjcngL2NAV1M6oKI2Vp4HheqzJ822c60UyWyapvyjSzY/A==} engines: {node: '>=14.0.0'} peerDependencies: react: ^17.0.0 || ^18.0.0 dependencies: '@babel/runtime': 7.25.6 - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) react: 18.3.1 transitivePeerDependencies: - '@types/react' dev: false - /@mui/x-internals@7.17.0(@types/react@18.3.5)(react@18.3.1): - resolution: {integrity: sha512-FLlAGSJl/vsuaA/8hPGazXFppyzIzxApJJDZMoTS0geUmHd0hyooISV2ltllLmrZ/DGtHhI08m8GGnHL6/vVeg==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: ^17.0.0 || ^18.0.0 - dependencies: - '@babel/runtime': 7.25.6 - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) - react: 18.3.1 - transitivePeerDependencies: - - '@types/react' - dev: false - - /@mui/x-tree-view@7.17.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.0.2)(@mui/system@6.0.2)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-xDpsF6b1D/rlkJBH6yb8kHbda2k6YOyxZ3HCYG3nq5yvUARhi2/gwRztUT0gwqAZ5UwzhL/i3U4/SomV+0T8HA==} + /@mui/x-tree-view@7.18.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@mui/system@6.1.1)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-3UJAYtBquc0SzKxEEdM68XlKOuuCl70ktZPqqI3z4wTZ0HK445XXc32t/s0VPIL94kRxWQcGPpgWFauScDwhug==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -3384,12 +3371,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.25.6 - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/material': 6.0.2(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@mui/system': 6.0.2(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react@18.3.1) - '@mui/utils': 5.16.6(@types/react@18.3.5)(react@18.3.1) - '@mui/x-internals': 7.17.0(@types/react@18.3.5)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/material': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@mui/system': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react@18.3.1) + '@mui/utils': 5.16.6(@types/react@18.3.8)(react@18.3.1) + '@mui/x-internals': 7.18.0(@types/react@18.3.8)(react@18.3.1) '@types/react-transition-group': 4.4.11 clsx: 2.1.1 prop-types: 15.8.1 @@ -3445,8 +3432,8 @@ packages: resolution: {integrity: sha512-/Ri4xDDpe12NT6Ex/DRgHzLlobiQXEW/hmG08w1wj/YU7hLemk97c+zHQFp0iZQ9r7YqgLEXZR2sls4HxBf9NA==} dev: false - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + /@polka/url@1.0.0-next.28: + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} dev: true /@popperjs/core@2.11.8: @@ -3599,48 +3586,48 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/create-react-class@15.6.8: resolution: {integrity: sha512-s5HocgHXvN4Phoypsz8+4TLFreWRUrMcq9MHgwVleqNNR5EipSrFN49LCU/N7j8nIiQoRExY9n79LBrTDdsE1Q==} dependencies: - '@types/prop-types': 15.7.12 - '@types/react': 18.3.5 + '@types/prop-types': 15.7.13 + '@types/react': 18.3.8 dev: true /@types/emscripten@1.39.13: resolution: {integrity: sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==} dev: true - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} dev: true /@types/express-serve-static-core@4.19.5: resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} dependencies: - '@types/node': 22.5.4 - '@types/qs': 6.9.15 + '@types/node': 22.5.5 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 dev: true @@ -3650,7 +3637,7 @@ packages: dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.5 - '@types/qs': 6.9.15 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 dev: true @@ -3662,20 +3649,20 @@ packages: resolution: {integrity: sha512-WRXN0kQPCnqxN0/PgNgc7WBF6c8rbSHsEep3/qBLpsQ824RONdOmTs0TV7XhIW2GDNRAHO2CqCgAFLR5PChosw==} dependencies: '@types/fbemitter': 2.0.35 - '@types/react': 18.3.5 + '@types/react': 18.3.8 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/history@4.7.11: @@ -3693,7 +3680,7 @@ packages: /@types/http-proxy@1.17.15: resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/istanbul-lib-coverage@2.0.6: @@ -3748,11 +3735,11 @@ packages: /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true - /@types/node@22.5.4: - resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + /@types/node@22.5.5: + resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} dependencies: undici-types: 6.19.8 dev: true @@ -3769,11 +3756,11 @@ packages: resolution: {integrity: sha512-y4tHUVVoMEOm2nxRLQ2/ET8upj/pBmoutGxFw2LZJTQWPgWXI+cbxVEUFFmIzr/bpFR83hGDOTSXX6HBeObvZA==} dev: true - /@types/prop-types@15.7.12: - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - /@types/qs@6.9.15: - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + /@types/qs@6.9.16: + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} dev: true /@types/range-parser@1.2.7: @@ -3787,14 +3774,14 @@ packages: /@types/react-dom@18.3.0: resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.8 dev: true /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.5 + '@types/react': 18.3.8 '@types/react-router': 5.1.20 dev: true @@ -3802,19 +3789,19 @@ packages: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.5 + '@types/react': 18.3.8 dev: true /@types/react-transition-group@4.4.11: resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==} dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.8 dev: false - /@types/react@18.3.5: - resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + /@types/react@18.3.8: + resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==} dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 /@types/retry@0.12.0: @@ -3835,7 +3822,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/serve-index@1.9.4: @@ -3848,14 +3835,14 @@ packages: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/send': 0.17.4 dev: true /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/source-list-map@0.1.6: @@ -3866,7 +3853,7 @@ packages: resolution: {integrity: sha512-ep8b36RKHlgWPqjNG9ToUrPiwkhwh0AEzy883mO5Xnd+cL6VBH1EvSjBAAuxLUFF2Vn/moE3Me6v9E1Lo+48GQ==} dependencies: '@types/emscripten': 1.39.13 - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/stack-utils@2.0.3: @@ -3886,7 +3873,7 @@ packages: /@types/webpack-sources@3.2.3: resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/source-list-map': 0.1.6 source-map: 0.7.4 dev: true @@ -3894,7 +3881,7 @@ packages: /@types/webpack@4.41.39: resolution: {integrity: sha512-otxUJvoi6FbBq/64gGH34eblpKLgdi+gf08GaAh8Bx6So0ZZic028Ev/SUxD22gbthMKCkeeiXEat1kHLDJfYg==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -3905,7 +3892,7 @@ packages: /@types/ws@8.5.12: resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /@types/yargs-parser@21.0.3: @@ -3918,7 +3905,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5): resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3929,14 +3916,14 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 7.8.0(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@4.9.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/utils': 7.8.0(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3947,7 +3934,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@4.9.5): + /@typescript-eslint/parser@7.8.0(eslint@8.57.1)(typescript@4.9.5): resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3962,7 +3949,7 @@ packages: '@typescript-eslint/typescript-estree': 7.8.0(typescript@4.9.5) '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -3984,7 +3971,7 @@ packages: '@typescript-eslint/visitor-keys': 7.8.0 dev: true - /@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@7.8.0(eslint@8.57.1)(typescript@4.9.5): resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3995,9 +3982,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.8.0(typescript@4.9.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/utils': 7.8.0(eslint@8.57.1)(typescript@4.9.5) debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -4057,19 +4044,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.9.5): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - eslint: 8.57.0 + eslint: 8.57.1 eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: @@ -4077,19 +4064,19 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@4.9.5): + /@typescript-eslint/utils@7.8.0(eslint@8.57.1)(typescript@4.9.5): resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.8.0 '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@4.9.5) - eslint: 8.57.0 + eslint: 8.57.1 semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -4621,8 +4608,8 @@ packages: - supports-color dev: true - /babel-loader@8.3.0(@babel/core@7.25.2)(webpack@5.94.0): - resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} + /babel-loader@8.4.1(@babel/core@7.25.2)(webpack@5.94.0): + resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 @@ -4834,8 +4821,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.22 + caniuse-lite: 1.0.30001662 + electron-to-chromium: 1.5.26 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) dev: true @@ -4892,8 +4879,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001660: - resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} + /caniuse-lite@1.0.30001662: + resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} dev: true /chalk@2.4.2: @@ -4949,6 +4936,13 @@ packages: fsevents: 2.3.3 dev: true + /chokidar@4.0.0: + resolution: {integrity: sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA==} + engines: {node: '>= 14.16.0'} + dependencies: + readdirp: 4.0.1 + dev: true + /chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -5227,12 +5221,12 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.45) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.45) - postcss-modules-scope: 3.2.0(postcss@8.4.45) - postcss-modules-values: 4.0.0(postcss@8.4.45) + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 webpack: 5.94.0(webpack-cli@4.10.0) @@ -5578,8 +5572,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.5.22: - resolution: {integrity: sha512-tKYm5YHPU1djz0O+CGJ+oJIvimtsCcwR2Z9w7Skh08lUdyzXY5djods3q+z2JkWdb7tCcmM//eVavSRAiaPRNg==} + /electron-to-chromium@1.5.26: + resolution: {integrity: sha512-Z+OMe9M/V6Ep9n/52+b7lkvYEps26z4Yz3vjWL1V61W0q+VLF1pOHhMY17sa4roz4AWmULSI8E6SAojZA5L0YQ==} dev: true /email-addresses@3.1.0: @@ -5812,7 +5806,7 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.30.0)(eslint@8.57.0): + /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.30.0)(eslint@8.57.1): resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -5820,14 +5814,14 @@ packages: eslint-plugin-import: ^2.25.2 dependencies: confusing-browser-globals: 1.0.11 - eslint: 8.57.0 - eslint-plugin-import: 2.30.0(eslint@8.57.0) + eslint: 8.57.1 + eslint-plugin-import: 2.30.0(eslint@8.57.1) object.assign: 4.1.5 object.entries: 1.1.8 semver: 6.3.1 dev: true - /eslint-config-airbnb@19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.0): + /eslint-config-airbnb@19.0.4(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1): resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5837,23 +5831,23 @@ packages: eslint-plugin-react: ^7.28.0 eslint-plugin-react-hooks: ^4.3.0 dependencies: - eslint: 8.57.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.30.0)(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-react: 7.36.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.30.0)(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) object.assign: 4.1.5 object.entries: 1.1.8 dev: true - /eslint-config-prettier@8.10.0(eslint@8.57.0): + /eslint-config-prettier@8.10.0(eslint@8.57.1): resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: true /eslint-import-resolver-node@0.3.9: @@ -5864,7 +5858,7 @@ packages: resolve: 1.22.8 dev: true - /eslint-module-utils@2.11.0(eslint@8.57.0): + /eslint-module-utils@2.11.0(eslint@8.57.1): resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} engines: {node: '>=4'} peerDependencies: @@ -5874,10 +5868,10 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.57.0 + eslint: 8.57.1 dev: true - /eslint-plugin-import@2.30.0(eslint@8.57.0): + /eslint-plugin-import@2.30.0(eslint@8.57.1): resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} engines: {node: '>=4'} peerDependencies: @@ -5890,9 +5884,9 @@ packages: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(eslint@8.57.0) + eslint-module-utils: 2.11.0(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -5904,7 +5898,7 @@ packages: tsconfig-paths: 3.15.0 dev: true - /eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5): + /eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@7.8.0)(eslint@8.57.1)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5917,16 +5911,16 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - eslint: 8.57.0 + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + eslint: 8.57.1 jest: 27.5.1 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0): + /eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} engines: {node: '>=4.0'} peerDependencies: @@ -5941,7 +5935,7 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -5951,7 +5945,7 @@ packages: string.prototype.includes: 2.0.0 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.0)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5962,22 +5956,22 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.0 - eslint-config-prettier: 8.10.0(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 8.10.0(eslint@8.57.1) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: true - /eslint-plugin-react@7.36.1(eslint@8.57.0): + /eslint-plugin-react@7.36.1(eslint@8.57.1): resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==} engines: {node: '>=4'} peerDependencies: @@ -5989,7 +5983,7 @@ packages: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -6030,16 +6024,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + /eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -6753,7 +6747,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.32.0 + terser: 5.33.0 dev: true /html-minifier-terser@7.2.0: @@ -6767,7 +6761,7 @@ packages: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.32.0 + terser: 5.33.0 dev: true /html-parse-stringify@3.0.1: @@ -6958,13 +6952,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.45): + /icss-utils@5.1.0(postcss@8.4.47): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.45 + postcss: 8.4.47 dev: true /ignore@5.3.2: @@ -7372,7 +7366,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -7497,7 +7491,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -7515,7 +7509,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -7531,7 +7525,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.9 - '@types/node': 22.5.4 + '@types/node': 22.5.5 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -7553,7 +7547,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -7608,7 +7602,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -7664,7 +7658,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -7721,7 +7715,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 graceful-fs: 4.2.11 dev: true @@ -7760,7 +7754,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7785,7 +7779,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 22.5.4 + '@types/node': 22.5.5 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -7796,7 +7790,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.5.5 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -8206,7 +8200,7 @@ packages: hasBin: true dev: true - /material-react-table@2.13.3(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/icons-material@6.1.0)(@mui/material@6.1.0)(@mui/x-date-pickers@7.17.0)(react-dom@18.3.1)(react@18.3.1): + /material-react-table@2.13.3(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/icons-material@6.1.1)(@mui/material@6.1.1)(@mui/x-date-pickers@7.18.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-xeyAEG6UYG3qgBIo17epAP5zsWT1pH0uCEkaUxvhki9sGcP35OqfOMSZJNhISvmqEqXKYHdqKbZI6iOwsg1sYA==} engines: {node: '>=16'} peerDependencies: @@ -8218,11 +8212,11 @@ packages: react: '>=17.0' react-dom: '>=17.0' dependencies: - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/icons-material': 6.1.0(@mui/material@6.1.0)(@types/react@18.3.5)(react@18.3.1) - '@mui/material': 6.1.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) - '@mui/x-date-pickers': 7.17.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.0)(@mui/system@6.1.0)(@types/react@18.3.5)(dayjs@1.11.13)(react-dom@18.3.1)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/icons-material': 6.1.1(@mui/material@6.1.1)(@types/react@18.3.8)(react@18.3.1) + '@mui/material': 6.1.1(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) + '@mui/x-date-pickers': 7.18.0(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@mui/material@6.1.1)(@mui/system@6.1.1)(@types/react@18.3.8)(dayjs@1.11.13)(react-dom@18.3.1)(react@18.3.1) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@18.3.1)(react@18.3.1) '@tanstack/react-virtual': 3.10.6(react-dom@18.3.1)(react@18.3.1) @@ -8745,45 +8739,45 @@ packages: engines: {node: '>= 0.4'} dev: true - /postcss-modules-extract-imports@3.1.0(postcss@8.4.45): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.47): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.45 + postcss: 8.4.47 dev: true - /postcss-modules-local-by-default@4.0.5(postcss@8.4.45): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.47): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.2.0(postcss@8.4.45): + /postcss-modules-scope@3.2.0(postcss@8.4.47): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.45): + /postcss-modules-values@4.0.0(postcss@8.4.47): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 dev: true /postcss-selector-parser@6.1.2: @@ -8798,8 +8792,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.45: - resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + /postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -9120,6 +9114,11 @@ packages: picomatch: 2.3.1 dev: true + /readdirp@4.0.1: + resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} + engines: {node: '>= 14.16.0'} + dev: true + /rechoir@0.7.1: resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} engines: {node: '>= 0.10'} @@ -9336,10 +9335,10 @@ packages: htmlparser2: 8.0.2 is-plain-object: 5.0.0 parse-srcset: 1.0.2 - postcss: 8.4.45 + postcss: 8.4.47 dev: false - /sass-loader@12.6.0(sass@1.78.0)(webpack@5.94.0): + /sass-loader@12.6.0(sass@1.79.2)(webpack@5.94.0): resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -9360,16 +9359,16 @@ packages: dependencies: klona: 2.0.6 neo-async: 2.6.2 - sass: 1.78.0 + sass: 1.79.2 webpack: 5.94.0(webpack-cli@4.10.0) dev: true - /sass@1.78.0: - resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==} + /sass@1.79.2: + resolution: {integrity: sha512-YmT1aoF1MwHsZEu/eXhbAJNsPGAhNP4UixW9ckEwWCvPcVdVF0/C104OGDVEqtoctKq0N+wM20O/rj+sSPsWeg==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.6.0 + chokidar: 4.0.0 immutable: 4.3.7 source-map-js: 1.2.1 dev: true @@ -9566,7 +9565,7 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /simple-zustand-devtools@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1)(zustand@4.4.7): + /simple-zustand-devtools@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1)(zustand@4.4.7): resolution: {integrity: sha512-Axfcfr9L3YL3kto7aschCQLY2VUlXXMnIVtaTe9Y0qWbNmPsX/y7KsNprmxBZoB0pww5ZGs1u/ohcrvQ3tE6jA==} peerDependencies: '@types/react': '>=18.0.0' @@ -9575,18 +9574,18 @@ packages: react-dom: '>=18.0.0' zustand: '>=1.0.2' dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.8 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - zustand: 4.4.7(@types/react@18.3.5)(react@18.3.1) + zustand: 4.4.7(@types/react@18.3.8)(react@18.3.1) dev: true /sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 dev: true @@ -9946,12 +9945,12 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.32.0 + terser: 5.33.0 webpack: 5.94.0(webpack-cli@4.10.0) dev: true - /terser@5.32.0: - resolution: {integrity: sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10512,7 +10511,7 @@ packages: webpack-cli: optional: true dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 @@ -10744,8 +10743,8 @@ packages: yargs-parser: 20.2.9 dev: true - /yet-another-react-lightbox@3.21.5(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ri73f6IMZD2UC7fdkmhNeDVh+1GZWeAnoSUHII/nyRovcRkUM+OwVAhwl1d5ZoNFGKjd+nHNMroAaoQONqRDZQ==} + /yet-another-react-lightbox@3.21.6(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-uKcRmmezsj1Fbj38B6hFOGwbAu94fPr8d5H6I0+1FmcToX56freEGXXXtdA1oRo6036ug+UgrKZzzvsw/MIM/w==} engines: {node: '>=14'} peerDependencies: react: '>=16.8.0' @@ -10764,7 +10763,7 @@ packages: resolution: {integrity: sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==} dev: false - /zustand@4.4.7(@types/react@18.3.5)(react@18.3.1): + /zustand@4.4.7(@types/react@18.3.8)(react@18.3.1): resolution: {integrity: sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==} engines: {node: '>=12.7.0'} peerDependencies: @@ -10779,20 +10778,20 @@ packages: react: optional: true dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.8 react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) - github.com/Canadian-Geospatial-Platform/geochart/62b1611c028dd27e8b275b070a18b199222becbb(@types/react@18.3.5): + github.com/Canadian-Geospatial-Platform/geochart/62b1611c028dd27e8b275b070a18b199222becbb(@types/react@18.3.8): resolution: {tarball: https://codeload.github.com/Canadian-Geospatial-Platform/geochart/tar.gz/62b1611c028dd27e8b275b070a18b199222becbb} id: github.com/Canadian-Geospatial-Platform/geochart/62b1611c028dd27e8b275b070a18b199222becbb name: geoview-geochart version: 0.1.0 dependencies: - '@emotion/react': 11.13.3(@types/react@18.3.5)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.5)(react@18.3.1) - '@mui/icons-material': 5.16.7(@mui/material@5.16.7)(@types/react@18.3.5)(react@18.3.1) - '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.5)(react-dom@18.3.1)(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.8)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3)(@types/react@18.3.8)(react@18.3.1) + '@mui/icons-material': 5.16.7(@mui/material@5.16.7)(@types/react@18.3.8)(react@18.3.1) + '@mui/material': 5.16.7(@emotion/react@11.13.3)(@emotion/styled@11.13.0)(@types/react@18.3.8)(react-dom@18.3.1)(react@18.3.1) ajv: 8.17.1 ajv-formats: 2.1.1 chart.js: 4.4.4 diff --git a/packages/geoview-core/public/datasets/geojson/metadata-new.meta b/packages/geoview-core/public/datasets/geojson/metadata-new.meta index 645cb50792f..7b6a31e1b3a 100644 --- a/packages/geoview-core/public/datasets/geojson/metadata-new.meta +++ b/packages/geoview-core/public/datasets/geojson/metadata-new.meta @@ -274,13 +274,11 @@ } }, "style": { - "Point": { - "styleType": "simple", - "label": "Point label", - "settings": { - "type": "simpleSymbol", - "symbol": "star" - } + "styleType": "simple", + "label": "Point label", + "settings": { + "type": "simpleSymbol", + "symbol": "star" } } }, @@ -338,13 +336,11 @@ } }, "style": { - "Point": { - "styleType": "simple", - "label": "Point label", - "settings": { - "type": "simpleSymbol", - "symbol": "star" - } + "styleType": "simple", + "label": "Point label", + "settings": { + "type": "simpleSymbol", + "symbol": "star" } } }, @@ -397,13 +393,11 @@ } }, "style": { - "Point": { - "styleType": "simple", - "label": "Point label", - "settings": { - "type": "simpleSymbol", - "symbol": "star" - } + "styleType": "simple", + "label": "Point label", + "settings": { + "type": "simpleSymbol", + "symbol": "star" } } }, @@ -456,13 +450,11 @@ } }, "style": { - "Point": { - "styleType": "simple", - "label": "Point label", - "settings": { - "type": "simpleSymbol", - "symbol": "star" - } + "styleType": "simple", + "label": "Point label", + "settings": { + "type": "simpleSymbol", + "symbol": "star" } } } diff --git a/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/wms-config.ts b/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/wms-config.ts index 825815b0e3c..6934cbb3aaf 100644 --- a/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/wms-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/wms-config.ts @@ -393,12 +393,15 @@ export class WmsLayerConfig extends AbstractGeoviewLayerConfig { layerConfigsToQuery.forEach((layerConfig: WmsLayerEntryConfig, layerIndex: number) => { // verify if the a request with the same layerId has already been sent up to now. for (i = 0; layerConfigsToQuery[i].layerId !== layerConfig.layerId; i++); - if (i === layerIndex) + if (i === layerIndex) { // if the layer found is the same as the current layer index, // this is the first time we execute this request - promisedArrayOfMetadata.push(this.#executeServiceMetadataRequest(`${this.metadataAccessPath}?Layers=${layerConfig.layerId}`)); - // otherwise, we are already waiting for the same request and we will wait for it to finish. - else promisedArrayOfMetadata.push(promisedArrayOfMetadata[i]); + const urlToQuery = this.metadataAccessPath.includes('?') + ? `${this.metadataAccessPath}&Layers=${layerConfig.layerId}` + : `${this.metadataAccessPath}?Layers=${layerConfig.layerId}`; + promisedArrayOfMetadata.push(this.#executeServiceMetadataRequest(urlToQuery)); + // otherwise, we are already waiting for the same request and we will wait for it to finish. + } else promisedArrayOfMetadata.push(promisedArrayOfMetadata[i]); }); // Since we use Promise.all, If one of the Promise awaited fails, then the whole service metadata fetching will fail. diff --git a/packages/geoview-core/src/api/config/types/classes/sub-layer-config/entry-config-base-class.ts b/packages/geoview-core/src/api/config/types/classes/sub-layer-config/entry-config-base-class.ts index 886f37e3e01..3d55951001b 100644 --- a/packages/geoview-core/src/api/config/types/classes/sub-layer-config/entry-config-base-class.ts +++ b/packages/geoview-core/src/api/config/types/classes/sub-layer-config/entry-config-base-class.ts @@ -1,8 +1,9 @@ import cloneDeep from 'lodash/cloneDeep'; import { CV_DEFAULT_LAYER_INITIAL_SETTINGS } from '@config/types/config-constants'; -import { TypeJsonObject } from '@config/types/config-types'; +import { toJsonObject, TypeJsonObject } from '@config/types/config-types'; import { AbstractGeoviewLayerConfig } from '@config/types/classes/geoview-config/abstract-geoview-layer-config'; +import { layerEntryIsGroupLayer } from '@config/types/type-guards'; import { TypeGeoviewLayerType, TypeLayerEntryType, @@ -56,7 +57,7 @@ export abstract class EntryConfigBaseClass { bounds: Extent | undefined; /** Layer entry data type. */ - entryType: TypeLayerEntryType; + entryType?: TypeLayerEntryType; // GV NOTE START **************************************************************************************************** // The following attributes use the 'definite assignment assertion' (! after the property name) to indicate that @@ -151,16 +152,6 @@ export abstract class EntryConfigBaseClass { // ================= // #region PROTECTED - /** - * The getter method that returns the language used to create the sublayer. - * - * @returns {TypeDisplayLanguage} The language associated to the config. - * @protected - */ - protected getLanguage(): TypeDisplayLanguage { - return this.#language; - } - /** * Validate the node configuration using the schema associated to its layer type. * @protected @@ -197,6 +188,11 @@ export abstract class EntryConfigBaseClass { return this.#geoviewLayerConfig.geoviewLayerType; } + /** Set the geoview layer that owns this sub-layer configuration. */ + setGeoviewLayerConfig(geoviewLayerConfig: AbstractGeoviewLayerConfig): void { + this.#geoviewLayerConfig = geoviewLayerConfig; + } + /** The geoview layer that owns this sub-layer configuration. */ getGeoviewLayerConfig(): AbstractGeoviewLayerConfig { return this.#geoviewLayerConfig; @@ -221,9 +217,11 @@ export abstract class EntryConfigBaseClass { /** * Method used to set the EntryConfigBaseClass error flag to true. Once this operation has been performed, the layer entry * config is no longer considered viable. + * + * @param {boolean} value The value to assign to the flag. */ - setErrorDetectedFlag(): void { - this.#errorDetectedFlag = true; + setErrorDetectedFlag(value = true): void { + this.#errorDetectedFlag = value; } /** @@ -235,6 +233,15 @@ export abstract class EntryConfigBaseClass { return this.#errorDetectedFlag; } + /** + * Method used to set the parent node. + * + * @param {EntryConfigBaseClass | undefined} parentNode The parent node. + */ + setParentNode(parentNode: EntryConfigBaseClass | undefined): void { + this.#parentNode = parentNode; + } + /** * The getter method that returns the parentNode. * @@ -244,6 +251,24 @@ export abstract class EntryConfigBaseClass { return this.#parentNode; } + /** + * The setter method that sets the language used to create the sublayer. + * + * @param {TypeDisplayLanguage} language The language associated to the config. + */ + setLanguage(language: TypeDisplayLanguage): void { + this.#language = language; + } + + /** + * The getter method that returns the language used to create the sublayer. + * + * @returns {TypeDisplayLanguage} The language associated to the config. + */ + getLanguage(): TypeDisplayLanguage { + return this.#language; + } + /** * This method returns the json string of the entry configuration. The output representation is a multi-line indented * string. Indentation can be controled using the ident parameter. Private variables are not serialized. @@ -264,6 +289,72 @@ export abstract class EntryConfigBaseClass { this.minScale = 0; this.maxScale = 0; } + + /** + * Create a clone of this node. + * + * @param {EntryConfigBaseClass | undefined} parentNode The layer group that owns this node. + * + * @returns {EntryConfigBaseClass} The clone copy of the node. + */ + clone(parentNode: EntryConfigBaseClass | undefined = undefined): EntryConfigBaseClass { + let cloneOfTheNode: EntryConfigBaseClass = cloneDeep(this); + + // Remove the following properties to avoid schema validation errors. + delete cloneOfTheNode.layerName; + delete cloneOfTheNode.entryType; + if ('listOfLayerEntryConfig' in cloneOfTheNode) cloneOfTheNode.listOfLayerEntryConfig = []; + + // Create a new instance using the cloned config. + if (cloneOfTheNode.isLayerGroup) + cloneOfTheNode = this.#geoviewLayerConfig.createGroupNode( + toJsonObject(cloneOfTheNode), + this.#language, + this.#geoviewLayerConfig, + parentNode + )!; + else + cloneOfTheNode = this.#geoviewLayerConfig.createLeafNode( + toJsonObject(cloneOfTheNode), + this.#language, + this.#geoviewLayerConfig, + parentNode + )!; + // Restore the layerName and the private properties. + cloneOfTheNode.layerName = this.layerName; + cloneOfTheNode.setErrorDetectedFlag(this.#errorDetectedFlag); + cloneOfTheNode.setLayerMetadata(this.#layerMetadata); + return cloneOfTheNode; + } + + /** + * The getter method that returns the sublayer configuration. If the layer path doesn't exists, return undefined. + * + * @returns {EntryConfigBaseClass | undefined} The sublayer configuration. + */ + getSubLayerConfig(layerPath: string): EntryConfigBaseClass | undefined { + // The node is a group + if (this.isLayerGroup && 'listOfLayerEntryConfig' in this) { + const pathItems = layerPath.split('/'); + if (pathItems[0] !== this.layerId) return undefined; + if (pathItems.length === 1) return this; + let { listOfLayerEntryConfig } = this; + let nodeFound: EntryConfigBaseClass | undefined; + for (let i = 1; i < pathItems.length; i++) { + nodeFound = (listOfLayerEntryConfig as EntryConfigBaseClass[]).find( + (layerEntryConfig) => layerEntryConfig.layerId === pathItems[i] + ); + if (!nodeFound) break; + listOfLayerEntryConfig = layerEntryIsGroupLayer(nodeFound) ? nodeFound.listOfLayerEntryConfig : []; + } + return nodeFound; + } + + // The node is a leaf. + if (layerPath === this.layerId) return this; + return undefined; + } + // #endregion PUBLIC // #endregion METHODS // #endregion CLASS HEADER diff --git a/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layer.tsx b/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layer.tsx index 7a26dbcee9a..37264b7bf53 100644 --- a/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layer.tsx +++ b/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layer.tsx @@ -140,12 +140,8 @@ export function AddNewLayer(): JSX.Element { } if (valid) { const guestedLayerType = api.config.guessLayerType(layerURL); - if (guestedLayerType) { - setLayerType(guestedLayerType as TypeGeoviewLayerType); - setActiveStep(1); - } else { - emitErrorNone(); - } + setLayerType(guestedLayerType as TypeGeoviewLayerType); + setActiveStep(1); } }; @@ -155,10 +151,10 @@ export function AddNewLayer(): JSX.Element { const handleStep2 = (): void => { setIsLoading(true); - const populateLayerList = async (curlayerType: TypeGeoviewLayerType) => { + const populateLayerList = async (curlayerType: TypeGeoviewLayerType): Promise => { try { const layersTree = await api.config.createMetadataLayerTree(layerURL, curlayerType, [], language); - console.log('layersTree', layersTree); + logger.logDebug('layersTree', layersTree); setLayerList(layersTree as GroupLayerEntryConfig[]); if (layersTree.length > 0) { setLayerName(layersTree[0].layerName ?? ''); @@ -254,9 +250,10 @@ export function AddNewLayer(): JSX.Element { layerType, layerURL, layersList: layerList, + language, }); - console.log('newGeoViewLayer to add', newGeoViewLayer); + logger.logDebug('newGeoViewLayer to add', newGeoViewLayer); // Add the layer using the proper function const addedLayer = api.maps[mapId].layer.addGeoviewLayer(newGeoViewLayer); @@ -276,7 +273,6 @@ export function AddNewLayer(): JSX.Element { // Failed to add, remove spinning, but stay on the add ui setIsLoading(false); } - // } }; /** diff --git a/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layers-utils.ts b/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layers-utils.ts index 113f9499d6f..596317cdba3 100644 --- a/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layers-utils.ts +++ b/packages/geoview-core/src/core/components/layers/left-panel/add-new-layer/add-new-layers-utils.ts @@ -1,11 +1,21 @@ -import { GroupLayerEntryConfig, TypeGeoviewLayerType, TypeLocalizedString } from '@/api/config/types/map-schema-types'; +import { Cast, toJsonObject } from '@config/types/config-types'; +import { + EntryConfigBaseClass, + GroupLayerEntryConfig, + MapFeatureConfig, + TypeDisplayLanguage, + TypeGeoviewLayerType, +} from '@config/types/map-schema-types'; +import { layerEntryIsGroupLayer } from '@config/types/type-guards'; import { createLocalizedString, generateId } from '@/core/utils/utilities'; import { TypeGeoviewLayerConfig } from '@/geo/map/map-schema-types'; +import { logger } from '@/core/utils/logger'; +/* type ListOfLayerEntry = { layerId: string; layerName?: TypeLocalizedString; - entryType?: string; + isLayerGroup?: boolean; listOfLayerEntryConfig?: ListOfLayerEntry[]; }; @@ -16,6 +26,7 @@ type GeoViewLayerToAdd = { metadataAccessPath: TypeLocalizedString; listOfLayerEntryConfig: ListOfLayerEntry[]; }; +*/ type BuildGeoViewLayerInput = { layerIdsToAdd: string[]; @@ -23,6 +34,7 @@ type BuildGeoViewLayerInput = { layerType: string; layerURL: string; layersList: GroupLayerEntryConfig[]; + language: TypeDisplayLanguage; }; export const getLayerById = (layersList: GroupLayerEntryConfig[], layerId: string): GroupLayerEntryConfig | null | undefined => { @@ -68,65 +80,124 @@ export const getLayerNameById = (layersList: GroupLayerEntryConfig[], layerId: s return getLayerById(layersList, layerId)?.layerName; }; -export const buildGeoLayerToAdd = function (inputProps: BuildGeoViewLayerInput): TypeGeoviewLayerConfig { - const { layerIdsToAdd, layerName, layerType, layerURL, layersList } = inputProps; - - const geoviewLayerConfig: GeoViewLayerToAdd = { - geoviewLayerId: generateId(), - geoviewLayerName: createLocalizedString(layerName), - geoviewLayerType: layerType as TypeGeoviewLayerType, - metadataAccessPath: createLocalizedString(layerURL), - listOfLayerEntryConfig: [], - }; - - // this functionadds a child layer to a parent layer in the geoviewLayerConfig - function appendChildLayerNode(treeRoot: ListOfLayerEntry, layerId: string, parentLayerId: string) { - if (treeRoot.layerId === parentLayerId) { - // eslint-disable-next-line no-param-reassign - treeRoot.entryType = 'group'; - // eslint-disable-next-line no-param-reassign - treeRoot.layerName = createLocalizedString(getLayerNameById(layersList, treeRoot.layerId) ?? 'unknown'); - - if (!treeRoot.listOfLayerEntryConfig) { - // eslint-disable-next-line no-param-reassign - treeRoot.listOfLayerEntryConfig = []; - } - treeRoot.listOfLayerEntryConfig.push({ layerId }); - return; - } - - if (treeRoot.listOfLayerEntryConfig) { - for (let i = 0; i < treeRoot.listOfLayerEntryConfig.length; i++) { - const layer = treeRoot.listOfLayerEntryConfig[i] as ListOfLayerEntry; - - if (layer.listOfLayerEntryConfig) { - appendChildLayerNode(layer, layerId, parentLayerId); +export const buildGeoLayerToAdd = (inputProps: BuildGeoViewLayerInput): TypeGeoviewLayerConfig => { + const { layerIdsToAdd, layerName, layerType, layerURL, layersList, language } = inputProps; + logger.logDebug(layersList); + + // If a non empty layer tree is provided, get the geoview layer that contains it, otherwise create the geoview layer using + // the parameters provided. + const geoviewLayerConfig = layersList?.length + ? layersList[0].getGeoviewLayerConfig() + : MapFeatureConfig.nodeFactory( + toJsonObject({ + geoviewLayerId: generateId(), + geoviewLayerType: layerType as TypeGeoviewLayerType, + metadataAccessPath: createLocalizedString(layerURL), + listOfLayerEntryConfig: [], + }), + language + ); + geoviewLayerConfig!.geoviewLayerName = layerName; + + if (layersList?.length) { + layerIdsToAdd.forEach((layerPath) => { + const pathItems = layerPath.split('/'); + // get the layer node selected from the layer tree. We search from the root of the tree (layersList[0]). + const layerNode = layersList[0].getSubLayerConfig(layerPath); + // If it is a group layer, create it by cloning each node 0f the path if it is not already created. + if (layerEntryIsGroupLayer(layerNode!)) { + // Search the current node in the geoview layer. + pathItems.forEach((nodeId, i) => { + const groupNode = geoviewLayerConfig?.getSubLayerConfig( + `${geoviewLayerConfig.geoviewLayerId}/${pathItems.slice(0, i + 1).join('/')}` + ); + // if it is not already created, create it. + if (!groupNode) { + // If we are at the top of the tree (index i = 0) ... + if (i === 0) { + // Get a copy of the group and erase its list of layer entry config. + const groupLayerToUse = layersList[0].getSubLayerConfig(nodeId)?.clone() as GroupLayerEntryConfig; + // Insert the copy in the geoview list of layer entry config + geoviewLayerConfig?.listOfLayerEntryConfig.push(groupLayerToUse as EntryConfigBaseClass); + } else { + // Get the parent group node list of sub-layers. + const parentLayerGroup = Cast( + geoviewLayerConfig?.getSubLayerConfig(`${geoviewLayerConfig.geoviewLayerId}/${pathItems.slice(0, i).join('/')}`) + ); + // Get a copy of the group and erase its list of layer entry config. + const groupLayerToUse = layersList[0] + .getSubLayerConfig(pathItems.slice(0, i + 1).join('/'))! + .clone(parentLayerGroup) as GroupLayerEntryConfig; + // Insert the copy in the parent list of layer entry config + parentLayerGroup.listOfLayerEntryConfig.push(groupLayerToUse as EntryConfigBaseClass); + } + } + }); + } else { + // The layer is not a group. Get the parent group node list of sub-layers. If we cannot find it, + // use the geoview list of sub-layers. + let parentLayerGroup: GroupLayerEntryConfig | undefined; + for (let i = 1; i < pathItems.length && !parentLayerGroup; i++) { + parentLayerGroup = Cast( + geoviewLayerConfig?.getSubLayerConfig( + `${geoviewLayerConfig.geoviewLayerId}/${pathItems.slice(0, pathItems.length - i).join('/')}` + ) + ); } + const parentLayerGroupArray = parentLayerGroup?.listOfLayerEntryConfig || geoviewLayerConfig?.listOfLayerEntryConfig; + // Insert a copy of the current node in the parent list of layer entry config + parentLayerGroupArray!.push(layerNode!.clone(parentLayerGroup)); } - } - } - - // adds a root layer node to the geoviewLayerConfig (a layer wthout children) - function addLevel1LayerNode(layerId: string) { - const exists = geoviewLayerConfig.listOfLayerEntryConfig.find((entry) => entry.layerId === layerId); + /* + https://canadian-geospatial-platform.github.io/geoview/public/datasets/geojson/metadata-new.meta + */ + }); - if (exists) return; - geoviewLayerConfig.listOfLayerEntryConfig.push({ layerId }); + const removeUnselectedGroups = (listOfLayerEntryConfig: EntryConfigBaseClass[]): EntryConfigBaseClass[] => { + return listOfLayerEntryConfig.reduce((newList, subLayer) => { + if (layerEntryIsGroupLayer(subLayer)) { + const listOfNodes = removeUnselectedGroups(subLayer.listOfLayerEntryConfig); + const pathItems = subLayer.getLayerPath().split('/'); + const nodePath = pathItems.slice(1).join('/'); + if (!layerIdsToAdd.includes(nodePath)) { + listOfNodes.forEach((node) => { + newList.push(node); + }); + } else newList.push(subLayer); + } else newList.push(subLayer); + return newList; + }, [] as EntryConfigBaseClass[]); + }; + geoviewLayerConfig!.listOfLayerEntryConfig = removeUnselectedGroups(geoviewLayerConfig!.listOfLayerEntryConfig!); } - layerIdsToAdd.forEach((layerId) => { - const layerTokens = layerId.split('/'); - - layerTokens.forEach((layerToken, index) => { - if (index === 0) { - addLevel1LayerNode(layerToken); - } else { - geoviewLayerConfig.listOfLayerEntryConfig.forEach((entry) => { - appendChildLayerNode(entry, layerToken, layerTokens[index - 1]); - }); - } - }); - }); + // GV: The following section of code must be deleted when the layer API will be able to consume the new config + // GV: Beginning of the temporary code + const patchForTheListOfLayerEntryConfig = (listOfLayerEntryConfig: EntryConfigBaseClass[]): EntryConfigBaseClass[] => { + return Cast( + listOfLayerEntryConfig.map((layer) => { + if (layerEntryIsGroupLayer(layer)) + return { + layerId: layer.layerId, + layerName: createLocalizedString(layer.layerName!), + isLayerGroup: layer.isLayerGroup, + entryType: 'group', + listOfLayerEntryConfig: patchForTheListOfLayerEntryConfig(layer.listOfLayerEntryConfig!), + }; + return { + layerId: layer.layerId, + layerName: createLocalizedString(layer.layerName!), + isLayerGroup: false, + source: { + dataAccessPath: createLocalizedString(geoviewLayerConfig!.metadataAccessPath), + }, + }; + }) + ); + }; + geoviewLayerConfig!.listOfLayerEntryConfig = patchForTheListOfLayerEntryConfig(geoviewLayerConfig!.listOfLayerEntryConfig); + geoviewLayerConfig!.metadataAccessPath = Cast(createLocalizedString(geoviewLayerConfig!.metadataAccessPath)); + // GV: End of temporary code - return geoviewLayerConfig as unknown as TypeGeoviewLayerConfig; + return Cast(geoviewLayerConfig!); };