diff --git a/libs/shared/lib/components/selectors/entityPillSelector.stories.tsx b/libs/shared/lib/components/selectors/entityPillSelector.stories.tsx
index 931e1410a4c92ffc837e465792add76bb58ac05d..1925d1fffae9e496ac169e6be3c2df8aa6e2e6b8 100644
--- a/libs/shared/lib/components/selectors/entityPillSelector.stories.tsx
+++ b/libs/shared/lib/components/selectors/entityPillSelector.stories.tsx
@@ -1,6 +1,6 @@
 import React, { useState } from 'react';
 import type { Meta, StoryObj } from '@storybook/react';
-import EntityPillSelector, { EntityPillSelectorProps } from './entityPillSelector';
+import { EntityPillSelector, EntityPillSelectorProps } from './entityPillSelector';
 
 const metaPillDropdown: Meta<typeof EntityPillSelector> = {
   component: EntityPillSelector,
diff --git a/libs/shared/lib/vis/visualizations/paohvis/components/CustomLine.tsx b/libs/shared/lib/vis/visualizations/paohvis/components/CustomLine.tsx
index d6cd9e5c7f094a56e6bbed3523cae7b35d82af35..1a306db83ba62264dcbad431e628c847ef93c083 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/components/CustomLine.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/components/CustomLine.tsx
@@ -6,9 +6,19 @@ interface LineProps {
   y1: number;
   y2: number;
   strokeWidth: number;
-  fill: string;
+  fill?: string;
+  className?: string;
 }
 
 export const CustomLine: React.FC<LineProps> = (props) => {
-  return <line x1={props.x1} x2={props.x2} y1={props.y1} y2={props.y2} strokeWidth={props.strokeWidth} fill={props.fill} />;
+  return (
+    <rect
+      x={props.x1}
+      width={props.x2 + props.strokeWidth - props.x1}
+      y={props.y1}
+      height={props.y2 + props.strokeWidth - props.y1}
+      fill={props.fill}
+      className={props.className}
+    />
+  );
 };
diff --git a/libs/shared/lib/vis/visualizations/paohvis/components/HyperRangeBlock.tsx b/libs/shared/lib/vis/visualizations/paohvis/components/HyperRangeBlock.tsx
index a313a2950ef7e91b0d46ead168332423cf43110b..83114728a0d6b73f22cbfd4453c1e72cb47cbf89 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/components/HyperRangeBlock.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/components/HyperRangeBlock.tsx
@@ -1,12 +1,13 @@
 import React, { useEffect, useState, useMemo } from 'react';
 import { CustomLine } from './CustomLine';
-import { PaohvisDataPaginated, RowInformation, LinesHyperedges } from '../types';
-import { ArrowDownward, ArrowUpward, Sort } from '@mui/icons-material';
+import { PaohvisDataPaginated, RowInformation, LinesHyperEdges } from '../types';
+import { ArrowDownward, ArrowUpward, ContactPageSharp, Sort } from '@mui/icons-material';
 import { select } from 'd3';
+import { visualizationColors, tailwindColors } from 'config';
 
 interface HyperEdgeRangesBlockProps {
   dataModel: PaohvisDataPaginated;
-  dataLinesHyperedges: LinesHyperedges[];
+  dataLinesHyperedges: LinesHyperEdges[];
   rowHeight: number;
   yOffset: number;
   rowLabelColumnWidth: number;
@@ -24,6 +25,7 @@ interface HyperEdgeRangesBlockProps {
   columnHeaderInformation: RowInformation;
   widthColumns: number;
   headerState: string;
+  configStyle: { [key: string]: string };
   handleClickHeaderSorting: (event: React.MouseEvent<SVGGElement, MouseEvent>) => void;
 }
 
@@ -38,6 +40,7 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
   rowsMaxPerPage,
   marginText,
   widthColumns,
+  configStyle,
   numRows,
   sortState,
   headerState,
@@ -46,23 +49,6 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
   onMouseLeaveHyperEdge,
   handleClickHeaderSorting,
 }) => {
-  /*
-  const [linePositions, setLinePositions] = useState<{ y0: number; y1: number; valid: boolean }[]>([]);
-
-  useEffect(() => {
-    if (currentPageRows && dataModel) {
-      const newLinePositions = dataModel.pageData.hyperEdgeRanges.map((hyperEdgeRange) => {
-        //console.log(hyperEdgeRange);
-        return intersectionElements([currentPageRows.startIndexRow, currentPageRows.endIndexRow], hyperEdgeRange.hyperEdges.indices);
-      });
-      console.log('internal: ', newLinePositions);
-      setLinePositions(newLinePositions);
-    } else {
-      setLinePositions([]);
-    }
-  }, [currentPageRows, dataModel]);
-  */
-
   const accumulatedWidthHeaders = useMemo(() => {
     const accumulatedWidths: number[] = [0];
     let sum = 0;
@@ -76,6 +62,10 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
 
     return accumulatedWidths;
   }, [columnHeaderInformation]);
+  const adjustedFontSize = useMemo(() => {
+    // text-sm: 0.75 rem, rowHeight: 20
+    return Math.max(0.4, (rowHeight * 0.75) / 20);
+  }, [rowHeight]);
 
   const [isHovered, setIsHovered] = useState(false);
   const [hoverRowIndex, setHoverRowIndex] = useState<number | null>(null);
@@ -127,12 +117,12 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
               {i === 0 && (
                 <CustomLine
                   key={`horizontalLineRowsTop-${i}`}
+                  className={`horizontalLineRowsTop-${i} fill-secondary-300`}
                   x1={0}
                   x2={dataModel.pageData.hyperEdgeRanges.length * rowHeight}
                   y1={-yOffset}
                   y2={-yOffset}
-                  strokeWidth={5}
-                  fill="hsl(var(--clr-pri--600))"
+                  strokeWidth={0.025 * rowHeight}
                 />
               )}
               {i === numRows - 1 && (
@@ -142,8 +132,8 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
                   x2={dataModel.pageData.hyperEdgeRanges.length * rowHeight}
                   y1={rowHeight * (i + 1)}
                   y2={rowHeight * (i + 1)}
-                  strokeWidth={1}
-                  fill="hsl(var(--clr-pri--600))"
+                  strokeWidth={0.025 * rowHeight}
+                  className="fill-secondary-300"
                 />
               )}
 
@@ -153,8 +143,8 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
                 x2={dataModel.pageData.hyperEdgeRanges.length * rowHeight}
                 y1={rowHeight * i}
                 y2={rowHeight * i}
-                strokeWidth={1}
-                fill="hsl(var(--clr-pri--600))"
+                strokeWidth={0.025 * rowHeight}
+                className="fill-secondary-300"
               />
             </React.Fragment>
           ))}
@@ -169,14 +159,35 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
               <g
                 key={'colsLabel col-' + indexRows}
                 className={'colsLabel col-' + indexRows}
-                transform={'translate(' + indexRows * rowHeight + ',' + 0 + ')rotate(-90,0,0)'}
+                transform={'translate(' + indexRows * rowHeight + ',0)rotate(-90,0,0)'}
               >
                 {columnHeaderInformation.map((row, index) => (
-                  <g key={'text-col-' + index} transform={'translate(' + accumulatedWidthHeaders[index] + ',' + 0 + ')'}>
-                    <rect width={row.width} height={rowHeight} fill={'hsl(var(--clr-sec--0))'} strokeWidth={0}></rect>
-                    <text x={row.width * marginText} y={rowHeight / 2} dy="0" dominantBaseline="middle" className={classTopTextColumns}>
-                      {row.data[indexRows]}
-                    </text>
+                  <g key={'text-col-' + index} transform={'translate(' + (accumulatedWidthHeaders[index] + rowHeight) + ',0)'}>
+                    {row.data[indexRows] !== undefined &&
+                    row.data[indexRows] !== '' &&
+                    (typeof row.data[indexRows] !== 'object' || Array.isArray(row.data[indexRows])) ? (
+                      <>
+                        <foreignObject x="0" y="0" width={0 === index ? row.width + rowHeight : row.width} height={rowHeight}>
+                          <div className="w-full h-full flex justify-center items-start">
+                            <span
+                              className={`${classTopTextColumns}`}
+                              style={{
+                                fontSize: `${adjustedFontSize}rem`,
+                              }}
+                            >
+                              {row.data[indexRows].toString()}
+                            </span>
+                          </div>
+                        </foreignObject>
+                      </>
+                    ) : (
+                      <rect
+                        width={0 === index ? row.width + rowHeight : row.width}
+                        height={rowHeight}
+                        fill={'url(#diagonal-lines)'}
+                        strokeWidth={0}
+                      ></rect>
+                    )}
                   </g>
                 ))}
               </g>
@@ -191,31 +202,42 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
           {columnHeaderInformation.map((headerData, headerIndex) => (
             <g
               key={'gHeadersColumns-' + headerIndex}
-              className={`headersCols-${headerData.header} cursor-pointer`}
-              transform={'translate(' + 0 + ',' + -accumulatedWidthHeaders[headerIndex] + ')rotate(-90, 0,0)'}
+              className={`headersCols-${headerData.header} cursor-pointer fill-secondary-200 hover:fill-secondary-300`}
+              transform={'translate(' + 0 + ',' + (-accumulatedWidthHeaders[headerIndex] - rowHeight) + ')rotate(-90, 0,0)'}
               onClick={(event) => {
                 handleClickHeaderSorting(event);
               }}
               onMouseEnter={(event) => {
                 setHoverRowIndex(headerIndex);
                 setIsHovered(true);
-                select(event.currentTarget).select('rect').attr('fill', 'hsl(var(--clr-sec--300))');
               }}
               onMouseLeave={(event) => {
                 setIsHovered(sortState !== 'original');
                 setHoverRowIndex(null);
-                select(event.currentTarget).select('rect').attr('fill', 'hsl(var(--clr-sec--200))');
               }}
             >
-              <rect width={headerData.width} height={rowHeight} fill={'hsl(var(--clr-sec--200))'} opacity={1.0} strokeWidth={0}></rect>
-              <text x={marginText * headerData.width} y={0.5 * rowHeight} dy="0" dominantBaseline="middle" className={classTopTextColumns}>
-                {headerData.header}
-              </text>
+              <rect
+                width={0 === headerIndex ? headerData.width + rowHeight : headerData.width}
+                height={rowHeight}
+                className="fill-secondary-200"
+                opacity={1.0}
+                strokeWidth={0}
+              ></rect>
+
+              <foreignObject x="0" y="0" width={headerData.width} height={rowHeight}>
+                <div className="w-full h-full flex justify-left">
+                  <span className={`${classTopTextColumns}`} style={{ fontSize: `${adjustedFontSize}rem` }}>
+                    {headerData.header !== undefined && (typeof headerData.header !== 'object' || Array.isArray(headerData.header))
+                      ? (headerData.header as any).toString()
+                      : ' '}
+                  </span>
+                </div>
+              </foreignObject>
               {iconComponents[headerIndex] && isHovered && (
                 <svg
                   xmlns="http://www.w3.org/2000/svg"
                   width={2 * headerData.width - rowHeight}
-                  height={24}
+                  height={rowHeight}
                   style={{ color: iconColors[headerIndex], stroke: 'none' }}
                 >
                   {iconComponents[headerIndex][headerIndex]}
@@ -226,55 +248,54 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
                 x2={headerData.width}
                 y1={0}
                 y2={rowHeight * (dataModel.pageData.hyperEdgeRanges.length + 1)}
-                strokeWidth={1}
-                fill="hsl(var(--clr-pri--600))"
+                strokeWidth={0.025 * rowHeight}
+                className="fill-secondary-300"
               />
             </g>
           ))}
         </g>
         {dataModel.pageData.hyperEdgeRanges.map((hyperEdgeRange, indexHyperEdgeRange) => (
-          <React.Fragment key={`fragment-${indexHyperEdgeRange}`}>
+          <React.Fragment key={indexHyperEdgeRange}>
             <g
-              key={'hyperEdgeBlockLinesRef-' + indexHyperEdgeRange}
               className={'hyperEdgeBlockLinesRef hyperEdgeLines-col-' + indexHyperEdgeRange}
+              transform={'translate(' + (rowLabelColumnWidth + indexHyperEdgeRange * rowHeight) + ',' + widthColumns + ')rotate(-90,0,0)'}
             >
+              <CustomLine
+                x1={-rowHeight * numRows}
+                x2={indexHyperEdgeRange === 0 ? 0 : yOffset}
+                y1={0}
+                y2={0}
+                strokeWidth={0.025 * rowHeight}
+                className="fill-secondary-300"
+              />
+            </g>
+            {indexHyperEdgeRange === dataModel.pageData.hyperEdgeRanges.length - 1 && (
               <g
-                key={'hyperEdgeBlockLinesRefTransformed-' + indexHyperEdgeRange}
-                transform={'translate(' + rowLabelColumnWidth + ',' + widthColumns + ')'}
+                key={'hyperEdgeBlockLinesRef-' + indexHyperEdgeRange}
+                className={'hyperEdgeBlockLinesRef hyperEdgeLines-col-' + indexHyperEdgeRange}
+                transform={
+                  'translate(' +
+                  (rowLabelColumnWidth + (dataModel.pageData.hyperEdgeRanges.length - 1) * rowHeight) +
+                  ',' +
+                  widthColumns +
+                  ')rotate(-90,0,0)'
+                }
               >
-                {currentPageRows &&
-                  dataModel.pageData.hyperEdgeRanges.map((row, index) => (
-                    <g
-                      key={'´gColsLinesTable-' + indexHyperEdgeRange + '-' + index}
-                      transform={'translate(' + index * rowHeight + ',' + 0 + ')rotate(-90,0,0)'}
-                    >
-                      {index == 0 ? (
-                        <CustomLine x1={-rowHeight * numRows} x2={0} y1={0} y2={0} strokeWidth={0.5} fill="hsl(var(--clr-pri--600))" />
-                      ) : (
-                        <CustomLine
-                          x1={-rowHeight * numRows}
-                          x2={yOffset}
-                          y1={0}
-                          y2={0}
-                          strokeWidth={0.5}
-                          fill="hsl(var(--clr-pri--600))"
-                        />
-                      )}
-                    </g>
-                  ))}
-                <g transform={'translate(' + (dataModel.pageData.hyperEdgeRanges.length - 1) * rowHeight + ',' + 0 + ')rotate(-90,0,0)'}>
-                  <CustomLine
-                    x1={-rowHeight * numRows}
-                    x2={yOffset}
-                    y1={rowHeight}
-                    y2={rowHeight}
-                    strokeWidth={0.5}
-                    fill="hsl(var(--clr-pri--600))"
-                  />
-                </g>
+                <CustomLine
+                  x1={-rowHeight * numRows}
+                  x2={yOffset}
+                  y1={rowHeight}
+                  y2={rowHeight}
+                  strokeWidth={0.025 * rowHeight}
+                  className="fill-secondary-300"
+                />
               </g>
-            </g>
+            )}
+          </React.Fragment>
+        ))}
 
+        {dataModel.pageData.hyperEdgeRanges.map((hyperEdgeRange, indexHyperEdgeRange) => (
+          <React.Fragment key={`fragment-${indexHyperEdgeRange}`}>
             <g
               className={'hyperEdgeBlock hyperEdge-col-' + indexHyperEdgeRange}
               key={'hyperEdgeBlockddd hyperEdge-col-' + indexHyperEdgeRange}
@@ -286,14 +307,14 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
                 transform={`translate(${rowLabelColumnWidth + indexHyperEdgeRange * rowHeight + 0.5 * rowHeight},${yOffset + 0.5 * rowHeight})`}
               >
                 {currentPageRows && dataLinesHyperedges[indexHyperEdgeRange]?.valid && (
-                  <line
+                  <CustomLine
                     key={'hyperRangeBlockLine line_' + indexHyperEdgeRange}
                     x1={0}
                     y1={(dataLinesHyperedges[indexHyperEdgeRange].y0 - currentPageRows.startIndexRow) * rowHeight}
                     x2={0}
                     y2={(dataLinesHyperedges[indexHyperEdgeRange].y1 - currentPageRows.startIndexRow) * rowHeight}
-                    strokeWidth={1.5}
-                    stroke="hsl(var(--clr-sec--800))"
+                    strokeWidth={0.075 * rowHeight}
+                    className="fill-secondary-300"
                   />
                 )}
               </g>
@@ -314,7 +335,7 @@ export const HyperEdgeRangesBlock: React.FC<HyperEdgeRangesBlockProps> = ({
                         cy={(valueIndex - currentPageRows.startIndexRow) * rowHeight}
                         r={rowHeight * 0.25}
                         fill="white"
-                        strokeWidth={rowHeight * 0.03}
+                        strokeWidth={0.025 * rowHeight}
                         stroke="black"
                       />
                     ))}
diff --git a/libs/shared/lib/vis/visualizations/paohvis/components/RowLabels.tsx b/libs/shared/lib/vis/visualizations/paohvis/components/RowLabels.tsx
index 096883c8feba637bff53064ae29f5f314f7129e0..b26c336d1a6eed0924d0ef0d988a7f74bd4be297 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/components/RowLabels.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/components/RowLabels.tsx
@@ -1,8 +1,7 @@
-import React, { useEffect, useState } from 'react';
+import React, { useEffect, useState, useMemo } from 'react';
 import { CustomLine } from './CustomLine';
 import { RowInformation } from '../types';
 import { ArrowDownward, ArrowUpward, Sort } from '@mui/icons-material';
-import { select, selectAll } from 'd3';
 
 interface RowLabelsProps {
   dataRows: RowInformation;
@@ -13,6 +12,7 @@ interface RowLabelsProps {
   marginText: number;
   sortState: string;
   headerState: string;
+  configStyle: { [key: string]: string };
   onMouseEnterRowLabels: (event: React.MouseEvent<SVGGElement, MouseEvent>) => void;
   onMouseLeaveRowLabels: () => void;
   handleClickHeaderSorting: (event: React.MouseEvent<SVGGElement, MouseEvent>) => void;
@@ -23,10 +23,11 @@ export const RowLabels = ({
   rowHeight,
   yOffset,
   rowLabelColumnWidth,
-  classTopTextColumns,
+  classTopTextColumns: classTopTextColums,
   marginText,
   sortState,
   headerState,
+  configStyle,
   onMouseEnterRowLabels,
   onMouseLeaveRowLabels,
   handleClickHeaderSorting,
@@ -39,11 +40,13 @@ export const RowLabels = ({
       accumulatedWidthHeaders.push(sum);
     }
   });
-
   const [isHovered, setIsHovered] = useState(false);
   const [hoverRowIndex, setHoverRowIndex] = useState<number | null>(null);
   const [iconComponents, setIconComponents] = useState<{ [key: number]: JSX.Element }[]>(Array(dataRows.length).fill({}));
   const [iconColors, setIconColors] = useState<string[]>([]);
+  const adjustedFontSize = useMemo(() => {
+    return Math.max(0.4, (rowHeight * 0.75) / 20);
+  }, [rowHeight]);
 
   useEffect(() => {
     const iconColorsTemporal: string[] = [];
@@ -86,29 +89,48 @@ export const RowLabels = ({
         {dataRows[0] &&
           dataRows[0].data.map((rowLabel, indexRows) => (
             <g key={indexRows} transform={'translate(0,' + (yOffset + indexRows * rowHeight) + ')'}>
-              <g
-                key={indexRows}
-                className={'rowsLabel row-' + indexRows}
-                onMouseEnter={onMouseEnterRowLabels}
-                onMouseLeave={onMouseLeaveRowLabels}
-              >
+              <g className={'rowsLabel row-' + indexRows} onMouseEnter={onMouseEnterRowLabels} onMouseLeave={onMouseLeaveRowLabels}>
                 {dataRows.map((row, index) => (
-                  <g key={'´gRowTable-' + index} transform={'translate(' + accumulatedWidthHeaders[index] + ',' + 0 + ')'}>
-                    <rect
-                      width={row.width}
-                      height={rowHeight}
-                      fill={indexRows % 2 === 0 ? 'hsl(var(--clr-sec--50))' : 'hsl(var(--clr-sec--0))'}
-                      strokeWidth={0}
-                    ></rect>
-                    <text x={row.width * marginText} y={rowHeight / 2} dy="0" dominantBaseline="middle" className={classTopTextColumns}>
-                      {row.data[indexRows]}
-                    </text>
+                  <g key={'gRowTable-' + index} transform={'translate(' + accumulatedWidthHeaders[index] + ',0)'}>
+                    {row.data[indexRows] !== undefined &&
+                    row.data[indexRows] !== '' &&
+                    (typeof row.data[indexRows] !== 'object' || Array.isArray(row.data[indexRows])) ? (
+                      <>
+                        <rect
+                          width={dataRows.length - 1 === index ? row.width + rowHeight : row.width}
+                          height={rowHeight}
+                          fill={indexRows % 2 === 0 ? 'hsl(var(--clr-sec--50))' : 'hsl(var(--clr-sec--0))'}
+                          strokeWidth={0}
+                        ></rect>
+                        <foreignObject x="0" y="0" width={row.width} height={rowHeight}>
+                          <div className="w-full h-full flex justify-center items-start">
+                            <span className={`${classTopTextColums}`} style={{ fontSize: `${adjustedFontSize}rem` }}>
+                              {row.data[indexRows].toString()}
+                            </span>
+                          </div>
+                        </foreignObject>
+                      </>
+                    ) : (
+                      <rect
+                        width={dataRows.length - 1 === index ? row.width + rowHeight : row.width}
+                        height={rowHeight}
+                        fill={'url(#diagonal-lines)'}
+                        strokeWidth={0}
+                      ></rect>
+                    )}
                   </g>
                 ))}
               </g>
-              <CustomLine x1={0} x2={rowLabelColumnWidth} y1={0} y2={0} strokeWidth={1} fill="hsl(var(--clr-pri--600))" />
-              {indexRows !== dataRows[0].data.length && (
-                <CustomLine x1={0} x2={rowLabelColumnWidth} y1={rowHeight} y2={rowHeight} strokeWidth={1} fill="hsl(var(--clr-pri--600))" />
+              <CustomLine x1={0} x2={rowLabelColumnWidth} y1={0} y2={0} strokeWidth={0.025 * rowHeight} className="fill-secondary-300" />
+              {indexRows === dataRows[0].data.length - 1 && (
+                <CustomLine
+                  x1={0}
+                  x2={rowLabelColumnWidth}
+                  y1={rowHeight}
+                  y2={rowHeight}
+                  strokeWidth={0.025 * rowHeight}
+                  className="fill-secondary-300"
+                />
               )}
             </g>
           ))}
@@ -119,8 +141,8 @@ export const RowLabels = ({
             x2={rowLabelColumnWidth - rowHeight}
             y1={yOffset - rowHeight}
             y2={yOffset - rowHeight}
-            strokeWidth={1}
-            fill="hsl(var(--clr-pri--600))"
+            strokeWidth={0.025 * rowHeight}
+            className="fill-secondary-300"
           />
           <CustomLine
             x1={rowLabelColumnWidth - rowHeight}
@@ -128,7 +150,7 @@ export const RowLabels = ({
             y1={yOffset - rowHeight}
             y2={yOffset + 0 * rowHeight}
             strokeWidth={1}
-            fill="hsl(var(--clr-pri--600))"
+            className="fill-secondary-300"
           />
         </g>
         <g key={'rowInformationHeaders'} className={'rowInformationHeaders'}>
@@ -136,7 +158,7 @@ export const RowLabels = ({
             <g key={'headersContent-' + indexRows}>
               <g
                 key={'gHeadersRows-' + indexRows}
-                className={`headersRows-${row.header} cursor-pointer`}
+                className={`headersRows-${row.header} cursor-pointer fill-secondary-200 hover:fill-secondary-300`}
                 transform={'translate(' + accumulatedWidthHeaders[indexRows] + ',' + (yOffset - rowHeight) + ')'}
                 onClick={(event) => {
                   handleClickHeaderSorting(event);
@@ -144,23 +166,33 @@ export const RowLabels = ({
                 onMouseEnter={(event) => {
                   setHoverRowIndex(indexRows);
                   setIsHovered(true);
-                  select(event.currentTarget).select('rect').attr('fill', 'hsl(var(--clr-sec--300))');
                 }}
                 onMouseLeave={(event) => {
                   setIsHovered(sortState !== 'original');
                   setHoverRowIndex(null);
-                  select(event.currentTarget).select('rect').attr('fill', 'hsl(var(--clr-sec--200))');
                 }}
               >
-                <rect width={row.width} height={rowHeight} fill={'hsl(var(--clr-sec--200))'} opacity={1.0} strokeWidth={0}></rect>
-                <text x={marginText * row.width} y={0.5 * rowHeight} dy="0" dominantBaseline="middle" className={classTopTextColumns}>
-                  {row.header}
-                </text>
+                <rect
+                  width={dataRows.length - 1 === indexRows ? row.width + rowHeight : row.width}
+                  height={rowHeight}
+                  className="fill-secondary-200"
+                  opacity={1.0}
+                  strokeWidth={0}
+                ></rect>
+                <foreignObject x="0" y="0" width={row.width} height={rowHeight}>
+                  <div className="w-full h-full flex justify-left">
+                    <span className={`${classTopTextColums}`} style={{ fontSize: `${adjustedFontSize}rem` }}>
+                      {row.header !== undefined && (typeof row.header !== 'object' || Array.isArray(row.header))
+                        ? (row.header as any).toString()
+                        : ' '}
+                    </span>
+                  </div>
+                </foreignObject>
                 {iconComponents[indexRows] && isHovered && (
                   <svg
                     xmlns="http://www.w3.org/2000/svg"
                     width={2 * row.width - rowHeight}
-                    height={24}
+                    height={rowHeight}
                     style={{ color: iconColors[indexRows], stroke: 'none' }}
                   >
                     {iconComponents[indexRows][indexRows]}
@@ -173,8 +205,8 @@ export const RowLabels = ({
                 x2={accumulatedWidthHeaders[indexRows]}
                 y1={yOffset - rowHeight}
                 y2={yOffset + dataRows[0].data.length * rowHeight}
-                strokeWidth={1}
-                fill="hsl(var(--clr-pri--600))"
+                strokeWidth={0.025 * rowHeight}
+                className="fill-secondary-200"
               />
             </g>
           ))}
diff --git a/libs/shared/lib/vis/visualizations/paohvis/docs.mdx b/libs/shared/lib/vis/visualizations/paohvis/docs.mdx
deleted file mode 100644
index f6601950532a4117fe058747cd7e564721eb03ba..0000000000000000000000000000000000000000
--- a/libs/shared/lib/vis/visualizations/paohvis/docs.mdx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Meta, Unstyled } from '@storybook/blocks';
-
-<Meta title="Visualizations/Paohvis" />
-
-# Paohvis documentation
-
-## Components
-
-1. [MakePaohvisMenu](#MakePaohvisMenu)
-2. [RowLabelColumn](#RowLabelColumn)
-3. [HyperEdgesRange](#HyperEdgesRange)
-4. [PaohvisFilterComponent](#PaohvisFilterComponent)
-5. [Important functions](#Importantfunctions)
-
-## MakePaohvisMenu
-
-Renders the menu to configure PAOHvis
-
-## RowLabelColumn
-
-Renders the left column with row labels
-
-## HyperEdgesRange
-
-Renders the table and the hyperedges
-
-## PaohvisFilterComponent
-
-Manage the filtering of the hyperedges
-
-# Important functions: toPaohvisDataParserUsercase
-
-toPaohvisDataParserUsercase(): Given a paohvis configuration and a queryResult it creates a data structure to make the paohvis visualization.
-
-1: parseQueryResult(PaohvisAxisInfo, nodeOrder: PaohvisNodeOrder)
-
-# Important functions: SortUseCase
-
-Responsible for sorting the data for the ToPaohvisDataParser. Given:
-
-- nodeOrder: [ alphabetical = 'Alphabetical', degree = 'Degree (amount of hyperedges)', byGroup = 'By Group' ]
-- rowNodes: array nodes
-- hyperEdgeDegree: nodes with its hyperedge degrees
-
-SortUseCase.sortNodes(nodeOrder, rowNodes, hyperEdgeDegree) does not return anything, just sorts the nodes array.
diff --git a/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisHolder.test.tsx b/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisHolder.test.tsx
deleted file mode 100644
index e2811c96e5afe7ab8be01604e463dc137a6ac6bc..0000000000000000000000000000000000000000
--- a/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisHolder.test.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * This program has been developed by students from the bachelor Computer Science at
- * Utrecht University within the Software Project course.
- * © Copyright Utrecht University (Department of Information and Computing Sciences)
- */
-
-import { describe, it, vi, expect } from 'vitest';
-import PaohvisListener from './PaohvisListener';
-import PaohvisHolder from './PaohvisHolder';
-
-describe('PaohvisHolder', () => {
-  it('should add an remove listeners correctly', () => {
-    const holder: PaohvisHolder = new PaohvisHolder();
-    const mockOnTableMade1 = vi.fn();
-    const mockOnTableMade2 = vi.fn();
-    const l1: PaohvisListener = { onTableMade: mockOnTableMade1 };
-    const l2: PaohvisListener = { onTableMade: mockOnTableMade2 };
-    holder.addListener(l1);
-    holder.addListener(l2);
-
-    expect(mockOnTableMade1).toHaveBeenCalledTimes(0);
-    expect(mockOnTableMade2).toHaveBeenCalledTimes(0);
-    holder.onTableMade('', '', '');
-    expect(mockOnTableMade1).toHaveBeenCalledTimes(1);
-    expect(mockOnTableMade2).toHaveBeenCalledTimes(1);
-
-    holder.removeListener(l2);
-    holder.onTableMade('', '', '');
-    expect(mockOnTableMade1).toHaveBeenCalledTimes(2);
-    expect(mockOnTableMade2).toHaveBeenCalledTimes(1);
-  });
-});
diff --git a/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisHolder.tsx b/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisHolder.tsx
deleted file mode 100644
index 4aa15a433a2dac5f4e32d9b6b88fcabd976cefe9..0000000000000000000000000000000000000000
--- a/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisHolder.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * This program has been developed by students from the bachelor Computer Science at
- * Utrecht University within the Software Project course.
- * © Copyright Utrecht University (Department of Information and Computing Sciences)
- */
-
-import PaohvisListener from './PaohvisListener';
-
-/** PaohvisHolder is an observer class for notifying listeners when a Paohvis table is made. */
-export default class PaohvisHolder {
-  private paohvisListeners: PaohvisListener[];
-  private entityVertical: string;
-  private entityHorizontal: string;
-  private relationName: string;
-
-  public constructor() {
-    this.paohvisListeners = [];
-    this.entityVertical = '';
-    this.entityHorizontal = '';
-    this.relationName = '';
-  }
-
-  /**
-   * This is called whenever a Paohvis table is made.
-   * @param entityVertical that is on the y-axis of the Paohis table.
-   * @param entityHorizontal that is on the x-axis of the Paohis table.
-   * @param relationName that is used as the hyperedge of the Paohis table.
-   */
-  public onTableMade(entityVertical: string, entityHorizontal: string, relationName: string): void {
-    this.entityVertical = entityVertical;
-    this.entityHorizontal = entityHorizontal;
-    this.relationName = relationName;
-
-    this.notifyListeners();
-  }
-
-  /**
-   * Adds a listener to the observer.
-   * @param listener The listener that we want to add.
-   */
-  public addListener(listener: PaohvisListener): void {
-    this.paohvisListeners.push(listener);
-  }
-
-  /**
-   * Removes a listener from the array of listeners.
-   * @param listener The listener that we want to remove.
-   */
-  public removeListener(listener: PaohvisListener): void {
-    this.paohvisListeners.splice(this.paohvisListeners.indexOf(listener), 1);
-  }
-
-  /** Notifies to all the listeners that a Paohvis table was made. */
-  private notifyListeners(): void {
-    this.paohvisListeners.forEach((listener) => listener.onTableMade(this.entityVertical, this.entityHorizontal, this.relationName));
-  }
-}
diff --git a/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisListener.tsx b/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisListener.tsx
deleted file mode 100644
index a93293b035af6c113b2def109c2e07610fa4cee5..0000000000000000000000000000000000000000
--- a/libs/shared/lib/vis/visualizations/paohvis/models/PaohvisListener.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * This program has been developed by students from the bachelor Computer Science at
- * Utrecht University within the Software Project course.
- * © Copyright Utrecht University (Department of Information and Computing Sciences)
- */
-
-/** Interface for the listener of the PaohvisHolder observer class. */
-export default interface PaohvisListener {
-  /**
-   * This is called whenever a Paohvis table is made.
-   * @param entityVertical that is on the y-axis of the Paohis table.
-   * @param entityHorizontal that is on the x-axis of the Paohis table.
-   * @param relationName that is used as the hyperedge of the Paohis table.
-   */
-  onTableMade(entityVertical: string, entityHorizontal: string, relationName: string): void;
-}
diff --git a/libs/shared/lib/vis/visualizations/paohvis/paohvis.stories.tsx b/libs/shared/lib/vis/visualizations/paohvis/paohvis.stories.tsx
index 3b2e4d26f4dfdb4e1aac6aec1718ee385881b23f..c19a13caaabe4d299600b1d67cab1b2f3db3b3cd 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/paohvis.stories.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/paohvis.stories.tsx
@@ -54,8 +54,8 @@ export const TestWithBig2ndChamber = {
     schema: big2ndChamberSchemaRaw,
     settings: {
       ...PaohVisComponent.settings,
-      rowNode: 'kamerleden',
-      columnNode: 'commissies',
+      rowNode: 'commissies',
+      columnNode: 'kamerleden',
     },
   },
 };
diff --git a/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx b/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx
index d8591de163526dd9fe9964501624930d6c85f7de..51274d3a3ae0fa92231a93ba9bde4ea756850708 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx
@@ -1,7 +1,6 @@
 import React, { useEffect, useRef, useState, useMemo } from 'react';
-import { PaohvisDataPaginated, RowInformation, LinesHyperedges } from './types';
+import { PaohvisDataPaginated, RowInformation, LinesHyperEdges } from './types';
 import { parseQueryResult } from './utils/dataProcessing';
-import { GraphMetadata } from '@graphpolaris/shared/lib/data-access/statistics';
 
 import { RowLabels } from './components/RowLabels';
 import { HyperEdgeRangesBlock } from './components/HyperRangeBlock';
@@ -38,11 +37,11 @@ const settings: PaohVisProps = {
   columnNode: '',
   attributeRowShow: ['_id', '# Connections'],
   attributeColumnShow: ['_id', '# Connections'],
-  numRowsDisplay: 10,
-  numColumnsDisplay: 30,
+  numRowsDisplay: 200,
+  numColumnsDisplay: 200,
   rowJumpAmount: 3,
   colJumpAmount: 3,
-  mergeData: true,
+  mergeData: false,
 };
 
 export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings }: VisualizationPropTypes<PaohVisProps>) => {
@@ -73,7 +72,7 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
   const [previousHeaderColumn, setPreviousHeaderColumn] = useState<string>('none');
 
   // lines hyperEdge
-  const [lineHyperEdges, setLineHyperEdges] = useState<LinesHyperedges[]>([]);
+  const [lineHyperEdges, setLineHyperEdges] = useState<LinesHyperEdges[]>([]);
 
   //
   const [indicesRowsForColumnSort, setIndicesRowsForColumnSort] = useState<number[]>([]);
@@ -114,14 +113,15 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
   const [widthTotalRowInformation, setWidthTotalRowInformation] = useState<number>(0);
   const [widthTotalColumnInformation, setWidthTotalColumnInformation] = useState<number>(0);
 
-  // text text-sm, font-semibold
-  const classTopTextColumns = 'font-inter font-medium text-xs stroke-none text-secondary-800';
+  const classTopTextColumns = 'text-secondary-800 mx-1 overflow-hidden whitespace-nowrap text-ellipsis';
 
-  const configStyle = {
+  const configStyle: { [key: string]: string } = {
     colorText: 'hsl(var(--clr-sec--800))',
     colorTextUnselect: 'hsl(var(--clr-sec--400))',
     colorLinesHyperEdge: 'hsl(var(--clr-black))',
+    colorLinesGrid: 'hsl(var(--clr-sec--300))',
   };
+
   let configPaohvis = useMemo(
     () => ({
       rowHeight: 30,
@@ -144,17 +144,17 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
   const onMouseEnterRowLabels = (event: React.MouseEvent<SVGGElement, MouseEvent>) => {
     const targetClassList = (event.currentTarget as SVGGElement).classList;
     // all elements - unselect
-    selectAll('.rowsLabel').selectAll('text').attr('fill', configStyle.colorTextUnselect);
+    selectAll('.rowsLabel').selectAll('span').style('color', configStyle.colorTextUnselect);
 
     selectAll('.' + targetClassList[1])
-      .selectAll('text')
-      .attr('fill', configStyle.colorText);
+      .selectAll('span')
+      .style('color', configStyle.colorText);
 
     // all hyperedges - unselect
     const hyperEdgeBlock = selectAll('.hyperEdgeBlock');
     hyperEdgeBlock.selectAll('circle').attr('stroke-opacity', '.3');
     hyperEdgeBlock.selectAll('line').attr('opacity', '.3');
-    selectAll('.text-columns').selectAll('text').attr('fill', configStyle.colorTextUnselect);
+    selectAll('.text-columns').selectAll('span').style('color', configStyle.colorTextUnselect);
 
     // get row selected
     const rowSelection: number = parseInt(targetClassList[1].substring('row-'.length), 10);
@@ -167,8 +167,8 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
         const classList = Array.from(hyperEdge.classList);
         // text columns
         selectAll('.col-' + classList[1].substring('hyperEdge-col-'.length))
-          .selectAll('text')
-          .attr('fill', configStyle.colorText);
+          .selectAll('span')
+          .style('color', configStyle.colorText);
 
         // hypererdge
         select('.' + classList[1])
@@ -187,20 +187,20 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
           .each(function () {
             const circleInside: number = parseInt(select(this).attr('class').substring('circle-'.length), 10);
             selectAll('.row-' + (circleInside - (currentPageRows?.startIndexRow ?? 0)))
-              .selectAll('text')
-              .attr('fill', configStyle.colorText);
+              .selectAll('span')
+              .style('color', configStyle.colorText);
           });
       }
     });
   };
 
   const onMouseLeaveRowLabels = () => {
-    selectAll('.rowsLabel').selectAll('text').attr('fill', configStyle.colorText);
+    selectAll('.rowsLabel').selectAll('span').style('color', configStyle.colorText);
     const hyperEdgeBlock = selectAll('.hyperEdgeBlock');
     hyperEdgeBlock.selectAll('circle').attr('stroke-opacity', '1');
     hyperEdgeBlock.selectAll('circle').attr('fill', 'white');
     hyperEdgeBlock.selectAll('line').attr('opacity', '1');
-    selectAll('.colsLabel').selectAll('text').attr('fill', configStyle.colorText);
+    selectAll('.colsLabel').selectAll('span').style('color', configStyle.colorText);
   };
 
   const onMouseEnterHyperEdge = (event: React.MouseEvent<SVGGElement, MouseEvent>) => {
@@ -211,8 +211,8 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
     hyperEdgeBlock.selectAll('circle').attr('stroke-opacity', '.3');
     hyperEdgeBlock.selectAll('line').attr('opacity', '.3');
     // all elements: column text and row text
-    selectAll('.colsLabel').selectAll('text').attr('fill', configStyle.colorTextUnselect);
-    selectAll('.rowsLabel').selectAll('text').attr('fill', configStyle.colorTextUnselect);
+    selectAll('.colsLabel').selectAll('span').style('color', configStyle.colorTextUnselect);
+    selectAll('.rowsLabel').selectAll('span').style('color', configStyle.colorTextUnselect);
 
     // selected elements
     const hyperEdgeSelected = select('.' + targetClassList[1]);
@@ -222,9 +222,10 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
 
     // selected elements col text
     const columnSelection = targetClassList[1].substring('hyperEdge-'.length);
+
     selectAll('.' + columnSelection)
-      .selectAll('text')
-      .attr('fill', configStyle.colorText);
+      .selectAll('span')
+      .style('color', configStyle.colorText);
 
     // selected elements nodes text
     hyperEdgeSelected.selectAll('circle').each(function (d, i) {
@@ -234,15 +235,15 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
       if (currentPageRows) {
         const indexNumber = parseInt(index);
         const rowSelector = `.row-${indexNumber - currentPageRows.startIndexRow}`;
-        select(rowSelector).selectAll('text').attr('fill', configStyle.colorText);
+        select(rowSelector).selectAll('span').style('color', configStyle.colorText);
       }
     });
   };
 
   const onMouseLeaveHyperEdge = () => {
     // all elements
-    selectAll('.colsLabel').selectAll('text').attr('fill', configStyle.colorText);
-    selectAll('.rowsLabel').selectAll('text').attr('fill', configStyle.colorText);
+    selectAll('.colsLabel').selectAll('span').style('color', configStyle.colorText);
+    selectAll('.rowsLabel').selectAll('span').style('color', configStyle.colorText);
 
     const hyperEdgeBlock = selectAll('.hyperEdgeBlock');
     hyperEdgeBlock.selectAll('circle').attr('stroke-opacity', '1');
@@ -478,6 +479,19 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
     }
   };
 
+  function svgResize() {
+    console.log('resize');
+  }
+
+  useEffect(() => {
+    if (!svgRef.current) return;
+    const resizeObserver = new ResizeObserver(() => {
+      console.log('resize');
+    });
+    resizeObserver.observe(svgRef.current);
+    return () => resizeObserver.disconnect(); // clean up
+  }, []);
+
   useEffect(() => {
     if (
       graphMetadata &&
@@ -506,186 +520,200 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
     // set new data
     // for dev env
 
-    let labelEdge = graphMetadata.edges.labels[0];
-    let edgeSchema = schema.edges.find((obj) => String(obj.key).includes(labelEdge));
-
-    // with sb
-    //if ('to' in schema.edges[0]) { // SB
-    if (true) {
-      //const toNode = schema.edges[0].to as string; // sb
-      let toNode = edgeSchema?.target as string;
-      const columnNodeAttributes = Object.keys(graphMetadata.nodes.types[settings.columnNode].attributes);
-
-      const newData = parseQueryResult(data, settings as PaohVisProps, toNode, settings.mergeData);
-      // original data without slicing
-      setNumRowsVisible(Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length));
-
-      const rowNodes = newData.nodes.filter((obj) => obj['label'].includes(settings.rowNode));
-      const columnNodes = newData.nodes.filter((obj) => obj['label'].includes(settings.columnNode));
-
-      // to keep order of new attributes
-      prevDisplayAttributesColumns.current = [...columnNodeAttributes];
-
-      setDataModel({
-        pageData: {
-          rowLabels: newData.rowLabels.slice(0, configPaohvis.rowsMaxPerPage),
-          hyperEdgeRanges: newData.hyperEdgeRanges.slice(0, configPaohvis.columnsMaxPerPage),
-          rowDegrees: newData.rowDegrees,
-          nodes: newData.nodes,
-          edges: newData.edges,
-        },
-        data: newData,
-        originalData: newData,
-      });
+    let labelEdge = '';
+    let edgeSchema;
 
-      // Update lines hyperedges
-      const newLinePositions = newData.hyperEdgeRanges.slice(0, configPaohvis.columnsMaxPerPage).map((hyperEdgeRange) => {
-        return intersectionElements(
-          [0, Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length)],
-          hyperEdgeRange.hyperEdges.indices,
-        );
-      });
-      setLineHyperEdges(newLinePositions);
+    let toNode = '';
 
-      const originalIndicesColumns = Array.from({ length: newData.hyperEdgeRanges.length + 1 }, (_, index) => index);
+    let columnNodeAttributes;
+    let rowNodeAttributes;
+    if (graphMetadata != undefined) {
+      labelEdge = graphMetadata.edges.labels[0];
+      edgeSchema = schema.edges.find((obj) => String(obj.key).includes(labelEdge));
+      toNode = edgeSchema?.target as string;
+      columnNodeAttributes = Object.keys(graphMetadata.nodes.types[settings.columnNode].attributes);
+      rowNodeAttributes = Object.keys(graphMetadata.nodes.types[settings.rowNode].attributes);
+    } else {
+      if ('to' in schema.edges[0]) toNode = schema.edges[0].to as string;
+      columnNodeAttributes = schema.nodes
+        .find((node: any) => {
+          return node.name === settings.columnNode;
+        })
+        ?.attributes?.map((attributesStructure: any) => attributesStructure.name);
+
+      rowNodeAttributes = schema.nodes
+        .find((node: any) => {
+          return node.name === settings.rowNode;
+        })
+        ?.attributes?.map((attributesStructure: any) => attributesStructure.name);
+    }
 
-      setIndicesColumnForRowSort(originalIndicesColumns);
-      setCurrentPageColumns({
-        startIndexColumn: 0,
-        endIndexColumn: Math.min(configPaohvis.columnsMaxPerPage, newData.hyperEdgeRanges.length),
-      });
+    const newData = parseQueryResult(data, settings as PaohVisProps, toNode, settings.mergeData);
 
-      const hyperEdgeRangesKeys = [...newData.hyperEdgeRanges.keys()];
-      setPermutationIndicesColumn(hyperEdgeRangesKeys);
-      setOriginalPermutationIndicesColumn(hyperEdgeRangesKeys);
-      setCurrentPageRows({
-        startIndexRow: 0,
-        endIndexRow: Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length),
-      });
+    // original data without slicing
+    setNumRowsVisible(Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length));
 
-      // columnInformation
-      const informationColumnTemporalOriginal: { header: string; data: any[]; width: number }[] = Object.entries(
-        graphMetadata.nodes.types[settings.columnNode].attributes,
-      ).map(([k, v]) => {
-        const mappedData = columnNodes.map((node) => node.attributes[k]);
-        return {
-          header: k,
-          data: mappedData,
-          width: configPaohvis.maxSizeTextRows,
-        };
-      });
+    const rowNodes = newData.nodes.filter((obj) => obj[graphMetadata === undefined ? '_id' : 'label'].includes(settings.rowNode));
+    const columnNodes = newData.nodes.filter((obj) => obj[graphMetadata === undefined ? '_id' : 'label'].includes(settings.columnNode));
+    // to keep order of new attributes
+    prevDisplayAttributesColumns.current = [...columnNodeAttributes];
 
-      const columnsIdDegree: { [_id: string]: number } = newData.hyperEdgeRanges.reduce((acc: { [_id: string]: number }, node) => {
-        acc[node._id] = node.degree;
-        return acc;
-      }, {});
+    setDataModel({
+      pageData: {
+        rowLabels: newData.rowLabels.slice(0, configPaohvis.rowsMaxPerPage),
+        hyperEdgeRanges: newData.hyperEdgeRanges.slice(0, configPaohvis.columnsMaxPerPage),
+        rowDegrees: newData.rowDegrees,
+        nodes: newData.nodes,
+        edges: newData.edges,
+      },
+      data: newData,
+      originalData: newData,
+    });
 
-      informationColumnTemporalOriginal.push({
-        header: '# Connections',
-        data: Object.values(columnsIdDegree),
-        width: configPaohvis.maxSizeTextColumns,
-      });
+    // Update lines hyperedges
+    const newLinePositions = newData.hyperEdgeRanges.slice(0, configPaohvis.columnsMaxPerPage).map((hyperEdgeRange) => {
+      return intersectionElements([0, Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length)], hyperEdgeRange.hyperEdges.indices);
+    });
+    setLineHyperEdges(newLinePositions);
 
-      informationColumnTemporalOriginal.push({
-        header: '_id',
-        data: columnNodes.map((node) => node._id),
-        width: configPaohvis.maxSizeTextID, //configPaohvis.maxSizeTextRows,
-      });
+    const originalIndicesColumns = Array.from({ length: newData.hyperEdgeRanges.length + 1 }, (_, index) => index);
 
-      const informationColumnTemporal: { header: string; data: any[]; width: number }[] = informationColumnTemporalOriginal.map((d) => ({
-        ...d,
-        data: d.data.slice(0, Math.min(configPaohvis.columnsMaxPerPage, newData.hyperEdgeRanges.length)),
-      }));
+    setIndicesColumnForRowSort(originalIndicesColumns);
+    setCurrentPageColumns({
+      startIndexColumn: 0,
+      endIndexColumn: Math.min(configPaohvis.columnsMaxPerPage, newData.hyperEdgeRanges.length),
+    });
 
-      setPermutationIndicesRow(originalPermutationIndicesRow);
+    const hyperEdgeRangesKeys = [...newData.hyperEdgeRanges.keys()];
+    setPermutationIndicesColumn(hyperEdgeRangesKeys);
+    setOriginalPermutationIndicesColumn(hyperEdgeRangesKeys);
+    setCurrentPageRows({
+      startIndexRow: 0,
+      endIndexRow: Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length),
+    });
 
-      const columnsAttrOrder = prevDisplayAttributesColumns.current;
+    // columnInformation
+    const informationColumnTemporalOriginal: { header: string; data: any[]; width: number }[] = Object.entries(
+      graphMetadata.nodes.types[settings.columnNode].attributes,
+    ).map(([k, v]) => {
+      const mappedData = columnNodes.map((node) => node.attributes[k]);
+      return {
+        header: k,
+        data: mappedData,
+        width: configPaohvis.maxSizeTextRows,
+      };
+    });
 
-      if (columnsAttrOrder) {
-        // sort them according order of showing them
-        informationColumnTemporal.sort((a, b) => {
-          const indexA = columnsAttrOrder.indexOf(a.header);
-          const indexB = columnsAttrOrder.indexOf(b.header);
-          return indexA - indexB;
-        });
+    const columnsIdDegree: { [_id: string]: number } = newData.hyperEdgeRanges.reduce((acc: { [_id: string]: number }, node) => {
+      acc[node._id] = node.degree;
+      return acc;
+    }, {});
 
-        informationColumnTemporalOriginal.sort((a, b) => {
-          const indexA = columnsAttrOrder.indexOf(a.header);
-          const indexB = columnsAttrOrder.indexOf(b.header);
-          return indexA - indexB;
-        });
+    informationColumnTemporalOriginal.push({
+      header: '# Connections',
+      data: Object.values(columnsIdDegree),
+      width: configPaohvis.maxSizeTextColumns,
+    });
 
-        // select necessary variables to show
-        const filteredInformationColumnTemporal = informationColumnTemporal.filter((row) =>
-          settings.attributeColumnShow.includes(row.header),
-        );
+    informationColumnTemporalOriginal.push({
+      header: '_id',
+      data: columnNodes.map((node) => node._id),
+      width: configPaohvis.maxSizeTextID,
+    });
 
-        // set data
-        setInformationColumn(filteredInformationColumnTemporal);
-        setInformationColumnOriginal(informationColumnTemporalOriginal);
-        setInformationColumnAllData(informationColumnTemporalOriginal);
-        const totalWidthColumnInformation = filteredInformationColumnTemporal.reduce((acc, row) => acc + row.width, 0);
-        setWidthTotalColumnInformation(totalWidthColumnInformation);
-      } else {
-        console.error(`Nodes for entity  are undefined or empty.`);
-      }
+    const informationColumnTemporal: { header: string; data: any[]; width: number }[] = informationColumnTemporalOriginal.map((d) => ({
+      ...d,
+      data: d.data.slice(0, Math.min(configPaohvis.columnsMaxPerPage, newData.hyperEdgeRanges.length)),
+    }));
 
-      // rowInformation - entityVertical
-      // build
+    setPermutationIndicesRow(originalPermutationIndicesRow);
 
-      const informationRowTemporalOriginal: { header: string; data: any[]; width: number }[] = Object.entries(
-        graphMetadata.nodes.types[settings.rowNode].attributes,
-      ).map(([k, v]) => {
-        const mappedData = rowNodes.map((node) => node.attributes[k]);
+    const columnsAttrOrder = prevDisplayAttributesColumns.current;
 
-        return {
-          header: k,
-          data: mappedData,
-          width: configPaohvis.maxSizeTextRows,
-        };
+    if (columnsAttrOrder) {
+      // sort them according order of showing them
+      informationColumnTemporal.sort((a, b) => {
+        const indexA = columnsAttrOrder.indexOf(a.header);
+        const indexB = columnsAttrOrder.indexOf(b.header);
+        return indexA - indexB;
       });
 
-      const idsRows = rowNodes.map((obj) => obj._id);
-
-      informationRowTemporalOriginal.push({
-        header: '# Connections',
-        data: idsRows.map((id) => newData.rowDegrees[id]),
-        width: configPaohvis.maxSizeTextRows,
+      informationColumnTemporalOriginal.sort((a, b) => {
+        const indexA = columnsAttrOrder.indexOf(a.header);
+        const indexB = columnsAttrOrder.indexOf(b.header);
+        return indexA - indexB;
       });
 
-      informationRowTemporalOriginal.push({
-        header: '_id',
-        data: idsRows,
-        width: configPaohvis.maxSizeTextID, //configPaohvis.maxSizeTextRows,
-      });
+      // select necessary variables to show
+      const filteredInformationColumnTemporal = informationColumnTemporal.filter((row) =>
+        settings.attributeColumnShow.includes(row.header),
+      );
 
-      const informationRowTemporal: { header: string; data: any[]; width: number }[] = informationRowTemporalOriginal.map((d) => ({
-        ...d,
-        data: d.data.slice(0, Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length)),
-      }));
+      // set data
+      setInformationColumn(filteredInformationColumnTemporal);
+      setInformationColumnOriginal(informationColumnTemporalOriginal);
+      setInformationColumnAllData(informationColumnTemporalOriginal);
+      const totalWidthColumnInformation = filteredInformationColumnTemporal.reduce((acc, row) => acc + row.width, 0) + settings.rowHeight;
+      setWidthTotalColumnInformation(totalWidthColumnInformation);
+    } else {
+      console.error(`Nodes for entity  are undefined or empty.`);
+    }
 
-      const objectWithIdHeader = informationRowTemporalOriginal.find((obj) => obj.header === '_id');
-      let originalIndices: number[] = [];
+    // rowInformation - entityVertical
+    // build
 
-      if (objectWithIdHeader) {
-        originalIndices = [...objectWithIdHeader.data.keys()];
-      } else {
-        console.error("Row Object with header 'id' not found");
-      }
-      setOriginalPermutationIndicesRow(originalIndices);
-      setIndicesRowsForColumnSort(originalIndices);
+    const informationRowTemporalOriginal: { header: string; data: any[]; width: number }[] = Object.entries(
+      graphMetadata.nodes.types[settings.rowNode].attributes,
+    ).map(([k, v]) => {
+      const mappedData = rowNodes.map((node) => node.attributes[k]);
 
-      // select necessary variables to show
-      const filteredInformationRowTemporal = informationRowTemporal.filter((row) => settings.attributeRowShow.includes(row.header));
+      return {
+        header: k,
+        data: mappedData,
+        width: configPaohvis.maxSizeTextRows,
+      };
+    });
 
-      // set data
-      setInformationRow(filteredInformationRowTemporal);
-      setInformationRowOriginal(informationRowTemporalOriginal);
-      setInformationRowAllData(informationRowTemporalOriginal);
-      const totalWidthRowInformation = filteredInformationRowTemporal.reduce((acc, row) => acc + row.width, 0);
+    const idsRows = rowNodes.map((obj) => obj._id);
+
+    informationRowTemporalOriginal.push({
+      header: '# Connections',
+      data: idsRows.map((id) => newData.rowDegrees[id]),
+      width: configPaohvis.maxSizeTextRows,
+    });
+
+    informationRowTemporalOriginal.push({
+      header: '_id',
+      data: idsRows,
+      width: configPaohvis.maxSizeTextID, //configPaohvis.maxSizeTextRows,
+    });
 
-      setWidthTotalRowInformation(totalWidthRowInformation);
+    const informationRowTemporal: { header: string; data: any[]; width: number }[] = informationRowTemporalOriginal.map((d) => ({
+      ...d,
+      data: d.data.slice(0, Math.min(configPaohvis.rowsMaxPerPage, newData.rowLabels.length)),
+    }));
+
+    const objectWithIdHeader = informationRowTemporalOriginal.find((obj) => obj.header === '_id');
+    let originalIndices: number[] = [];
+
+    if (objectWithIdHeader) {
+      originalIndices = [...objectWithIdHeader.data.keys()];
+    } else {
+      console.error("Row Object with header 'id' not found");
     }
+    setOriginalPermutationIndicesRow(originalIndices);
+    setIndicesRowsForColumnSort(originalIndices);
+
+    // select necessary variables to show
+    const filteredInformationRowTemporal = informationRowTemporal.filter((row) => settings.attributeRowShow.includes(row.header));
+
+    // set data
+    setInformationRow(filteredInformationRowTemporal);
+    setInformationRowOriginal(informationRowTemporalOriginal);
+    setInformationRowAllData(informationRowTemporalOriginal);
+    const totalWidthRowInformation = filteredInformationRowTemporal.reduce((acc, row) => acc + row.width, 0) + settings.rowHeight;
+
+    setWidthTotalRowInformation(totalWidthRowInformation);
   }, [
     settings.rowNode,
     settings.columnNode,
@@ -753,7 +781,7 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
 
   const onPageChangeColumns = (delta: number) => {
     const startIndexColumn = (currentPageColumns?.startIndexColumn || 0) + delta;
-    if (startIndexColumn < 0 || startIndexColumn + configPaohvis.columnsMaxPerPage > dataModel.data.hyperEdgeRanges.length) return;
+    if (startIndexColumn < 0 || startIndexColumn + 10 > dataModel.data.hyperEdgeRanges.length) return;
     const endIndexColumn = Math.min(startIndexColumn + configPaohvis.columnsMaxPerPage, dataModel.data.hyperEdgeRanges.length);
 
     const slicedHyperEdgeRanges = dataModel.data.hyperEdgeRanges.slice(startIndexColumn, endIndexColumn);
@@ -791,7 +819,7 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
 
   const onPageChangeRows = (delta: number) => {
     const startIndexRow = (currentPageRows?.startIndexRow || 0) + delta;
-    if (startIndexRow < 0 || startIndexRow + configPaohvis.rowsMaxPerPage > dataModel.data.rowLabels.length) return;
+    if (startIndexRow < 0 || startIndexRow + 10 > dataModel.data.rowLabels.length) return;
     const endIndexRow = Math.min(startIndexRow + configPaohvis.rowsMaxPerPage, dataModel.data.rowLabels.length);
 
     setNumRowsVisible(endIndexRow - startIndexRow);
@@ -823,27 +851,35 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
 
   return (
     <svg
+      className="m-1 overflow-hidden"
       ref={svgRef}
       style={{
-        // width: computedSizesSvg.tableWidthWithExtraColumnLabelWidth,
         width: '100%',
-        height: computedSizesSvg.colWidth + (numRowsVisible + 1) * settings.rowHeight,
+        height: '99%',
       }}
       onWheel={onWheel}
     >
-      <RowLabels
-        dataRows={informationRow}
-        rowHeight={settings.rowHeight}
-        yOffset={computedSizesSvg.colWidth}
-        rowLabelColumnWidth={widthTotalRowInformation}
-        classTopTextColumns={classTopTextColumns}
-        onMouseEnterRowLabels={onMouseEnterRowLabels}
-        onMouseLeaveRowLabels={onMouseLeaveRowLabels}
-        marginText={configPaohvis.marginText}
-        handleClickHeaderSorting={handleClickHeaderSorting}
-        sortState={sortingOrderRow}
-        headerState={previousHeaderRow}
-      />
+      <defs>
+          <pattern id="diagonal-lines" patternUnits="userSpaceOnUse" width="8" height="8">
+            <rect width="8" height="8" fill="#eaeaea" />
+            <path d="M0,0 L8,8 M-2,2 L2,-2 M6,10 L10,6" stroke="lightgray" strokeWidth="1" />
+          </pattern>
+        </defs>
+
+        <RowLabels
+          dataRows={informationRow}
+          rowHeight={settings.rowHeight}
+          yOffset={computedSizesSvg.colWidth}
+          rowLabelColumnWidth={widthTotalRowInformation}
+          classTopTextColumns={classTopTextColumns}
+          onMouseEnterRowLabels={onMouseEnterRowLabels}
+          onMouseLeaveRowLabels={onMouseLeaveRowLabels}
+          marginText={configPaohvis.marginText}
+          handleClickHeaderSorting={handleClickHeaderSorting}
+          sortState={sortingOrderRow}
+          headerState={previousHeaderRow}
+          configStyle={configStyle}
+        />
 
       <HyperEdgeRangesBlock
         dataModel={dataModel}
@@ -857,14 +893,16 @@ export const PaohVis = ({ data, graphMetadata, schema, settings, updateSettings
         widthColumns={widthTotalColumnInformation}
         columnHeaderInformation={informationColumn}
         rowsMaxPerPage={configPaohvis.rowsMaxPerPage}
-        onMouseEnterHyperEdge={onMouseEnterHyperEdge}
-        onMouseLeaveHyperEdge={onMouseLeaveHyperEdge}
-        numRows={numRowsVisible}
-        sortState={sortingOrderColumn}
-        handleClickHeaderSorting={handleClickHeaderSortingColumns}
-        headerState={previousHeaderColumn}
-      />
-    </svg>
+        configStyle={configStyle}
+          onMouseEnterHyperEdge={onMouseEnterHyperEdge}
+          onMouseLeaveHyperEdge={onMouseLeaveHyperEdge}
+          numRows={numRowsVisible}
+          sortState={sortingOrderColumn}
+          handleClickHeaderSorting={handleClickHeaderSortingColumns}
+          headerState={previousHeaderColumn}
+        />
+      </svg>
+
   );
 };
 
@@ -1005,14 +1043,33 @@ const PaohSettings = ({ settings, graphMetadata, updateSettings }: Visualization
           </div>
         )}
 
-        <Input type="number" label="Row height" value={settings.rowHeight} onChange={(val) => updateSettings({ rowHeight: val })} />
+        <Input
+          type="slider"
+          label="Row height"
+          value={settings.rowHeight}
+          onChange={(val) => updateSettings({ rowHeight: val })}
+          min={8}
+          max={30}
+          step={1}
+        />
 
-        <Input type="number" label="# Rows" value={settings.numRowsDisplay} onChange={(val) => updateSettings({ numRowsDisplay: val })} />
         <Input
-          type="number"
+          type="slider"
+          label="# Rows"
+          value={settings.numRowsDisplay}
+          onChange={(val) => updateSettings({ numRowsDisplay: val })}
+          min={30}
+          max={400}
+          step={1}
+        />
+        <Input
+          type="slider"
           label="# Columns"
           value={settings.numColumnsDisplay}
           onChange={(val) => updateSettings({ numColumnsDisplay: val })}
+          min={30}
+          max={400}
+          step={1}
         />
         <Input
           type="number"
diff --git a/libs/shared/lib/vis/visualizations/paohvis/types.ts b/libs/shared/lib/vis/visualizations/paohvis/types.ts
index 705120df6d1c733436a6005cf437d50f00eedfbb..f554e1e4d89cd033ba4474eaebd9126cf4c8c8c0 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/types.ts
+++ b/libs/shared/lib/vis/visualizations/paohvis/types.ts
@@ -8,7 +8,7 @@ import { Edge, Node, NodeAttributes } from '@graphpolaris/shared/lib/data-access
 /** The data that is needed to make the complete Paohvis table. */
 export type PaohvisData = {
   rowLabels: string[];
-  hyperEdgeRanges: HyperEdgeRange2[];
+  hyperEdgeRanges: HyperEdgeRange[];
   rowDegrees: { [key: string]: number };
   nodes: Node[];
   edges: Edge[];
@@ -28,32 +28,20 @@ export type RowInformation = {
   data: any[];
 }[];
 
-export type LinesHyperedges = {
+export type LinesHyperEdges = {
   y0: number;
   y1: number;
   valid: boolean;
 };
 
 /** The ranges of the hyperEdges consisting of the name of the range with all adequate hyperEdges. */
-/*
-export type HyperEdgeRange = {
-  rangeText: string;
-  hyperEdges: HyperEdgeI[];
-};
-
 export type HyperEdgeI = {
   indices: number[];
-  frequencies: number[];
-  nameToShow: string;
-};
-*/
-export type HyperEdgeI2 = {
-  indices: number[];
 };
 
-export type HyperEdgeRange2 = {
-  rangeText: any;
-  hyperEdges: HyperEdgeI2;
+export type HyperEdgeRange = {
+  rangeText: number;
+  hyperEdges: HyperEdgeI;
   _id: string;
   reduced_ids: string[];
   degree: number;
@@ -180,12 +168,12 @@ export interface GraphData {
   edges: Node[];
 }
 
-export interface connectionFromTo {
+export interface ConnectionFromTo {
   to: string;
   from: string;
   attributes: NodeAttributes;
 }
-export interface idConnections {
+export interface IdConnections {
   [key: string]: string[];
 }
 
diff --git a/libs/shared/lib/vis/visualizations/paohvis/utils/AttributesFilterUseCase.tsx b/libs/shared/lib/vis/visualizations/paohvis/utils/AttributesFilterUseCase.tsx
index 4c0abd1e3efa46b3eee90437d133260c2e6a7f43..0b824f9b5df4fab39524cffd3e44c4c623aa4931 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/utils/AttributesFilterUseCase.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/utils/AttributesFilterUseCase.tsx
@@ -53,6 +53,7 @@ export default class AttributeFilterUsecase {
 }
 
 /** Filters the given array on the designated boolean attribute with the given predicate. */
+
 function filterBoolAttributes<T extends Node | Edge>(axisNodesOrEdges: T[], filter: FilterInfo): T[] {
   const predicate = boolPredicates[filter.predicateName];
   if (predicate == undefined) throw new Error('Predicate does not exist');
diff --git a/libs/shared/lib/vis/visualizations/paohvis/utils/CalcEntitiesFromQueryResult.tsx b/libs/shared/lib/vis/visualizations/paohvis/utils/CalcEntitiesFromQueryResult.tsx
deleted file mode 100644
index ff160f5c0997cfe0a99c31fd4fd41b4ddb53028e..0000000000000000000000000000000000000000
--- a/libs/shared/lib/vis/visualizations/paohvis/utils/CalcEntitiesFromQueryResult.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * This program has been developed by students from the bachelor Computer Science at
- * Utrecht University within the Software Project course.
- * © Copyright Utrecht University (Department of Information and Computing Sciences)
- */
-
-import { GraphQueryResult } from '@graphpolaris/shared/lib/data-access';
-import { getGroupName } from './ResultNodeLinkParserUseCase';
-
-/**
- * This calculates all entities from the query result.
- * @param {NodeLinkResultType} message This is the message with all the information about the entities and relations.
- * @returns {string[]} All names of the entities which are in the query result.
- */
-export function calcEntitiesFromQueryResult(message: GraphQueryResult): string[] {
-  const entityTypesFromQueryResult: string[] = [];
-  message.nodes.forEach((node) => {
-    const group = getGroupName(node);
-    if (!entityTypesFromQueryResult.includes(group)) entityTypesFromQueryResult.push(group);
-  });
-  return entityTypesFromQueryResult;
-}
diff --git a/libs/shared/lib/vis/visualizations/paohvis/utils/ToPaohvisDataParserUsecase.tsx b/libs/shared/lib/vis/visualizations/paohvis/utils/ToPaohvisDataParserUsecase.tsx
deleted file mode 100644
index 908360622329e646eb0636a7ffb5578a197cce74..0000000000000000000000000000000000000000
--- a/libs/shared/lib/vis/visualizations/paohvis/utils/ToPaohvisDataParserUsecase.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * This program has been developed by students from the bachelor Computer Science at
- * Utrecht University within the Software Project course.
- * © Copyright Utrecht University (Department of Information and Computing Sciences)
- */
-
-import { getGroupName } from './ResultNodeLinkParserUseCase';
-import { GraphQueryResult, Node } from '@graphpolaris/shared/lib/data-access';
-
-import { PaohvisAxisInfo, PaohvisData, PaohvisFilters, PaohvisNodeInfo, HyperEdgeRange2, HyperEdgeI2 } from '../types';
-import AttributeFilterUsecase, { getIds } from './AttributesFilterUseCase';
-import { countRepetition } from './utils';
-
-//type Index = number;
-//type Index = number;
diff --git a/libs/shared/lib/vis/visualizations/paohvis/utils/dataProcessing.tsx b/libs/shared/lib/vis/visualizations/paohvis/utils/dataProcessing.tsx
index f8cd33af7a5401004f28d7a989913896ebdb7eda..ba4501091180847c4f7b5b40de1ab0c7dec82dd2 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/utils/dataProcessing.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/utils/dataProcessing.tsx
@@ -1,5 +1,5 @@
 import { PaohVisProps } from '../paohvis';
-import { PaohvisData, HyperEdgeRange2, HyperEdgeI2 } from '../types';
+import { PaohvisData, HyperEdgeRange, HyperEdgeI } from '../types';
 import AttributeFilterUsecase, { getIds } from './AttributesFilterUseCase';
 import { countRepetition } from './utils';
 import { Edge, GraphQueryResult, Node } from '@graphpolaris/shared/lib/data-access';
@@ -32,14 +32,14 @@ function parseHyperEdgeRanges(
   nodeIdIndex: { [id: string]: number },
   columnNode: string,
   relationTo: string,
-): [HyperEdgeRange2[], { [key: string]: number }] {
+): [HyperEdgeRange[], { [key: string]: number }] {
   if (nodesColumn.length == 0 || nodesRow.length == 0) return [[], {}];
 
-  let resultHyperEdgeRanges: HyperEdgeRange2[] = nodesColumn.map((element) => {
+  let resultHyperEdgeRanges: HyperEdgeRange[] = nodesColumn.map((element) => {
     const rangeText: any = +element._id;
     const _id = element._id;
     const degree = 0;
-    const hyperEdges: HyperEdgeI2 = {
+    const hyperEdges: HyperEdgeI = {
       indices: [],
     };
 
@@ -52,7 +52,6 @@ function parseHyperEdgeRanges(
     };
   });
 
-  //console.log('resultHyperEdgeRanges', resultHyperEdgeRanges);
   const processedPairs = new Set<string>(); // To avoid processing pairs
 
   const toOrFrom = relationTo == columnNode ? 'to' : 'from';
@@ -116,9 +115,18 @@ export function parseQueryResult(
   const replaceNodeIds: Record<string, string> = {};
   const reducedReplaceNodeIds: Record<string, string[]> = {};
   const hashAttributesToIdMap: Record<string, string[]> = {};
-
   let nodesRow: AugmentedNode[] = queryResult.nodes
-    .filter((node) => node.label == configuration.rowNode)
+    .filter((node) => {
+      // some dataset do not have label field
+      let labelNode = '';
+      if (node.label !== undefined) {
+        labelNode = node.label;
+      } else {
+        const idParts = node._id.split('/');
+        labelNode = idParts[0];
+      }
+      return labelNode === configuration.rowNode;
+    })
     .map((node) => {
       const attributes = skipReduceRow
         ? node.attributes
@@ -138,7 +146,16 @@ export function parseQueryResult(
     });
 
   let nodesColumn: AugmentedNode[] = queryResult.nodes
-    .filter((node) => node.label == configuration.columnNode)
+    .filter((node) => {
+      let labelNode = '';
+      if (node.label !== undefined) {
+        labelNode = node.label;
+      } else {
+        const idParts = node._id.split('/');
+        labelNode = idParts[0];
+      }
+      return labelNode === configuration.columnNode;
+    })
     .map((node) => {
       const attributes = skipReduceColumn
         ? node.attributes
diff --git a/libs/shared/lib/vis/visualizations/paohvis/utils/utils.tsx b/libs/shared/lib/vis/visualizations/paohvis/utils/utils.tsx
index 2726a5e5b1cbb8fb50ab9b7ea074cfbd74ae1e14..8552ffd7c505f4b6a678e7f088807b3e09b365fe 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/utils/utils.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/utils/utils.tsx
@@ -3,8 +3,8 @@ import {
   AttributeNames,
   EntitiesFromSchema,
   RelationsFromSchema,
-  connectionFromTo,
-  idConnections,
+  ConnectionFromTo,
+  IdConnections,
   GraphData,
   RowInformation,
   Data2RenderI,
@@ -168,9 +168,9 @@ export function findConnectionsNodes(
   graphStructure: MultiGraph,
   labelNode: string,
   edges: Node[],
-): connectionFromTo[] {
-  const neighborMap: idConnections = {};
-  const neighborMapNo: idConnections = {};
+): ConnectionFromTo[] {
+  const neighborMap: IdConnections = {};
+  const neighborMapNo: IdConnections = {};
 
   let tempSetAttributes: any = [];
   let tempSetAttributesSs: any = [];
@@ -322,9 +322,9 @@ export function calcTextWidthAndStringText(
   return [truncatedLabels, maxWidth];
 }
 
-export function wrapperForEdge(data: idConnections, attributes: any): connectionFromTo[] {
+export function wrapperForEdge(data: IdConnections, attributes: any): ConnectionFromTo[] {
   const keysData = Object.keys(data);
-  const resultsDas: connectionFromTo[] = [];
+  const resultsDas: ConnectionFromTo[] = [];
   const results = keysData.forEach((item, index) => {
     const r = data[item].forEach((itemConnected) => {
       resultsDas.push({ from: item, to: itemConnected, attributes: attributes[index] });
diff --git a/libs/shared/lib/vis/visualizations/semanticsubstratesvis/configPanel/semSubsConfigPanel.stories.tsx b/libs/shared/lib/vis/visualizations/semanticsubstratesvis/configPanel/semSubsConfigPanel.stories.tsx
index dbc8e86aa6ed36ad43e56299a38ac5509c3af4bf..67199cf038ea00f5c281ca90c70452175b4faaec 100644
--- a/libs/shared/lib/vis/visualizations/semanticsubstratesvis/configPanel/semSubsConfigPanel.stories.tsx
+++ b/libs/shared/lib/vis/visualizations/semanticsubstratesvis/configPanel/semSubsConfigPanel.stories.tsx
@@ -1,6 +1,6 @@
 import React, { useState } from 'react';
 import type { Meta, StoryObj } from '@storybook/react';
-import SemSubsConfigPanel, { SemSubsConfigPanelProps } from '.';
+import { SemSubsConfigPanel, SemSubsConfigPanelProps } from './SemSubsConfigPanel';
 
 const metaPillDropdown: Meta<typeof SemSubsConfigPanel> = {
   component: SemSubsConfigPanel,
@@ -14,7 +14,7 @@ type Story = StoryObj<typeof SemSubsConfigPanel>;
 
 export const userAddsData: Story = {
   args: {
-    entitySelectedOptions: ['kamerleden', 'commissies'],
+    //entitySelectedOptions: ['kamerleden', 'commissies'],
     attributeSelectedOptions: ['Partij', 'Leeftijd', 'Woonplaats'],
     valueAttributeSelectedOptions: ['D66', 'VVD', 'PVV', 'DierenPartij'],
     xAxisSelectedOptions: ['Partij', 'Leeftijd', 'Woonplaats'],
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a88e3a1d09fa6336607a1cdf9f4dd0abb3c4a1cd..6308d9538e59d65e8c3ed24eab034ee2e734b635 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -34,13 +34,13 @@ importers:
         version: 1.12.5
       vitest:
         specifier: ^1.3.1
-        version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2)
+        version: 1.3.1(@types/node@20.11.27)
 
   apps/docs:
     dependencies:
       next:
         specifier: ^14.1.3
-        version: 14.1.3(@babel/core@7.24.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.72.0)
+        version: 14.1.3(@babel/core@7.24.0)(react-dom@18.2.0)(react@18.2.0)
       react:
         specifier: 18.2.0
         version: 18.2.0
@@ -80,10 +80,10 @@ importers:
         version: link:../../libs/shared
       '@mui/icons-material':
         specifier: ^5.15.13
-        version: 5.15.13(@mui/material@5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
+        version: 5.15.13(@mui/material@5.15.13)(@types/react@18.2.65)(react@18.2.0)
       '@reduxjs/toolkit':
         specifier: ^2.2.1
-        version: 2.2.1(react-redux@9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1))(react@18.2.0)
+        version: 2.2.1(react-redux@9.1.0)(react@18.2.0)
       config:
         specifier: workspace:*
         version: link:../../libs/config
@@ -98,19 +98,19 @@ importers:
         version: 18.2.0(react@18.2.0)
       react-grid-layout:
         specifier: ^1.4.4
-        version: 1.4.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 1.4.4(react-dom@18.2.0)(react@18.2.0)
       react-joyride:
         specifier: ^2.7.4
-        version: 2.7.4(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 2.7.4(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       react-redux:
         specifier: ^9.1.0
         version: 9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1)
       react-router-dom:
         specifier: ^6.22.3
-        version: 6.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 6.22.3(react-dom@18.2.0)(react@18.2.0)
       reactflow:
         specifier: 11.10.4
-        version: 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       use-immer:
         specifier: ^0.9.0
         version: 0.9.0(immer@10.0.4)(react@18.2.0)
@@ -123,10 +123,10 @@ importers:
         version: 0.5.1(@import-meta-env/cli@0.6.8)(dotenv@16.4.5)
       '@tailwindcss/typography':
         specifier: ^0.5.10
-        version: 0.5.10(tailwindcss@3.4.1(ts-node@10.9.2(@types/node@20.11.27)(typescript@5.4.2)))
+        version: 0.5.10(tailwindcss@3.4.1)
       '@testing-library/react':
         specifier: 14.2.1
-        version: 14.2.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 14.2.1(react-dom@18.2.0)(react@18.2.0)
       '@types/react':
         specifier: ^18.2.65
         version: 18.2.65
@@ -138,10 +138,10 @@ importers:
         version: 1.3.5
       '@vitejs/plugin-basic-ssl':
         specifier: ^1.1.0
-        version: 1.1.0(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 1.1.0(vite@5.1.6)
       '@vitejs/plugin-react-swc':
         specifier: ^3.6.0
-        version: 3.6.0(@swc/helpers@0.5.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 3.6.0(vite@5.1.6)
       autoprefixer:
         specifier: ^10.4.18
         version: 10.4.18(postcss@8.4.35)
@@ -171,28 +171,28 @@ importers:
         version: 5.1.0
       tailwindcss:
         specifier: ^3.4.1
-        version: 3.4.1(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2))
+        version: 3.4.1(ts-node@10.9.2)
       typescript:
         specifier: ^5.4.2
         version: 5.4.2
       vite:
         specifier: ^5.1.6
-        version: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+        version: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
       vite-plugin-dts:
         specifier: ^3.7.3
-        version: 3.7.3(@types/node@20.11.27)(rollup@4.13.0)(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 3.7.3(@types/node@20.11.27)(typescript@5.4.2)(vite@5.1.6)
       vite-plugin-sass-dts:
         specifier: ^1.3.17
-        version: 1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6)
       vitest:
         specifier: ^1.3.1
-        version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2)
+        version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)
 
   libs/config:
     devDependencies:
       '@tailwindcss/typography':
         specifier: ^0.5.10
-        version: 0.5.10(tailwindcss@3.4.1(ts-node@10.9.2(@types/node@20.11.27)(typescript@5.4.2)))
+        version: 0.5.10(tailwindcss@3.4.1)
       daisyui:
         specifier: ^4.7.3
         version: 4.7.3(postcss@8.4.35)
@@ -201,46 +201,46 @@ importers:
         version: 8.4.35
       tailwindcss:
         specifier: ^3.4.1
-        version: 3.4.1(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2))
+        version: 3.4.1(ts-node@10.9.2)
 
   libs/shared:
     dependencies:
       '@deck.gl-community/editable-layers':
         specifier: 9.0.0-alpha.1
-        version: 9.0.0-alpha.1(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/geo-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/constants@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))(@math.gl/core@4.0.1)
+        version: 9.0.0-alpha.1(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/geo-layers@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@luma.gl/constants@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)(@math.gl/core@4.0.1)
       '@deck.gl/core':
         specifier: ^9.0.12
-        version: 9.0.14
+        version: 9.0.12
       '@deck.gl/layers':
         specifier: ^9.0.12
-        version: 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+        version: 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@deck.gl/react':
         specifier: ^9.0.12
-        version: 9.0.14(@deck.gl/core@9.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 9.0.12(@deck.gl/core@9.0.12)(react-dom@18.2.0)(react@18.2.0)
       '@emotion/react':
         specifier: ^11.11.4
         version: 11.11.4(@types/react@18.2.65)(react@18.2.0)
       '@emotion/styled':
         specifier: ^11.11.0
-        version: 11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
+        version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.65)(react@18.2.0)
       '@floating-ui/react':
         specifier: ^0.26.16
-        version: 0.26.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 0.26.17(react-dom@18.2.0)(react@18.2.0)
       '@mui/icons-material':
         specifier: ^5.15.13
-        version: 5.15.13(@mui/material@5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
+        version: 5.15.13(@mui/material@5.15.13)(@types/react@18.2.65)(react@18.2.0)
       '@pixi-essentials/cull':
         specifier: ^2.0.0
-        version: 2.0.0(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/math@7.4.2)
+        version: 2.0.0(@pixi/display@7.4.2)(@pixi/math@7.4.2)
       '@reactflow/node-resizer':
         specifier: ^2.2.9
-        version: 2.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 2.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       '@reduxjs/toolkit':
         specifier: ^2.2.1
-        version: 2.2.1(react-redux@9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1))(react@18.2.0)
+        version: 2.2.1(react-redux@9.1.0)(react@18.2.0)
       '@tisoap/react-flow-smart-edge':
         specifier: ^3.0.0
-        version: 3.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(reactflow@11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(typescript@5.4.2)
+        version: 3.0.0(react-dom@18.2.0)(react@18.2.0)(reactflow@11.10.4)(typescript@5.4.2)
       '@types/cytoscape':
         specifier: ^3.19.16
         version: 3.19.16
@@ -273,7 +273,7 @@ importers:
         version: 7.9.0
       deck.gl:
         specifier: ^9.0.12
-        version: 9.0.14(@arcgis/core@4.29.10)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 9.0.12(@arcgis/core@4.29.10)(react-dom@18.2.0)(react@18.2.0)
       fi:
         specifier: ^1.0.16
         version: 1.0.16
@@ -327,22 +327,22 @@ importers:
         version: 7.1.0(react@18.2.0)
       react-draggable:
         specifier: ^4.4.6
-        version: 4.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 4.4.6(react-dom@18.2.0)(react@18.2.0)
       react-grid-layout:
         specifier: ^1.4.4
-        version: 1.4.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 1.4.4(react-dom@18.2.0)(react@18.2.0)
       react-json-view:
         specifier: ^1.21.3
-        version: 1.21.3(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 1.21.3(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       react-router-dom:
         specifier: ^6.22.3
-        version: 6.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 6.22.3(react-dom@18.2.0)(react@18.2.0)
       react-window:
         specifier: ^1.8.10
-        version: 1.8.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 1.8.10(react-dom@18.2.0)(react@18.2.0)
       reactflow:
         specifier: ^11.10.4
-        version: 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       regenerator-runtime:
         specifier: 0.14.1
         version: 0.14.1
@@ -357,7 +357,7 @@ importers:
         version: 0.2.4
       styled-components:
         specifier: ^6.1.8
-        version: 6.1.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 6.1.8(react-dom@18.2.0)(react@18.2.0)
       supercluster:
         specifier: ^8.0.1
         version: 8.0.1
@@ -376,10 +376,10 @@ importers:
         version: 2.2.192
       '@storybook/preset-scss':
         specifier: ^1.0.3
-        version: 1.0.3(css-loader@6.10.0(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))))(sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))))(style-loader@3.3.4(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))))
+        version: 1.0.3(css-loader@6.10.0)(sass-loader@14.1.1)(style-loader@3.3.4)
       '@testing-library/react':
         specifier: 14.2.1
-        version: 14.2.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 14.2.1(react-dom@18.2.0)(react@18.2.0)
       '@types/color':
         specifier: ^3.0.6
         version: 3.0.6
@@ -415,16 +415,16 @@ importers:
         version: 1.8.8
       '@typescript-eslint/eslint-plugin':
         specifier: ~7.2.0
-        version: 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2)
+        version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2)
       '@typescript-eslint/parser':
         specifier: ~7.2.0
         version: 7.2.0(eslint@8.57.0)(typescript@5.4.2)
       '@vitejs/plugin-react':
         specifier: ^4.2.1
-        version: 4.2.1(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 4.2.1(vite@5.1.6)
       '@vitejs/plugin-react-swc':
         specifier: ^3.6.0
-        version: 3.6.0(@swc/helpers@0.5.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 3.6.0(vite@5.1.6)
       cytoscape-cise:
         specifier: ^1.0.0
         version: 1.0.0(cytoscape@3.28.1)
@@ -460,7 +460,7 @@ importers:
         version: 1.12.5(eslint@8.57.0)
       eslint-plugin-import:
         specifier: 2.29.1
-        version: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)
+        version: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)
       eslint-plugin-jsx-a11y:
         specifier: 6.8.0
         version: 6.8.0(eslint@8.57.0)
@@ -484,7 +484,7 @@ importers:
         version: 8.4.35
       postcss-load-config:
         specifier: ^5.0.3
-        version: 5.0.3(jiti@1.21.0)(postcss@8.4.35)
+        version: 5.0.3(postcss@8.4.35)
       postcss-nesting:
         specifier: ^12.1.0
         version: 12.1.0(postcss@8.4.35)
@@ -526,61 +526,61 @@ importers:
         version: 5.1.0
       tailwindcss:
         specifier: ^3.4.1
-        version: 3.4.1(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2))
+        version: 3.4.1(ts-node@10.9.2)
       ts-node:
         specifier: 10.9.2
-        version: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2)
+        version: 10.9.2(@types/node@20.11.27)(typescript@5.4.2)
       typescript:
         specifier: ^5.4.2
         version: 5.4.2
       unplugin-icons:
         specifier: ^0.18.5
-        version: 0.18.5(vue-template-compiler@2.7.16)
+        version: 0.18.5
       url-loader:
         specifier: ^4.1.1
-        version: 4.1.1(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2)))
+        version: 4.1.1(webpack@5.90.3)
       vite:
         specifier: ^5.1.6
-        version: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+        version: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
       vite-plugin-dts:
         specifier: ^3.7.3
-        version: 3.7.3(@types/node@20.11.27)(rollup@4.13.0)(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 3.7.3(@types/node@20.11.27)(typescript@5.4.2)(vite@5.1.6)
       vite-plugin-sass-dts:
         specifier: ^1.3.17
-        version: 1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6)
       vite-tsconfig-paths:
         specifier: ^4.3.2
-        version: 4.3.2(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 4.3.2(typescript@5.4.2)(vite@5.1.6)
       vitest:
         specifier: ^1.3.1
-        version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2)
+        version: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)
 
   libs/storybook:
     dependencies:
       '@deck.gl-community/editable-layers':
         specifier: 9.0.0-alpha.1
-        version: 9.0.0-alpha.1(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/geo-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/constants@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))(@math.gl/core@4.0.1)
+        version: 9.0.0-alpha.1(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/geo-layers@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@luma.gl/constants@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)(@math.gl/core@4.0.1)
       '@deck.gl/core':
         specifier: ^9.0.12
-        version: 9.0.14
+        version: 9.0.12
       '@deck.gl/layers':
         specifier: ^9.0.12
-        version: 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+        version: 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@deck.gl/react':
         specifier: ^9.0.12
-        version: 9.0.14(@deck.gl/core@9.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 9.0.12(@deck.gl/core@9.0.12)(react-dom@18.2.0)(react@18.2.0)
       '@graphpolaris/shared':
         specifier: workspace:*
         version: link:../shared
       '@storybook/manager-api':
         specifier: ^8.0.6
-        version: 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 8.0.9(react-dom@18.2.0)(react@18.2.0)
       '@storybook/test':
         specifier: ^8.0.6
-        version: 8.0.6(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))
+        version: 8.0.9(vitest@1.3.1)
       '@storybook/theming':
         specifier: ^8.0.6
-        version: 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 8.0.9(react-dom@18.2.0)(react@18.2.0)
       postcss-scss:
         specifier: ^4.0.9
         version: 4.0.9(postcss@8.4.35)
@@ -596,25 +596,25 @@ importers:
     devDependencies:
       '@storybook/addon-essentials':
         specifier: ^8.0.6
-        version: 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       '@storybook/addon-interactions':
         specifier: ^8.0.6
-        version: 8.0.6(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))
+        version: 8.0.9(vitest@1.3.1)
       '@storybook/addon-links':
         specifier: ^8.0.6
-        version: 8.0.6(react@18.2.0)
+        version: 8.0.9(react@18.2.0)
       '@storybook/blocks':
         specifier: ^8.0.6
-        version: 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       '@storybook/preset-scss':
         specifier: ^1.0.3
-        version: 1.0.3(css-loader@6.10.0(webpack@5.90.3(esbuild@0.19.12)))(sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3(esbuild@0.19.12)))(style-loader@3.3.4(webpack@5.90.3(esbuild@0.19.12)))
+        version: 1.0.3(css-loader@6.10.0)(sass-loader@14.1.1)(style-loader@3.3.4)
       '@storybook/react':
         specifier: ^8.0.6
-        version: 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2)
+        version: 8.0.9(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)
       '@storybook/react-vite':
         specifier: ^8.0.6
-        version: 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(rollup@4.13.0)(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 8.0.9(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.6)
       '@types/node':
         specifier: 20.11.27
         version: 20.11.27
@@ -626,7 +626,7 @@ importers:
         version: 18.2.22
       '@vitejs/plugin-react':
         specifier: ^4.2.1
-        version: 4.2.1(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 4.2.1(vite@5.1.6)
       autoprefixer:
         specifier: ^10.4.18
         version: 10.4.18(postcss@8.4.35)
@@ -641,7 +641,7 @@ importers:
         version: 8.4.35
       postcss-load-config:
         specifier: ^5.0.3
-        version: 5.0.3(jiti@1.21.0)(postcss@8.4.35)
+        version: 5.0.3(postcss@8.4.35)
       postcss-nesting:
         specifier: ^12.1.0
         version: 12.1.0(postcss@8.4.35)
@@ -656,25 +656,25 @@ importers:
         version: 1.72.0
       sass-loader:
         specifier: ^14.1.1
-        version: 14.1.1(sass@1.72.0)(webpack@5.90.3(esbuild@0.19.12))
+        version: 14.1.1(sass@1.72.0)(webpack@5.90.3)
       storybook:
         specifier: ^8.0.6
-        version: 8.0.6(@babel/preset-env@7.24.0(@babel/core@7.24.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+        version: 8.0.9(react-dom@18.2.0)(react@18.2.0)
       tailwindcss:
         specifier: ^3.4.1
-        version: 3.4.1(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2))
+        version: 3.4.1(ts-node@10.9.2)
       typescript:
         specifier: ^5.4.2
         version: 5.4.2
       vite:
         specifier: ^5.1.6
-        version: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+        version: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
       vite-plugin-sass-dts:
         specifier: ^1.3.17
-        version: 1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6)
       vite-tsconfig-paths:
         specifier: ^4.3.2
-        version: 4.3.2(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
+        version: 4.3.2(typescript@5.4.2)(vite@5.1.6)
 
   libs/workspace/eslint-config-custom:
     dependencies:
@@ -1480,24 +1480,24 @@ packages:
       '@luma.gl/engine': '>=9.0.9'
       '@math.gl/core': '>=4.0.1'
 
-  '@deck.gl/aggregation-layers@9.0.14':
-    resolution: {integrity: sha512-cmoCD1RZ3v91+lkfAOWZMmQc0BFjSiXwinmUvlBkXSkZLgL1j4vGXw/t2kFHseBJnFo/rLRXzeF3ckuPOGCPoQ==}
+  '@deck.gl/aggregation-layers@9.0.12':
+    resolution: {integrity: sha512-nvIr2oorQ6i/JrY2dtBY6QKTPx3Y437rwQs9JAAwKB1vck2gFsvmGxBmYyfRL5xNep9rIjhd3Vy7oLkuNLCEFQ==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@deck.gl/layers': ^9.0.0
       '@luma.gl/core': ^9.0.0
       '@luma.gl/engine': ^9.0.0
 
-  '@deck.gl/arcgis@9.0.14':
-    resolution: {integrity: sha512-3q0DCVRHAsk/0uNnllFtv089IS+/wgqjYX+DcYPMsmuEHa9MouL4MVIsGRT50RmLDd9TkBrbtMhFa8fuDT3x2w==}
+  '@deck.gl/arcgis@9.0.12':
+    resolution: {integrity: sha512-rzaej6oiSN0g5BxZ2jHm/1uRazpey532LbE/5vjvmOEC4GKAvV5bCFL1LY46701e0jfA5moiUKDpkgY8Kd1NEg==}
     peerDependencies:
       '@arcgis/core': ^4.0.0
       '@deck.gl/core': ^9.0.0
       '@luma.gl/core': ^9.0.0
       '@luma.gl/engine': ^9.0.0
 
-  '@deck.gl/carto@9.0.14':
-    resolution: {integrity: sha512-tbsKvo56TDXZ+HoA4XV9g1BIL/PrdvcemP/AYYABw/iOQNMP4ZmiRmGBLCIpa34q8NjR4aHLrYxMgBK1S4YMvQ==}
+  '@deck.gl/carto@9.0.12':
+    resolution: {integrity: sha512-jMlzabDDve/RQl2hR05Z7w9vbbQB9nV3IhAKRvmEHt9t0j6tpfoN6Ju4VjHzGm5Be1bpW2+4X4zS7H9CLMc8YA==}
     peerDependencies:
       '@deck.gl/aggregation-layers': ^9.0.0
       '@deck.gl/core': ^9.0.0
@@ -1506,18 +1506,18 @@ packages:
       '@deck.gl/layers': ^9.0.0
       '@loaders.gl/core': ^4.2.0
 
-  '@deck.gl/core@9.0.14':
-    resolution: {integrity: sha512-F3HtES5o5/hC6ouhiE+qmw9NeUiaY55UqQt+iODEwbfy4mtRV7TyNWJTC1jY+dw5qUTmwvAT66NYufI1GQYEnA==}
+  '@deck.gl/core@9.0.12':
+    resolution: {integrity: sha512-ODVlnalRg/bE0LyatsKZCV8IieKvfcA7Tk/UyMnJzC9qD9y1dQdqnwLEsFO4kWuEYzkndj5kV07Cl9a2OFGOZQ==}
 
-  '@deck.gl/extensions@9.0.14':
-    resolution: {integrity: sha512-tQM9frol9E48oV5OzNIIYf3aePUlPO2vCEdTcXxn7Y7d1hBf4xrTMlKeM+4nR+LP2iB/40gUrYYAMTkcRAsGPA==}
+  '@deck.gl/extensions@9.0.12':
+    resolution: {integrity: sha512-Om95nPHXBpkXwdYB9J7uLmarPKNfMS6WP8cK7HNPeac3U1covWlW12+rrywuv3d6aTTEvlP3bnHF8XRMGkvE1Q==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@luma.gl/core': ^9.0.0
       '@luma.gl/engine': ^9.0.0
 
-  '@deck.gl/geo-layers@9.0.14':
-    resolution: {integrity: sha512-ldMghVE3dR4eXglZ4CA+zQJ+UQeQQCHlzaqiNsX2+fyNeJ+K4TuzNAPQaW/HKseJvanRAggD1OKrV0xsqQ81KA==}
+  '@deck.gl/geo-layers@9.0.12':
+    resolution: {integrity: sha512-KjRT5PEyDvBl6cr/E6JuMEhVrp59HH7bFOuqvE1AxfMghdCMWRgbDCEv4xIYTaMxDsAnh4/TPwgvecUg1p/CDw==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@deck.gl/extensions': ^9.0.0
@@ -1527,47 +1527,47 @@ packages:
       '@luma.gl/core': ^9.0.0
       '@luma.gl/engine': ^9.0.0
 
-  '@deck.gl/google-maps@9.0.14':
-    resolution: {integrity: sha512-6k4zUQktHNaD1JvQO0KlkTKMRd7aEKOlaYSIbxnhq8vrJp3lSaIXdpppmbB/Z++p6U6xbcNFT/oMdKVnY4SwSw==}
+  '@deck.gl/google-maps@9.0.12':
+    resolution: {integrity: sha512-i14RMKGtjR8Aw3t7AHQxYX1D/mQTf92vYoVZ2aB0WSEpXF3lNM7xt7FKjd4vZmHBnLXtP3xKBxjyVAhg7Avf/g==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@luma.gl/core': ^9.0.0
 
-  '@deck.gl/json@9.0.14':
-    resolution: {integrity: sha512-D03XvhZ4tv2RRb1CryBC0hFdZi8W7OLKiYySnLdvrR8SGh4POxCPK2fauU+vmNsQiCuSAw1ADaBWMj++o2o0tA==}
+  '@deck.gl/json@9.0.12':
+    resolution: {integrity: sha512-B0vtOLonKCe1nRyAiq8gmssEiGJ/Y8gc1L/GR79xq8iyXlKXxSA2dgXRL+w3HvE+Q6yyZPtmBNxZwS+U+9KrKA==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
 
-  '@deck.gl/layers@9.0.14':
-    resolution: {integrity: sha512-gnt6hrbwbru8uNyMGkruroa2+h/2KUAVLztXuYk9kPAsoIr4806ZfBM/pneQe6UTbHMDnVpVtaS2fTY8wW5Jcw==}
+  '@deck.gl/layers@9.0.12':
+    resolution: {integrity: sha512-E9rnUAG5d8OF1RL/u7tQmrU2VRWMQYOeLYLx1gfXf3SHmNtP13OS/QeNbdUnEIcgwxXxHiJceJ1QZk2MIxCctA==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@loaders.gl/core': ^4.2.0
       '@luma.gl/core': ^9.0.0
       '@luma.gl/engine': ^9.0.0
 
-  '@deck.gl/mapbox@9.0.14':
-    resolution: {integrity: sha512-Lu4UuMh1klHvym4SN8pVs2mpQm16e5D4O8pCmGgLcepiQ6Ij4U6RwhnWVJ1FK0Pl01YcVonLeG25rJBcQ2S3zg==}
+  '@deck.gl/mapbox@9.0.12':
+    resolution: {integrity: sha512-6cbgICvW/HqKzGIFoCDVX4E1evJgW+QHlVZZHzg1A3/RAP5Z3qRKEyAl7lQjPbNhLBJY4gMYRAlfnn0ejSUGwg==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@luma.gl/core': ^9.0.0
 
-  '@deck.gl/mesh-layers@9.0.14':
-    resolution: {integrity: sha512-2Zvn3nLrVCMBFMrYkHiI9QJXOvsTFLjaLNjcpjJJ5w8hoRCmhgDY8OJ3hVVPDUH1ADEOkg6WK7FNLy+nZbvULw==}
+  '@deck.gl/mesh-layers@9.0.12':
+    resolution: {integrity: sha512-q2aOfcJMyyv7aRqLByHzff66kCX4KKwuu+svv0pFx9CywAIX+oXcfHrDdC6vywiuexc3v1wzhZYh8208I4C9Cg==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       '@luma.gl/core': ^9.0.0
       '@luma.gl/engine': ^9.0.0
 
-  '@deck.gl/react@9.0.14':
-    resolution: {integrity: sha512-wHw8XkRWaD30s+EC+S9ZRmRRkaMgxTdxMidIk6rBxhmTI+RX0A/HQPBEXp+WiNaPyuwN31td6LgG9SlEJJ6UFA==}
+  '@deck.gl/react@9.0.12':
+    resolution: {integrity: sha512-sly4ilVyeWKFbZbYkYbKjr1ot9ofu1IRbzK6oSLq3wDYbamsboKjYX4mVzq9glmJoJ83Vxp4HlMdWo0YKDEPqg==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
       react: '>=16.3.0'
       react-dom: '>=16.3.0'
 
-  '@deck.gl/widgets@9.0.14':
-    resolution: {integrity: sha512-DoxESfwbQR1ffME4lbWSm/w5jOLPu/PGPXUAU4d/VQWhLX0axf6ZcOja+7HnpeD5ZbwWdQ5sNTcTckgzZs2RTQ==}
+  '@deck.gl/widgets@9.0.12':
+    resolution: {integrity: sha512-3KJXgvOVouyPR/qJUgoqfcar1hFxcRhS9MzGDi6TLQYczr01fLU8V2Jd7CwjJjz6xdZqKxbDCOJFnxHUJ3/uPg==}
     peerDependencies:
       '@deck.gl/core': ^9.0.0
 
@@ -1815,8 +1815,8 @@ packages:
       react: '>=16.8.0'
       react-dom: '>=16.8.0'
 
-  '@floating-ui/react@0.26.16':
-    resolution: {integrity: sha512-HEf43zxZNAI/E781QIVpYSF3K2VH4TTYZpqecjdsFkjsaU1EbaWcM++kw0HXFffj7gDUcBFevX8s0rQGQpxkow==}
+  '@floating-ui/react@0.26.17':
+    resolution: {integrity: sha512-ESD+jYWwqwVzaIgIhExrArdsCL1rOAzryG/Sjlu8yaD3Mtqi3uVyhbE2V7jD58Mo52qbzKz2eUY/Xgh5I86FCQ==}
     peerDependencies:
       react: '>=16.8.0'
       react-dom: '>=16.8.0'
@@ -2697,49 +2697,49 @@ packages:
     engines: {node: '>=16.0.0', npm: '>=7.10.0'}
     hasBin: true
 
-  '@storybook/addon-actions@8.0.6':
-    resolution: {integrity: sha512-3R/d2Td6+yeR+UnyCAeZ4tuiRGSm+6gKUQP9vB1bvEFQGuFBrV+zs3eakcYegOqZu3IXuejgaB0Knq987gUL5A==}
+  '@storybook/addon-actions@8.0.9':
+    resolution: {integrity: sha512-+I3VTvlKdj8puHeS2tyaOVv9syDiNLneVZbTfqN+UDOK2i42NwvZr8PVwjTzMlEj9eePJdCZgiipz55xwts5bw==}
 
-  '@storybook/addon-backgrounds@8.0.6':
-    resolution: {integrity: sha512-NRTmSsJiqpXqJMVrRuQ+P1wt26ZCLjBNaMafcjgicfWeyUsdhNF63yYvyrHkMRuNmYPZm0hKvtjLhW3s9VohSA==}
+  '@storybook/addon-backgrounds@8.0.9':
+    resolution: {integrity: sha512-pCDecACrVyxPaJKEWS0sHsRb8xw+IPCSxDM1TkjaAQ6zZ468A/dcUnqW+LVK8bSXgQwWzn23wqnqPFSy5yptuQ==}
 
-  '@storybook/addon-controls@8.0.6':
-    resolution: {integrity: sha512-bNXDhi1xl7eat1dUsKTrUgu5mkwXjfFWDjIYxrzatqDOW1+rdkNaPFduQRJ2mpCs4cYcHKAr5chEcMm6byuTnA==}
+  '@storybook/addon-controls@8.0.9':
+    resolution: {integrity: sha512-wWdmd62UP/sfPm8M7aJjEA+kEXTUIR/QsYi9PoYBhBZcXiikZ4kNan7oD7GfsnzGGKHrBVfwQhO+TqaENGYytA==}
 
-  '@storybook/addon-docs@8.0.6':
-    resolution: {integrity: sha512-QOlOE2XEFcUaR85YytBuf/nfKFkbIlD0Qc9CI4E65FoZPTCMhRVKAEN2CpsKI63fs/qQxM2mWkPXb6w7QXGxvg==}
+  '@storybook/addon-docs@8.0.9':
+    resolution: {integrity: sha512-x7hX7UuzJtClu6XwU3SfpyFhuckVcgqgD6BU6Ihxl0zs+i4xp6iKVXYSnHFMRM1sgoeT8TjPxab35Ke8w8BVRw==}
 
-  '@storybook/addon-essentials@8.0.6':
-    resolution: {integrity: sha512-L9SSsdN1EG2FZ1mNT59vwf0fpseLrzO1cWPwH6hVtp0+kci3tfropch2tEwO7Vr+YLSesJihfr4uvpI/l0jCsw==}
+  '@storybook/addon-essentials@8.0.9':
+    resolution: {integrity: sha512-mwAgdfrOsTuTDcagvM7veBh+iayZIWmKOazzkhrIWbhYcrXOsweigD2UOVeHgAiAzJK49znr4FXTCKcE1hOWcw==}
 
-  '@storybook/addon-highlight@8.0.6':
-    resolution: {integrity: sha512-CxXzzgIK5sXy2RNIkwU5JXZNq+PNGhUptRm/5M5ylcB7rk0pdwnE0TLXsMU+lzD0ji+cj61LWVLdeXQa+/whSw==}
+  '@storybook/addon-highlight@8.0.9':
+    resolution: {integrity: sha512-vaRHGDbx7dpNpQECAHk5wczlZO3ntstprGlqnZt0o7ylz6xB5+pTQwTuIFty0hwKv+3TPcskzzifATUyEOEmyg==}
 
-  '@storybook/addon-interactions@8.0.6':
-    resolution: {integrity: sha512-lzSLCe8Uylg2U8O7sdu7WCmjlK8ZvBEoCXMJeJYDTF4XQMS2qETpqSsUz1UDZscIOH24poMPkQG6r/m08Hqtng==}
+  '@storybook/addon-interactions@8.0.9':
+    resolution: {integrity: sha512-AMIdNcyM6DDAWvMitBJMqp1iPZND8AXB4QT4VZHGMKG2ngHNKktriEKpTfcRkfKPGTJs9T+71dWfm6/R4tticw==}
 
-  '@storybook/addon-links@8.0.6':
-    resolution: {integrity: sha512-1UBNhQdwm17fXmuUKIsgvT6YenMbaGIYdr/9ApKmIMTKKO+emQ7APlsTbvasutcOkCd57rC1KZRfAHQpgU9wDQ==}
+  '@storybook/addon-links@8.0.9':
+    resolution: {integrity: sha512-FVt+AdW3JFSqbJzkKiqKsMRWqHXqEvCBqFs7lNfk3OW0w0jfv1iREtrxE0dVdJoUFQC9V/2Im/EpJ7UB3C2bNQ==}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
     peerDependenciesMeta:
       react:
         optional: true
 
-  '@storybook/addon-measure@8.0.6':
-    resolution: {integrity: sha512-2PnytDaQzCxcgykEM5Njb71Olm+Z2EFERL5X+5RhsG2EQxEqobwh1fUtXLY4aqiImdSJOrjQnkMJchzzoTRtug==}
+  '@storybook/addon-measure@8.0.9':
+    resolution: {integrity: sha512-91svOOGEXmGG4USglwXLE3wtlUVgtbKJVxTKX7xRI+AC5JEEaKByVzP17/X8Qn/8HilUL7AfSQ0kCoqtPSJ5cA==}
 
-  '@storybook/addon-outline@8.0.6':
-    resolution: {integrity: sha512-PfTIy64kV5h7F0tXrj5rlwdPFpOQiGrn01AQudSJDVWaMsbVgjruPU+cHG4i/L1mzzERzeHYd46bNENWZiQgDw==}
+  '@storybook/addon-outline@8.0.9':
+    resolution: {integrity: sha512-fQ+jm356TgUnz81IxsC99/aOesbLw3N5OQRJpo/A6kqbLMzlq3ybVzuXYCKC3f0ArgQRNh4NoMeJBMRFMtaWRw==}
 
-  '@storybook/addon-toolbars@8.0.6':
-    resolution: {integrity: sha512-g4GjrMEHKOIQVwG1DKUHBAn4B8xmdqlxFlVusOrYD9FVfakgMNllN6WBc02hg/IiuzqIDxVK5BXiY9MbXnoguQ==}
+  '@storybook/addon-toolbars@8.0.9':
+    resolution: {integrity: sha512-nNSBnnBOhQ+EJwkrIkK4ZBYPcozNmEH770CZ/6NK85SUJ6WEBZapE6ru33jIUokFGEvlOlNCeai0GUc++cQP8w==}
 
-  '@storybook/addon-viewport@8.0.6':
-    resolution: {integrity: sha512-R6aGEPA5e05L/NPs6Nbj0u9L6oKmchnJ/x8Rr/Xuc+nqVgXC1rslI0BcjJuC571Bewz7mT8zJ+BjP/gs7T4lnQ==}
+  '@storybook/addon-viewport@8.0.9':
+    resolution: {integrity: sha512-Ao4+D56cO7biaw+iTlMU1FBec1idX0cmdosDeCFZin06MSawcPkeBlRBeruaSQYdLes8TBMdZPFgfuqI5yIk6g==}
 
-  '@storybook/blocks@8.0.6':
-    resolution: {integrity: sha512-ycuPJwxyngSor4YNa4kkX3rAmX+w2pXNsIo+Zs4fEdAfCvha9+GZ/3jQSdrsHxjeIm9l9guiv4Ag8QTnnllXkw==}
+  '@storybook/blocks@8.0.9':
+    resolution: {integrity: sha512-F2zSrfSwzTFN7qW3zB80tG+EXtmfmCDC6Ird0F7tolszb6tOqJcAcBOwQbE2O0wI63sLu21qxzXgaKBMkiWvJg==}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -2749,11 +2749,11 @@ packages:
       react-dom:
         optional: true
 
-  '@storybook/builder-manager@8.0.6':
-    resolution: {integrity: sha512-N61Gh9FKsSYvsbdBy5qFvq1anTIuUAjh2Z+ezDMlxnfMGG77nZP9heuy1NnCaYCTFzl+lq4BsmRfXXDcKtSPRA==}
+  '@storybook/builder-manager@8.0.9':
+    resolution: {integrity: sha512-/PxDwZIfMc/PSRZcasb6SIdGr3azIlenzx7dBF7Imt8i4jLHiAf1t00GvghlfJsvsrn4DNp95rbRbXTDyTj7tQ==}
 
-  '@storybook/builder-vite@8.0.6':
-    resolution: {integrity: sha512-uQe1tTXdWXhP1ZO7sBRLUS5WKoD/ibrBWhyG6gY0RHC8RtGIx1sYxbg7ZzUXXX8z1GH0QJlOKrlAfcHzIchscw==}
+  '@storybook/builder-vite@8.0.9':
+    resolution: {integrity: sha512-7hEQFZIIz7VvxdySDpPE96iMvZxQvRZcRdhaNGeE+8Y2pyc3DgYE4WY3sjr+LUoB0a6TYLpAIKqbXwtLz0R+PQ==}
     peerDependencies:
       '@preact/preset-vite': '*'
       typescript: '>= 4.3.x'
@@ -2767,48 +2767,48 @@ packages:
       vite-plugin-glimmerx:
         optional: true
 
-  '@storybook/channels@8.0.6':
-    resolution: {integrity: sha512-IbNvjxeyQKiMpb+gSpQ7yYsFqb8BM/KYgfypJM3yJV6iU/NFeevrC/DA6/R+8xWFyPc70unRNLv8fPvxhcIu8Q==}
+  '@storybook/channels@8.0.9':
+    resolution: {integrity: sha512-7Lcfyy5CsLWWGhMPO9WG4jZ/Alzp0AjepFhEreYHRPtQrfttp6qMAjE/g1aHgun0qHCYWxwqIG4NLR/hqDNrXQ==}
 
-  '@storybook/cli@8.0.6':
-    resolution: {integrity: sha512-gAnl9soQUu1BtB4sANaqaaeTZAt/ThBSwCdzSLut5p21fP4ovi3FeP7hcDCJbyJZ/AvnD4k6leDrqRQxMVPr0A==}
+  '@storybook/cli@8.0.9':
+    resolution: {integrity: sha512-lilYTKn8F5YOePijqfRYFa5v2mHVIJxPCIgTn+OXAmAFbcizZ6P8P6niU4J/NXulgx68Ln1M7hYhFtTP25hVTw==}
     hasBin: true
 
-  '@storybook/client-logger@8.0.6':
-    resolution: {integrity: sha512-et/IHPHiiOwMg93l5KSgw47NZXz5xOyIrIElRcsT1wr8OJeIB9DzopB/suoHBZ/IML+t8x91atdutzUN2BLF6A==}
+  '@storybook/client-logger@8.0.9':
+    resolution: {integrity: sha512-LzV/RHkbf07sRc1Jc0ff36RlapKf9Ul7/+9VMvVbI3hshH1CpmrZK4t/tsIdpX/EVOdJ1Gg5cES06PnleOAIPA==}
 
-  '@storybook/codemod@8.0.6':
-    resolution: {integrity: sha512-IMaTVI+EvmFxkz4leKWKForPC3LFxzfeTmd/QnTNF3nCeyvmIXvP01pQXRjro0+XcGDncEStuxa1d9ClMlac9Q==}
+  '@storybook/codemod@8.0.9':
+    resolution: {integrity: sha512-VBeGpSZSQpL6iyLLqceJSNGhdCqcNwv+xC/aWdDFOkmuE1YfbmNNwpa9QYv4ZFJ2QjUsm4iTWG60qK+9NXeSKA==}
 
-  '@storybook/components@8.0.6':
-    resolution: {integrity: sha512-6W2BAqAPJkrExk8D/ug2NPBPvMs05p6Bdt9tk3eWjiMrhG/CUKBzlBTEfNK/mzy3YVB6ijyT2DgsqzmWWYJ/Xw==}
+  '@storybook/components@8.0.9':
+    resolution: {integrity: sha512-JcwBGADzIJs0PSzqykrrD2KHzNG9wtexUOKuidt+FSv9szpUhe3qBAXIHpdfBRl7mOJ9TRZ5rt+mukEnfncdzA==}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
 
-  '@storybook/core-common@8.0.6':
-    resolution: {integrity: sha512-Z4cA52SjcW6SAV9hayqVm5kyr362O20Zmwz7+H2nYEhcu8bY69y5p45aaoyElMxL1GDNu84GrmTp7dY4URw1fQ==}
+  '@storybook/core-common@8.0.9':
+    resolution: {integrity: sha512-Jmue+sfHFb4GTYBzyWYw1MygoJiQSfISIrKmNIzAmZ+oR9EOr+jpu/i/bH+uetZ2Hqg1AGhj1VB7OtJp9HQyWw==}
 
-  '@storybook/core-events@8.0.6':
-    resolution: {integrity: sha512-EwGmuMm8QTUAHPhab4yftQWoSCX3OzEk6cQdpLtbNFtRRLE9aPZzxhk5Z/d3KhLNSCUAGyCiDt5I9JxTBetT9A==}
+  '@storybook/core-events@8.0.9':
+    resolution: {integrity: sha512-DxSUx7wG9Qe3OFUBnv3OrYq48J8UWNo2DUR5/JecJCtp3n++L4fAEW3J0IF5FfxpQDMQSp1yTNjZ2PaWCMd2ag==}
 
-  '@storybook/core-server@8.0.6':
-    resolution: {integrity: sha512-COmcjrry8vZXDh08ZGbfDz2bFB4of5wnwOwYf8uwlVND6HnhQzV22On1s3/p8qw+dKOpjpwDdHWtMnndnPNuqQ==}
+  '@storybook/core-server@8.0.9':
+    resolution: {integrity: sha512-BIe1T5YUBl0GYxEjRoTQsvXD2pyuzL8rPTUD41zlzSQM0R8U6Iant9SzRms4u0+rKUm2mGxxKuODlUo5ewqaGA==}
 
-  '@storybook/csf-plugin@8.0.6':
-    resolution: {integrity: sha512-ULaAFGhdgDDbknGnCqxitzeBlSzYZJQvZT4HtFgxfNU2McOu+GLIzyUOx3xG5eoziLvvm+oW+lxLr5nDkSaBUg==}
+  '@storybook/csf-plugin@8.0.9':
+    resolution: {integrity: sha512-pXaNCNi++kxKsqSWwvx215fPx8cNqvepLVxQ7B69qXLHj80DHn0Q3DFBO3sLXNiQMJ2JK4OYcTxMfuOiyzszKw==}
 
-  '@storybook/csf-tools@8.0.6':
-    resolution: {integrity: sha512-MEBVxpnzqkBPyYXdtYQrY0SQC3oflmAQdEM0qWFzPvZXTnIMk3Q2ft8JNiBht6RlrKGvKql8TodwpbOiPeJI/w==}
+  '@storybook/csf-tools@8.0.9':
+    resolution: {integrity: sha512-PiNMhL97giLytTdQwuhsZ92buVk4gy9H/8DtrDhUc45/1OmF95gogm6T2Yap729SIFwgpOcuq/U3aVo6d6swVQ==}
 
-  '@storybook/csf@0.1.2':
-    resolution: {integrity: sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA==}
+  '@storybook/csf@0.1.6':
+    resolution: {integrity: sha512-JjWnBptVhBYJ14yq+cHs66BXjykRUWQ5TlD1RhPxMOtavynYyV/Q+QR98/N+XB+mcPtFMm5I2DvNkpj0/Dk8Mw==}
 
   '@storybook/docs-mdx@3.0.0':
     resolution: {integrity: sha512-NmiGXl2HU33zpwTv1XORe9XG9H+dRUC1Jl11u92L4xr062pZtrShLmD4VKIsOQujxhhOrbxpwhNOt+6TdhyIdQ==}
 
-  '@storybook/docs-tools@8.0.6':
-    resolution: {integrity: sha512-PsAA2b/Q1ki5IR0fa52MI+fdDkQ0W+mrZVRRj3eJzonGZYcQtXofTXQB7yi0CaX7zzI/N8JcdE4bO9sI6SrOTg==}
+  '@storybook/docs-tools@8.0.9':
+    resolution: {integrity: sha512-OzogAeOmeHea/MxSPKRBWtOQVNSpoq+OOpimO9YRA5h5GBRJ2TUOGT44Gny6QT4ll5AvQA8fIiq9KezKcLekAg==}
 
   '@storybook/global@5.0.0':
     resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
@@ -2820,17 +2820,17 @@ packages:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
 
-  '@storybook/instrumenter@8.0.6':
-    resolution: {integrity: sha512-I1OgKvvCWLQafTTEJ8KG8AGKwnNu8sLNO4ce6tRGSPFpsGgt1QIemJ/p6taOgPicnEFamTzH+5x+LYjRKt0cJA==}
+  '@storybook/instrumenter@8.0.9':
+    resolution: {integrity: sha512-Gw74dgpTU/2p7FG0s7DuVdqCbJ2MEcSuRJjDo7HcXRYcvWp7I6Ly+C0v7N5VaoS+kbBVerAhLKIHZgG/LZf1og==}
 
-  '@storybook/manager-api@8.0.6':
-    resolution: {integrity: sha512-khYA5CM+LY/B5VsqqUmt2ivNLNqyIKfcgGsXHkOs3Kr5BOz8LhEmSwZOB348ey2C2ejFJmvKlkcsE+rB9ixlww==}
+  '@storybook/manager-api@8.0.9':
+    resolution: {integrity: sha512-99b3yKArDSvfabXL7QE3nA95e4DdW/5H/ZCcr6/E2qCQJayZ6G1v/WWamKXbiaTpkndulFmcb/+ZmnDXcweIIQ==}
 
-  '@storybook/manager@8.0.6':
-    resolution: {integrity: sha512-wdL3lG72qrCOLkxEUW49+hmwA4fIFXFvAEU7wVgEt4KyRRGWhHa8Dr/5Tnq54CWJrA+BTrTPHaoo/Vu4BAjgow==}
+  '@storybook/manager@8.0.9':
+    resolution: {integrity: sha512-+NnRo+5JQFGNqveKrLtC0b+Z08Tae4m44iq292bPeZMpr9OkFsIkU0PBPsHTHPkrqC/zZXRNsCsTEgvu3p2OIA==}
 
-  '@storybook/node-logger@8.0.6':
-    resolution: {integrity: sha512-mDRJLVAuTWauO0mnrwajfJV/6zKBJVPp/9g0ULccE3Q+cuqNfUefqfCd17cZBlJHeRsdB9jy9tod48d4qzGEkQ==}
+  '@storybook/node-logger@8.0.9':
+    resolution: {integrity: sha512-5ajMdZFrYrjGLJOVDq7dlEQNFsgeLHymt4dCK9MulL/ciXykmXUZXE3Bye0wFy+I2qqDVvrvR8uzCvSFvm5MAQ==}
 
   '@storybook/preset-scss@1.0.3':
     resolution: {integrity: sha512-o9Iz6wxPeNENrQa2mKlsDKynBfqU2uWaRP80HeWp4TkGgf7/x3DVF2O7yi9N0x/PI1qzzTTpxlQ90D62XmpiTw==}
@@ -2839,28 +2839,28 @@ packages:
       sass-loader: '*'
       style-loader: '*'
 
-  '@storybook/preview-api@8.0.6':
-    resolution: {integrity: sha512-O5SvBqlHIO/Cf5oGZUJV2npkp9bLqg9Sn0T0a5zXolJbRy+gP7MDyz4AnliLpTn5bT2rzVQ6VH8IDlhHBq3K6g==}
+  '@storybook/preview-api@8.0.9':
+    resolution: {integrity: sha512-zHfX34bkAMzzmE7vbDzaqFwSW6ExiBD0HiO1L/IsHF55f0f7xV7IH8uJyFRrDTvAoW3ReSxZDMvvPpeydFPKGA==}
 
-  '@storybook/preview@8.0.6':
-    resolution: {integrity: sha512-NdVstxdUghv5goQJ4zFftyezfCEPKHOSNu8k02KU6u6g5IiK430jp5y71E/eiBK3m1AivtluC7tPRSch0HsidA==}
+  '@storybook/preview@8.0.9':
+    resolution: {integrity: sha512-tFsR8xc8AYBZZrZw8enklFbSQt7ZAV+rv20BoxwDhd3q7fjXyK7O4moGPqUwBZ7rukTG13nPoISxr+VXAk/HYA==}
 
-  '@storybook/react-dom-shim@8.0.6':
-    resolution: {integrity: sha512-NC4k0dBIypvVqwqnMhKDUxNc1OeL6lgspn8V26PnmCYbvY97ZqoGQ7n2a5Kw/kubN6yWX1nxNkV6HcTRgEnYTw==}
+  '@storybook/react-dom-shim@8.0.9':
+    resolution: {integrity: sha512-8011KlRuG3obr5pZZ7bcEyYYNWF3tR596YadoMd267NPoHKvwAbKL1L/DNgb6kiYjZDUf9QfaKSCWW31k0kcRQ==}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
 
-  '@storybook/react-vite@8.0.6':
-    resolution: {integrity: sha512-M6R6nl7dcXZ+wQHqFD1Qh/v4GPygqlC0pwE/cZ7FKUYA2wO3qm81OpuZYBKJoFIyHbRP/8oPKSvuzkgZvGY+/g==}
+  '@storybook/react-vite@8.0.9':
+    resolution: {integrity: sha512-FT5KeulUH6grfzOJOxJCxpv9+81UVDrT9UPcgiFhQT9rKtsgmltezThwbHknByZNw3WWnf+ieidMLEis9hd73A==}
     engines: {node: '>=18.0.0'}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
       vite: ^4.0.0 || ^5.0.0
 
-  '@storybook/react@8.0.6':
-    resolution: {integrity: sha512-A1zivNti15nHkJ6EcVKpxKwlDkyMb5MlJMUb8chX/xBWxoR1f5R8eI484rhdPRYUzBY7JwvgZfy4y/murqg6hA==}
+  '@storybook/react@8.0.9':
+    resolution: {integrity: sha512-NeQ6suZG3HKikwe3Tx9cAIaRx7uP8FKCmlVvIiBg4LTTI5orCt94PPakvuZukZcbkqvcCnEBkebAzwUpn8PiJw==}
     engines: {node: '>=18.0.0'}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -2870,17 +2870,17 @@ packages:
       typescript:
         optional: true
 
-  '@storybook/router@8.0.6':
-    resolution: {integrity: sha512-ektN0+TyQPxVxcUvt9ksGizgDM1bKFEdGJeeqv0yYaOSyC4M1e4S8QZ+Iq/p/NFNt5XJWsWU+HtQ8AzQWagQfQ==}
+  '@storybook/router@8.0.9':
+    resolution: {integrity: sha512-aAOWxbM9J4mt+cp4o88T2PB29mgBBTOzU37/pUsTHYnKnR9XI4npXEXdN8Gv+ryqM0kj0AbBpz/llFlnR2MNNA==}
 
-  '@storybook/telemetry@8.0.6':
-    resolution: {integrity: sha512-kzxhhzGRSBYR4oe/Vlp/adKVxD8KWbIDMCgLWaINe14ILfEmpyrC00MXRSjS1tMF1qfrtn600Oe/xkHFQUpivQ==}
+  '@storybook/telemetry@8.0.9':
+    resolution: {integrity: sha512-AGGfcup06t+wxhBIkHd0iybieOh9PDVZQJ9oPct5JGB39+ni9wvs0WOD+MYlHbsjp8id7+aGkh6mYuYOvfck+Q==}
 
-  '@storybook/test@8.0.6':
-    resolution: {integrity: sha512-MctGhJSnD6es5xj8lMDjB4gzXk6Uoaw756CAnQamPoETr+3dkJzf4LOeUwyV3LgT7D3pQ72Po5kTdCKfrPHsDQ==}
+  '@storybook/test@8.0.9':
+    resolution: {integrity: sha512-bRd5tBJnPzR6UKbDXONWnFWtdkNOY99HMLDUWe5fTRo50GwkrpFBVqPflhdkruEeof0kAbBUbnoN2CIYgtnAFw==}
 
-  '@storybook/theming@8.0.6':
-    resolution: {integrity: sha512-o/b12+nDp8WDFlE0qQilzJ2aIeOHD48MCoc+ouFRPRH4tUS5xNaBPYxBxTgdtFbwZNuOC2my4A37Uhjn6IwkuQ==}
+  '@storybook/theming@8.0.9':
+    resolution: {integrity: sha512-jgfDuYoiNMMirQiASN3Eg0hGDXsEtpdAcMxyShqYGwu9elxgD9yUnYC2nSckYsM74a3ZQ3JaViZ9ZFSe2FHmeQ==}
     peerDependencies:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -2890,8 +2890,8 @@ packages:
       react-dom:
         optional: true
 
-  '@storybook/types@8.0.6':
-    resolution: {integrity: sha512-YKq4A+3diQ7UCGuyrB/9LkB29jjGoEmPl3TfV7mO1FvdRw22BNuV3GyJCiLUHigSKiZgFo+pfQhmsNRJInHUnQ==}
+  '@storybook/types@8.0.9':
+    resolution: {integrity: sha512-ew0EXzk9k4B557P1qIWYrnvUcgaE0WWA5qQS0AU8l+fRTp5nvl9O3SP/zNIB0SN1qDFO7dXr3idTNTyIikTcEQ==}
 
   '@swc/core-darwin-arm64@1.4.2':
     resolution: {integrity: sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==}
@@ -2980,8 +2980,8 @@ packages:
     resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==}
     engines: {node: '>=14'}
 
-  '@testing-library/jest-dom@6.4.2':
-    resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==}
+  '@testing-library/jest-dom@6.4.3':
+    resolution: {integrity: sha512-d1NUtNEN0hSUB/XWdF1GgdlD5S2tS0huQb2tkFL2usXRatR/EiHS6AhLtDcCb/iD9CS7kRmbAHt2O5JadkKyuA==}
     engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
     peerDependencies:
       '@jest/globals': '>= 28'
@@ -3601,44 +3601,44 @@ packages:
   '@ungap/structured-clone@1.2.0':
     resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
 
-  '@vaadin/a11y-base@24.3.12':
-    resolution: {integrity: sha512-yTW9EEoaXBMgZSQw5C/hfdgV4c4PZ40Zh1lX6LBKGjsdB4oFOYkY9vsQWHduooXYLvlOKMNr8NCFYbdHtcTVew==}
+  '@vaadin/a11y-base@24.3.11':
+    resolution: {integrity: sha512-5tMnlKM55iWccY8dC8Sk52Q9tAftxUndrA+QKoqFUPmB8FeBLBqhNVhA3U+7PqUuRkg72ez1hgUd/nqLtYfGQQ==}
 
-  '@vaadin/checkbox@24.3.12':
-    resolution: {integrity: sha512-olinUBTrbjQ4UFtfxtbCBlp9H59jeOVhfgBtSISg/ALU6gJSbnzIrfJ5cl3du1eWft/9RB37dVmhFVTJTeWhww==}
+  '@vaadin/checkbox@24.3.11':
+    resolution: {integrity: sha512-DTFrKI5ZwO+F0EZTfa2TZ9C1azngL4VeygzNi0ro+6c7SIJzZhm6r7UUWaidA50ThdbI5Uh0THNE67NVpcPISA==}
 
-  '@vaadin/component-base@24.3.12':
-    resolution: {integrity: sha512-HAJDi0/bJhFtTWsQntFclvxnFIZaw67AURRm2OnPB6/J5magp1yGS1Nm8FVTn8f/qwiBsayylwvdYe+RVXCb8w==}
+  '@vaadin/component-base@24.3.11':
+    resolution: {integrity: sha512-90jec9d8tFzP1OdoMQhD79hKE7DHlLnbE7lmSk1FyKHU30z95TxAsdqCDfv1+QNur8ahqPUvQ8CzBEBsi6gpKg==}
 
-  '@vaadin/field-base@24.3.12':
-    resolution: {integrity: sha512-3Q37nyJ3ThF/rFT9iA+Yy+UE4vn0facZxK4/syIhm0bFakRK3MBxUwda5kyxZC0j1bfZhKDLvVi+x5+0aT8imQ==}
+  '@vaadin/field-base@24.3.11':
+    resolution: {integrity: sha512-olMOwyP/xxfs0IQs8Nby1o6b1gTujUi8kVL/eQR3YBa8IUev/2wnM4wwwO83vrBPUmoF8XIFn+wf+9vRRnAfcg==}
 
-  '@vaadin/grid@24.3.12':
-    resolution: {integrity: sha512-UPmXT/YI+7lXKIICjc/d6L0DCOHmiOK2vqfiVtt5nU0xdpTapgGQy1607an96HRgnEe9ytEpYc2LiDnJ3FPGyA==}
+  '@vaadin/grid@24.3.11':
+    resolution: {integrity: sha512-CkkoTlyKkd6+tu0Aa9G9rq47l3Gj1IBR0rwaRhdHxeX7q9Anqudk3FKPqUr/hrvuoynvNoOdHipBapTdHGZPVg==}
 
-  '@vaadin/icon@24.3.12':
-    resolution: {integrity: sha512-5c/47kQ/mW3xxIuFkQuFY8KV+bDInO1v0vypQea2/GRqgQ3SCHRktEI4VxuLHR6UCAhB3SqJZOld5HEctAduMA==}
+  '@vaadin/icon@24.3.11':
+    resolution: {integrity: sha512-+ZLauTjROVi1WzU1gdcBWsusgDv/yf2cDg3yVpdrcrFCH6hVd/QJgoDFg6q8Cb/ro0KGCDueTQtVUQUNnxuweg==}
 
-  '@vaadin/input-container@24.3.12':
-    resolution: {integrity: sha512-SlzdRHB8HYeNtrLH+MnnaYZSbUzQmw5lgRmQIohf+AFp5bARboGzFgCsMToFr2gfQ3QdvxkHlEYsLskNe+XjIg==}
+  '@vaadin/input-container@24.3.11':
+    resolution: {integrity: sha512-LM/DDWJuvt/l1Cz2qsw+V2WoEKTK9Mil44SNaEUrUZMk/CEqMvAOjyjky7quJO4G82WrhtoY9RtbR+nPqWuMVw==}
 
-  '@vaadin/lit-renderer@24.3.12':
-    resolution: {integrity: sha512-VY1FYcj1MjBbVs4+0nQfpqERGGles21pWliiYtkoev44xYZ8Fbc+ycn8aqZCnwT8J2bnz/w7g8mecaTZFgDsqg==}
+  '@vaadin/lit-renderer@24.3.11':
+    resolution: {integrity: sha512-hYFoXkTVa49Y5bAIKCO2iRG5iL2PTxxGxRqNOwl3RqSDDi/Ak6A16A744mi4T5+Emz5gyHI/L4ZbFjx2dUqkLg==}
 
-  '@vaadin/text-field@24.3.12':
-    resolution: {integrity: sha512-VlqZLyKADi76f+ofXNmGWJPZ7GxzKzE0mwbhXk4J5tAMWxGcZOnGpNVZ4Upiu2ieE9KxNSeafnVUK2Yijq5/VA==}
+  '@vaadin/text-field@24.3.11':
+    resolution: {integrity: sha512-lFdbZ3fbJwQzLyubyWwMCXFAvIhwqaQavP9RbxFT7kXbJb0vHIQvcgzhUyKE2zdzVMZ+3c8VhWnUFX6xDFAg0Q==}
 
-  '@vaadin/vaadin-development-mode-detector@2.0.7':
-    resolution: {integrity: sha512-9FhVhr0ynSR3X2ao+vaIEttcNU5XfzCbxtmYOV8uIRnUCtNgbvMOIcyGBvntsX9I5kvIP2dV3cFAOG9SILJzEA==}
+  '@vaadin/vaadin-development-mode-detector@2.0.6':
+    resolution: {integrity: sha512-N6a5nLT/ytEUlpPo+nvdCKIGoyNjPsj3rzPGvGYK8x9Ceg76OTe1xI/GtN71mRW9e2HUScR0kCNOkl1Z63YDjw==}
 
-  '@vaadin/vaadin-lumo-styles@24.3.12':
-    resolution: {integrity: sha512-Ih0f1JcoMLGyluPCit55zs++IT+W2eGJ8YpaPvGtHI6azJGInbiI4uozxU4O0majRqBNR0Pc1CY49RSSNC3oew==}
+  '@vaadin/vaadin-lumo-styles@24.3.11':
+    resolution: {integrity: sha512-IWfIRMMX6LkgZ097akVzvMrUPp6sS9WThNHlve/8MibAnHTore4av5PDEy7IQwTGs5YrJr0S73+bQXeNYhS7dg==}
 
-  '@vaadin/vaadin-material-styles@24.3.12':
-    resolution: {integrity: sha512-2DP8W2KnXbB6ePocQZuBUpelVxg4L1pWB8awVoNLn4nSs1TI3cEWu9bEEN8vgj9JST3ZHTsRJc+VUOueQqziZQ==}
+  '@vaadin/vaadin-material-styles@24.3.11':
+    resolution: {integrity: sha512-rPMTb45Qvgl5YqwGbhFEEMOdZPu2lVA2bHY0LA0Ld1VC8CXFO8rzElCK9elfjSqKY9r7yrvlUFdFGQOHHoasrw==}
 
-  '@vaadin/vaadin-themable-mixin@24.3.12':
-    resolution: {integrity: sha512-AM9Wv0D407rsckPkrFD7DZUs+31PBBoQezaYCOi/EJ41Z8BjyMyy8cCEW/bMO3xnLY/bnOiC89+BQ4KE2kFl+w==}
+  '@vaadin/vaadin-themable-mixin@24.3.11':
+    resolution: {integrity: sha512-DTjg4j6QW0k/dlWXrS3djwq1f+iMx0zvpex55GzpFFHE/Ccf7V6IrRgdjCkYxoy+Io7FrEmRmWNrkHwmtve14Q==}
 
   '@vaadin/vaadin-usage-statistics@2.1.2':
     resolution: {integrity: sha512-xKs1PvRfTXsG0eWWcImLXWjv7D+f1vfoIvovppv6pZ5QX8xgcxWUdNgERlOOdGt3CTuxQXukTBW3+Qfva+OXSg==}
@@ -3773,8 +3773,8 @@ packages:
   '@yomguithereal/helpers@1.1.1':
     resolution: {integrity: sha512-UYvAq/XCA7xoh1juWDYsq3W0WywOB+pz8cgVnE1b45ZfdMhBvHDrgmSFG3jXeZSr2tMTYLGHFHON+ekG05Jebg==}
 
-  '@zip.js/zip.js@2.7.44':
-    resolution: {integrity: sha512-ZzMhAcAyRAYi1FZELsvKaw8I4ADxNTqbiVIjyo/syBe4HGWop9+OADnuBnHpm2TxgXPogxxhhPffOhDD40jUdA==}
+  '@zip.js/zip.js@2.7.43':
+    resolution: {integrity: sha512-kW7elA/Q1o5xusStfZeysCvheD1SvW3TWDfqTCmoWW4ALBSqKonZSTrQgdEGOUec2U/TLMSGq0SuSMTAxy4gFg==}
     engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'}
 
   JSONStream@1.3.5:
@@ -4673,8 +4673,8 @@ packages:
   decimal.js@10.4.3:
     resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
 
-  deck.gl@9.0.14:
-    resolution: {integrity: sha512-xjNLOT1WB5iAZ1Rtui1g9yXALiCQQW7IbEVSYRb+UTgLFtr/c0FZDksn1sT1S7IstAuzOXTmgq3fpXSvKdDrsA==}
+  deck.gl@9.0.12:
+    resolution: {integrity: sha512-ISrp35lQ7ysZgJlxupXgmugPxeJI0Src0n5r4HdzxjkgNc4aIs34Tfe7kjHf04+LwVT7rgo5KfDHUzUN0S5i2A==}
     peerDependencies:
       '@arcgis/core': ^4.0.0
       react: '>=16.3.0'
@@ -7578,8 +7578,8 @@ packages:
   store2@2.14.3:
     resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==}
 
-  storybook@8.0.6:
-    resolution: {integrity: sha512-QcQl8Sj77scGl0s9pw+cSPFmXK9DPogEkOceG12B2PqdS23oGkaBt24292Y3W5TTMVNyHtRTRB/FqPwK3FOdmA==}
+  storybook@8.0.9:
+    resolution: {integrity: sha512-/Mvij0Br5bUwJpCvqAUZMEDIWmdRxEyllvVj8Ukw5lIWJePxfpSsz4px5jg9+R6B9tO8sQSqjg4HJvQ/pZk8Tg==}
     hasBin: true
 
   stream-shift@1.0.3:
@@ -8526,8 +8526,8 @@ snapshots:
       '@esri/calcite-colors': 6.1.0
       '@esri/calcite-components': 2.8.0
       '@popperjs/core': 2.11.8
-      '@vaadin/grid': 24.3.12
-      '@zip.js/zip.js': 2.7.44
+      '@vaadin/grid': 24.3.11
+      '@zip.js/zip.js': 2.7.43
       luxon: 3.4.4
       sortablejs: 1.15.2
 
@@ -9375,7 +9375,7 @@ snapshots:
       '@commitlint/types': 19.0.3
       chalk: 5.3.0
       cosmiconfig: 8.3.6(typescript@5.4.2)
-      cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.27)(cosmiconfig@8.3.6(typescript@5.4.2))(typescript@5.4.2)
+      cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.27)(cosmiconfig@8.3.6)(typescript@5.4.2)
       lodash.isplainobject: 4.0.6
       lodash.merge: 4.6.2
       lodash.uniq: 4.5.0
@@ -9438,13 +9438,13 @@ snapshots:
     dependencies:
       postcss-selector-parser: 6.0.16
 
-  ? '@deck.gl-community/editable-layers@9.0.0-alpha.1(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/geo-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/constants@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))(@math.gl/core@4.0.1)'
-  : dependencies:
-      '@deck.gl/core': 9.0.14
-      '@deck.gl/extensions': 9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/geo-layers': 9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/mesh-layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+  '@deck.gl-community/editable-layers@9.0.0-alpha.1(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/geo-layers@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@luma.gl/constants@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)(@math.gl/core@4.0.1)':
+    dependencies:
+      '@deck.gl/core': 9.0.12
+      '@deck.gl/extensions': 9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/geo-layers': 9.0.12(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/mesh-layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@luma.gl/constants': 9.0.12
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
@@ -9485,10 +9485,10 @@ snapshots:
       uuid: 9.0.0
       viewport-mercator-project: 7.0.4
 
-  '@deck.gl/aggregation-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@deck.gl/aggregation-layers@9.0.12(@deck.gl/core@9.0.12)(@deck.gl/layers@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
-      '@deck.gl/layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+      '@deck.gl/core': 9.0.12
+      '@deck.gl/layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@luma.gl/constants': 9.0.12
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
@@ -9496,22 +9496,22 @@ snapshots:
       '@math.gl/web-mercator': 4.0.1
       d3-hexbin: 0.2.2
 
-  '@deck.gl/arcgis@9.0.14(@arcgis/core@4.29.10)(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@deck.gl/arcgis@9.0.12(@arcgis/core@4.29.10)(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
       '@arcgis/core': 4.29.10
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       '@luma.gl/constants': 9.0.12
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
       esri-loader: 3.7.0
 
-  ? '@deck.gl/carto@9.0.14(@deck.gl/aggregation-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/geo-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)'
-  : dependencies:
-      '@deck.gl/aggregation-layers': 9.0.14(@deck.gl/core@9.0.14)(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/core': 9.0.14
-      '@deck.gl/extensions': 9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/geo-layers': 9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+  '@deck.gl/carto@9.0.12(@deck.gl/aggregation-layers@9.0.12)(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/geo-layers@9.0.12)(@deck.gl/layers@9.0.12)(@loaders.gl/core@4.2.1)':
+    dependencies:
+      '@deck.gl/aggregation-layers': 9.0.12(@deck.gl/core@9.0.12)(@deck.gl/layers@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/core': 9.0.12
+      '@deck.gl/extensions': 9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/geo-layers': 9.0.12(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@loaders.gl/core': 4.2.1
       '@loaders.gl/gis': 4.2.1(@loaders.gl/core@4.2.1)
       '@loaders.gl/loader-utils': 4.2.1(@loaders.gl/core@4.2.1)
@@ -9536,7 +9536,7 @@ snapshots:
       pbf: 3.2.1
       quadbin: 0.2.0
 
-  '@deck.gl/core@9.0.14':
+  '@deck.gl/core@9.0.12':
     dependencies:
       '@loaders.gl/core': 4.2.1
       '@loaders.gl/images': 4.2.1(@loaders.gl/core@4.2.1)
@@ -9555,21 +9555,21 @@ snapshots:
       gl-matrix: 3.4.3
       mjolnir.js: 2.7.1
 
-  '@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@deck.gl/extensions@9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       '@luma.gl/constants': 9.0.12
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
       '@luma.gl/shadertools': 9.0.12(@luma.gl/core@9.0.12)
       '@math.gl/core': 4.0.1
 
-  '@deck.gl/geo-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@deck.gl/geo-layers@9.0.12(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
-      '@deck.gl/extensions': 9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/mesh-layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+      '@deck.gl/core': 9.0.12
+      '@deck.gl/extensions': 9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/mesh-layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@loaders.gl/3d-tiles': 4.2.1(@loaders.gl/core@4.2.1)
       '@loaders.gl/core': 4.2.1
       '@loaders.gl/gis': 4.2.1(@loaders.gl/core@4.2.1)
@@ -9581,7 +9581,7 @@ snapshots:
       '@loaders.gl/wms': 4.2.1(@loaders.gl/core@4.2.1)
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
-      '@luma.gl/gltf': 9.0.12(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+      '@luma.gl/gltf': 9.0.12(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@luma.gl/shadertools': 9.0.12(@luma.gl/core@9.0.12)
       '@math.gl/core': 4.0.1
       '@math.gl/culling': 4.0.1
@@ -9590,22 +9590,22 @@ snapshots:
       h3-js: 4.1.0
       long: 3.2.0
 
-  '@deck.gl/google-maps@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)':
+  '@deck.gl/google-maps@9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       '@luma.gl/constants': 9.0.12
       '@luma.gl/core': 9.0.12
       '@math.gl/core': 4.0.1
       '@types/google.maps': 3.55.8
 
-  '@deck.gl/json@9.0.14(@deck.gl/core@9.0.14)':
+  '@deck.gl/json@9.0.12(@deck.gl/core@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       expression-eval: 5.0.1
 
-  '@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@deck.gl/layers@9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       '@loaders.gl/core': 4.2.1
       '@loaders.gl/images': 4.2.1(@loaders.gl/core@4.2.1)
       '@loaders.gl/schema': 4.2.1(@loaders.gl/core@4.2.1)
@@ -9617,33 +9617,33 @@ snapshots:
       '@math.gl/web-mercator': 4.0.1
       earcut: 2.2.4
 
-  '@deck.gl/mapbox@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)':
+  '@deck.gl/mapbox@9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       '@luma.gl/constants': 9.0.12
       '@luma.gl/core': 9.0.12
       '@math.gl/web-mercator': 4.0.1
 
-  '@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@deck.gl/mesh-layers@9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       '@loaders.gl/gltf': 4.2.1(@loaders.gl/core@4.2.1)
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
-      '@luma.gl/gltf': 9.0.12(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
+      '@luma.gl/gltf': 9.0.12(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
       '@luma.gl/shadertools': 9.0.12(@luma.gl/core@9.0.12)
     transitivePeerDependencies:
       - '@loaders.gl/core'
 
-  '@deck.gl/react@9.0.14(@deck.gl/core@9.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@deck.gl/react@9.0.12(@deck.gl/core@9.0.12)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  '@deck.gl/widgets@9.0.14(@deck.gl/core@9.0.14)':
+  '@deck.gl/widgets@9.0.12(@deck.gl/core@9.0.12)':
     dependencies:
-      '@deck.gl/core': 9.0.14
+      '@deck.gl/core': 9.0.12
       preact: 10.21.0
 
   '@discoveryjs/json-ext@0.5.7': {}
@@ -9691,10 +9691,9 @@ snapshots:
       '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
       '@emotion/utils': 1.2.1
       '@emotion/weak-memoize': 0.3.1
+      '@types/react': 18.2.65
       hoist-non-react-statics: 3.3.2
       react: 18.2.0
-    optionalDependencies:
-      '@types/react': 18.2.65
 
   '@emotion/serialize@1.1.3':
     dependencies:
@@ -9706,7 +9705,7 @@ snapshots:
 
   '@emotion/sheet@1.2.2': {}
 
-  '@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)':
+  '@emotion/styled@11.11.0(@emotion/react@11.11.4)(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
       '@emotion/babel-plugin': 11.11.0
@@ -9715,9 +9714,8 @@ snapshots:
       '@emotion/serialize': 1.1.3
       '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
       '@emotion/utils': 1.2.1
-      react: 18.2.0
-    optionalDependencies:
       '@types/react': 18.2.65
+      react: 18.2.0
 
   '@emotion/unitless@0.8.0': {}
 
@@ -9853,15 +9851,15 @@ snapshots:
       '@floating-ui/core': 1.6.0
       '@floating-ui/utils': 0.2.1
 
-  '@floating-ui/react-dom@2.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@floating-ui/react-dom@2.1.0(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@floating-ui/dom': 1.6.3
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  '@floating-ui/react@0.26.16(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@floating-ui/react@0.26.17(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0)
       '@floating-ui/utils': 0.2.1
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
@@ -9919,23 +9917,21 @@ snapshots:
 
   '@import-meta-env/cli@0.6.8(@import-meta-env/unplugin@0.5.1)(dotenv@16.4.5)':
     dependencies:
+      '@import-meta-env/unplugin': 0.5.1(@import-meta-env/cli@0.6.8)(dotenv@16.4.5)
       commander: 11.1.0
       dotenv: 16.4.5
       glob: 10.3.10
       picocolors: 1.0.0
       serialize-javascript: 6.0.1
-    optionalDependencies:
-      '@import-meta-env/unplugin': 0.5.1(@import-meta-env/cli@0.6.8)(dotenv@16.4.5)
 
   '@import-meta-env/unplugin@0.5.1(@import-meta-env/cli@0.6.8)(dotenv@16.4.5)':
     dependencies:
+      '@import-meta-env/cli': 0.6.8(@import-meta-env/unplugin@0.5.1)(dotenv@16.4.5)
       dotenv: 16.4.5
       magic-string: 0.30.7
       object-hash: 3.0.0
       picocolors: 1.0.0
       unplugin: 1.7.1
-    optionalDependencies:
-      '@import-meta-env/cli': 0.6.8(@import-meta-env/unplugin@0.5.1)(dotenv@16.4.5)
 
   '@isaacs/cliui@8.0.2':
     dependencies:
@@ -9950,15 +9946,14 @@ snapshots:
     dependencies:
       '@sinclair/typebox': 0.27.8
 
-  '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))':
+  '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.6)':
     dependencies:
       glob: 7.2.3
       glob-promise: 4.2.2(glob@7.2.3)
       magic-string: 0.27.0
       react-docgen-typescript: 2.2.2(typescript@5.4.2)
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
-    optionalDependencies:
       typescript: 5.4.2
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
 
   '@jridgewell/gen-mapping@0.3.4':
     dependencies:
@@ -10193,7 +10188,7 @@ snapshots:
       '@probe.gl/log': 4.0.9
       '@probe.gl/stats': 4.0.9
 
-  '@luma.gl/gltf@9.0.12(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))':
+  '@luma.gl/gltf@9.0.12(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)':
     dependencies:
       '@loaders.gl/textures': 4.2.1(@loaders.gl/core@4.2.1)
       '@luma.gl/core': 9.0.12
@@ -10296,38 +10291,39 @@ snapshots:
 
   '@microsoft/tsdoc@0.14.2': {}
 
-  '@mui/base@5.0.0-beta.39(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@mui/base@5.0.0-beta.39(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
-      '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0)
       '@mui/types': 7.2.13(@types/react@18.2.65)
       '@mui/utils': 5.15.13(@types/react@18.2.65)(react@18.2.0)
       '@popperjs/core': 2.11.8
+      '@types/react': 18.2.65
       clsx: 2.1.0
       prop-types: 15.8.1
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
-    optionalDependencies:
-      '@types/react': 18.2.65
 
   '@mui/core-downloads-tracker@5.15.13': {}
 
-  '@mui/icons-material@5.15.13(@mui/material@5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)':
+  '@mui/icons-material@5.15.13(@mui/material@5.15.13)(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
-      '@mui/material': 5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      react: 18.2.0
-    optionalDependencies:
+      '@mui/material': 5.15.13(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       '@types/react': 18.2.65
+      react: 18.2.0
 
-  '@mui/material@5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@mui/material@5.15.13(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
-      '@mui/base': 5.0.0-beta.39(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@emotion/react': 11.11.4(@types/react@18.2.65)(react@18.2.0)
+      '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.65)(react@18.2.0)
+      '@mui/base': 5.0.0-beta.39(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       '@mui/core-downloads-tracker': 5.15.13
-      '@mui/system': 5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
+      '@mui/system': 5.15.13(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.65)(react@18.2.0)
       '@mui/types': 7.2.13(@types/react@18.2.65)
       '@mui/utils': 5.15.13(@types/react@18.2.65)(react@18.2.0)
+      '@types/react': 18.2.65
       '@types/react-transition-group': 4.4.10
       clsx: 2.1.0
       csstype: 3.1.3
@@ -10335,61 +10331,53 @@ snapshots:
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
       react-is: 18.2.0
-      react-transition-group: 4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-    optionalDependencies:
-      '@emotion/react': 11.11.4(@types/react@18.2.65)(react@18.2.0)
-      '@emotion/styled': 11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
-      '@types/react': 18.2.65
+      react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0)
 
   '@mui/private-theming@5.15.13(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
       '@mui/utils': 5.15.13(@types/react@18.2.65)(react@18.2.0)
+      '@types/react': 18.2.65
       prop-types: 15.8.1
       react: 18.2.0
-    optionalDependencies:
-      '@types/react': 18.2.65
 
-  '@mui/styled-engine@5.15.11(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(react@18.2.0)':
+  '@mui/styled-engine@5.15.11(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
       '@emotion/cache': 11.11.0
+      '@emotion/react': 11.11.4(@types/react@18.2.65)(react@18.2.0)
+      '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.65)(react@18.2.0)
       csstype: 3.1.3
       prop-types: 15.8.1
       react: 18.2.0
-    optionalDependencies:
-      '@emotion/react': 11.11.4(@types/react@18.2.65)(react@18.2.0)
-      '@emotion/styled': 11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
 
-  '@mui/system@5.15.13(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)':
+  '@mui/system@5.15.13(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
+      '@emotion/react': 11.11.4(@types/react@18.2.65)(react@18.2.0)
+      '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.65)(react@18.2.0)
       '@mui/private-theming': 5.15.13(@types/react@18.2.65)(react@18.2.0)
-      '@mui/styled-engine': 5.15.11(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@emotion/styled@11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0))(react@18.2.0)
+      '@mui/styled-engine': 5.15.11(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0)
       '@mui/types': 7.2.13(@types/react@18.2.65)
       '@mui/utils': 5.15.13(@types/react@18.2.65)(react@18.2.0)
+      '@types/react': 18.2.65
       clsx: 2.1.0
       csstype: 3.1.3
       prop-types: 15.8.1
       react: 18.2.0
-    optionalDependencies:
-      '@emotion/react': 11.11.4(@types/react@18.2.65)(react@18.2.0)
-      '@emotion/styled': 11.11.0(@emotion/react@11.11.4(@types/react@18.2.65)(react@18.2.0))(@types/react@18.2.65)(react@18.2.0)
-      '@types/react': 18.2.65
 
   '@mui/types@7.2.13(@types/react@18.2.65)':
-    optionalDependencies:
+    dependencies:
       '@types/react': 18.2.65
 
   '@mui/utils@5.15.13(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
       '@types/prop-types': 15.7.11
+      '@types/react': 18.2.65
       prop-types: 15.8.1
       react: 18.2.0
       react-is: 18.2.0
-    optionalDependencies:
-      '@types/react': 18.2.65
 
   '@ndelangen/get-tarball@3.0.9':
     dependencies:
@@ -10444,18 +10432,18 @@ snapshots:
 
   '@open-wc/dedupe-mixin@1.4.0': {}
 
-  '@pixi-essentials/cull@2.0.0(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/math@7.4.2)':
+  '@pixi-essentials/cull@2.0.0(@pixi/display@7.4.2)(@pixi/math@7.4.2)':
     dependencies:
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
       '@pixi/math': 7.4.2
 
-  '@pixi/accessibility@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/events@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/accessibility@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/events@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/events': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/events': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
-  '@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))':
+  '@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
@@ -10471,7 +10459,7 @@ snapshots:
 
   '@pixi/colord@2.9.6': {}
 
-  '@pixi/compressed-textures@7.4.2(@pixi/assets@7.4.2(@pixi/core@7.4.2))(@pixi/core@7.4.2)':
+  '@pixi/compressed-textures@7.4.2(@pixi/assets@7.4.2)(@pixi/core@7.4.2)':
     dependencies:
       '@pixi/assets': 7.4.2(@pixi/core@7.4.2)
       '@pixi/core': 7.4.2
@@ -10493,7 +10481,7 @@ snapshots:
     dependencies:
       '@pixi/core': 7.4.2
 
-  '@pixi/events@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))':
+  '@pixi/events@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
@@ -10528,51 +10516,51 @@ snapshots:
     dependencies:
       '@pixi/core': 7.4.2
 
-  '@pixi/graphics@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/graphics@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
   '@pixi/math@7.4.2': {}
 
-  '@pixi/mesh-extras@7.4.2(@pixi/core@7.4.2)(@pixi/mesh@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/mesh-extras@7.4.2(@pixi/core@7.4.2)(@pixi/mesh@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
-      '@pixi/mesh': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/mesh': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
-  '@pixi/mesh@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))':
+  '@pixi/mesh@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
 
-  '@pixi/mixin-cache-as-bitmap@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/mixin-cache-as-bitmap@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
-  '@pixi/mixin-get-child-by-name@7.4.2(@pixi/display@7.4.2(@pixi/core@7.4.2))':
+  '@pixi/mixin-get-child-by-name@7.4.2(@pixi/display@7.4.2)':
     dependencies:
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
 
-  '@pixi/mixin-get-global-position@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))':
+  '@pixi/mixin-get-global-position@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
 
-  '@pixi/particle-container@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/particle-container@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
-  '@pixi/prepare@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/graphics@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))(@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))':
+  '@pixi/prepare@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/graphics@7.4.2)(@pixi/text@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/graphics': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
+      '@pixi/graphics': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)
 
   '@pixi/runner@7.4.2': {}
 
@@ -10582,46 +10570,46 @@ snapshots:
       '@types/css-font-loading-module': 0.0.12
       ismobilejs: 1.1.1
 
-  '@pixi/sprite-animated@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/sprite-animated@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
-  '@pixi/sprite-tiling@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/sprite-tiling@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
-  '@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))':
+  '@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
 
-  '@pixi/spritesheet@7.4.2(@pixi/assets@7.4.2(@pixi/core@7.4.2))(@pixi/core@7.4.2)':
+  '@pixi/spritesheet@7.4.2(@pixi/assets@7.4.2)(@pixi/core@7.4.2)':
     dependencies:
       '@pixi/assets': 7.4.2(@pixi/core@7.4.2)
       '@pixi/core': 7.4.2
 
-  '@pixi/text-bitmap@7.4.2(@pixi/assets@7.4.2(@pixi/core@7.4.2))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/mesh@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))':
+  '@pixi/text-bitmap@7.4.2(@pixi/assets@7.4.2)(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/mesh@7.4.2)(@pixi/text@7.4.2)':
     dependencies:
       '@pixi/assets': 7.4.2(@pixi/core@7.4.2)
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/mesh': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
-      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
+      '@pixi/mesh': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
+      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)
 
-  '@pixi/text-html@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))':
+  '@pixi/text-html@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)(@pixi/text@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
-      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
+      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)
 
-  '@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))':
+  '@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)':
     dependencies:
       '@pixi/core': 7.4.2
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
 
   '@pixi/ticker@7.4.2':
     dependencies:
@@ -10659,21 +10647,19 @@ snapshots:
   '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
-      react: 18.2.0
-    optionalDependencies:
       '@types/react': 18.2.65
+      react: 18.2.0
 
   '@radix-ui/react-slot@1.0.2(@types/react@18.2.65)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
       '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.65)(react@18.2.0)
-      react: 18.2.0
-    optionalDependencies:
       '@types/react': 18.2.65
+      react: 18.2.0
 
-  '@reactflow/background@11.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@reactflow/background@11.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       classcat: 5.0.4
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
@@ -10682,9 +10668,9 @@ snapshots:
       - '@types/react'
       - immer
 
-  '@reactflow/controls@11.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@reactflow/controls@11.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       classcat: 5.0.4
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
@@ -10693,7 +10679,7 @@ snapshots:
       - '@types/react'
       - immer
 
-  '@reactflow/core@11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@reactflow/core@11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@types/d3': 7.4.3
       '@types/d3-drag': 3.0.7
@@ -10710,9 +10696,9 @@ snapshots:
       - '@types/react'
       - immer
 
-  '@reactflow/minimap@11.7.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@reactflow/minimap@11.7.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       '@types/d3-selection': 3.0.10
       '@types/d3-zoom': 3.0.8
       classcat: 5.0.4
@@ -10725,9 +10711,9 @@ snapshots:
       - '@types/react'
       - immer
 
-  '@reactflow/node-resizer@2.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@reactflow/node-resizer@2.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       classcat: 5.0.4
       d3-drag: 3.0.0
       d3-selection: 3.0.0
@@ -10738,9 +10724,9 @@ snapshots:
       - '@types/react'
       - immer
 
-  '@reactflow/node-toolbar@1.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@reactflow/node-toolbar@1.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       classcat: 5.0.4
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
@@ -10749,25 +10735,22 @@ snapshots:
       - '@types/react'
       - immer
 
-  '@reduxjs/toolkit@2.2.1(react-redux@9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1))(react@18.2.0)':
+  '@reduxjs/toolkit@2.2.1(react-redux@9.1.0)(react@18.2.0)':
     dependencies:
       immer: 10.0.3
+      react: 18.2.0
+      react-redux: 9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1)
       redux: 5.0.1
       redux-thunk: 3.1.0(redux@5.0.1)
       reselect: 5.1.0
-    optionalDependencies:
-      react: 18.2.0
-      react-redux: 9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1)
 
   '@remix-run/router@1.15.3': {}
 
-  '@rollup/pluginutils@5.1.0(rollup@4.13.0)':
+  '@rollup/pluginutils@5.1.0':
     dependencies:
       '@types/estree': 1.0.5
       estree-walker: 2.0.2
       picomatch: 2.3.1
-    optionalDependencies:
-      rollup: 4.13.0
 
   '@rollup/rollup-android-arm-eabi@4.13.0':
     optional: true
@@ -10812,6 +10795,7 @@ snapshots:
 
   '@rushstack/node-core-library@3.62.0(@types/node@20.11.27)':
     dependencies:
+      '@types/node': 20.11.27
       colors: 1.2.5
       fs-extra: 7.0.1
       import-lazy: 4.0.0
@@ -10819,8 +10803,6 @@ snapshots:
       resolve: 1.22.8
       semver: 7.5.4
       z-schema: 5.0.5
-    optionalDependencies:
-      '@types/node': 20.11.27
 
   '@rushstack/rig-package@0.5.1':
     dependencies:
@@ -10840,24 +10822,24 @@ snapshots:
 
   '@stencil/core@4.17.1': {}
 
-  '@storybook/addon-actions@8.0.6':
+  '@storybook/addon-actions@8.0.9':
     dependencies:
-      '@storybook/core-events': 8.0.6
+      '@storybook/core-events': 8.0.9
       '@storybook/global': 5.0.0
       '@types/uuid': 9.0.8
       dequal: 2.0.3
       polished: 4.3.1
       uuid: 9.0.1
 
-  '@storybook/addon-backgrounds@8.0.6':
+  '@storybook/addon-backgrounds@8.0.9':
     dependencies:
       '@storybook/global': 5.0.0
       memoizerific: 1.11.3
       ts-dedent: 2.2.0
 
-  '@storybook/addon-controls@8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/addon-controls@8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@storybook/blocks': 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@storybook/blocks': 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
       lodash: 4.17.21
       ts-dedent: 2.2.0
     transitivePeerDependencies:
@@ -10867,21 +10849,21 @@ snapshots:
       - react-dom
       - supports-color
 
-  '@storybook/addon-docs@8.0.6':
+  '@storybook/addon-docs@8.0.9':
     dependencies:
       '@babel/core': 7.24.0
       '@mdx-js/react': 3.0.1(@types/react@18.2.65)(react@18.2.0)
-      '@storybook/blocks': 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/client-logger': 8.0.6
-      '@storybook/components': 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/csf-plugin': 8.0.6
-      '@storybook/csf-tools': 8.0.6
+      '@storybook/blocks': 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/client-logger': 8.0.9
+      '@storybook/components': 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/csf-plugin': 8.0.9
+      '@storybook/csf-tools': 8.0.9
       '@storybook/global': 5.0.0
-      '@storybook/node-logger': 8.0.6
-      '@storybook/preview-api': 8.0.6
-      '@storybook/react-dom-shim': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/theming': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/types': 8.0.6
+      '@storybook/node-logger': 8.0.9
+      '@storybook/preview-api': 8.0.9
+      '@storybook/react-dom-shim': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/theming': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/types': 8.0.9
       '@types/react': 18.2.65
       fs-extra: 11.2.0
       react: 18.2.0
@@ -10893,21 +10875,21 @@ snapshots:
       - encoding
       - supports-color
 
-  '@storybook/addon-essentials@8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
-    dependencies:
-      '@storybook/addon-actions': 8.0.6
-      '@storybook/addon-backgrounds': 8.0.6
-      '@storybook/addon-controls': 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/addon-docs': 8.0.6
-      '@storybook/addon-highlight': 8.0.6
-      '@storybook/addon-measure': 8.0.6
-      '@storybook/addon-outline': 8.0.6
-      '@storybook/addon-toolbars': 8.0.6
-      '@storybook/addon-viewport': 8.0.6
-      '@storybook/core-common': 8.0.6
-      '@storybook/manager-api': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/node-logger': 8.0.6
-      '@storybook/preview-api': 8.0.6
+  '@storybook/addon-essentials@8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)':
+    dependencies:
+      '@storybook/addon-actions': 8.0.9
+      '@storybook/addon-backgrounds': 8.0.9
+      '@storybook/addon-controls': 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/addon-docs': 8.0.9
+      '@storybook/addon-highlight': 8.0.9
+      '@storybook/addon-measure': 8.0.9
+      '@storybook/addon-outline': 8.0.9
+      '@storybook/addon-toolbars': 8.0.9
+      '@storybook/addon-viewport': 8.0.9
+      '@storybook/core-common': 8.0.9
+      '@storybook/manager-api': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/node-logger': 8.0.9
+      '@storybook/preview-api': 8.0.9
       ts-dedent: 2.2.0
     transitivePeerDependencies:
       - '@types/react'
@@ -10916,16 +10898,16 @@ snapshots:
       - react-dom
       - supports-color
 
-  '@storybook/addon-highlight@8.0.6':
+  '@storybook/addon-highlight@8.0.9':
     dependencies:
       '@storybook/global': 5.0.0
 
-  '@storybook/addon-interactions@8.0.6(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))':
+  '@storybook/addon-interactions@8.0.9(vitest@1.3.1)':
     dependencies:
       '@storybook/global': 5.0.0
-      '@storybook/instrumenter': 8.0.6
-      '@storybook/test': 8.0.6(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))
-      '@storybook/types': 8.0.6
+      '@storybook/instrumenter': 8.0.9
+      '@storybook/test': 8.0.9(vitest@1.3.1)
+      '@storybook/types': 8.0.9
       polished: 4.3.1
       ts-dedent: 2.2.0
     transitivePeerDependencies:
@@ -10935,44 +10917,43 @@ snapshots:
       - jest
       - vitest
 
-  '@storybook/addon-links@8.0.6(react@18.2.0)':
+  '@storybook/addon-links@8.0.9(react@18.2.0)':
     dependencies:
-      '@storybook/csf': 0.1.2
+      '@storybook/csf': 0.1.6
       '@storybook/global': 5.0.0
-      ts-dedent: 2.2.0
-    optionalDependencies:
       react: 18.2.0
+      ts-dedent: 2.2.0
 
-  '@storybook/addon-measure@8.0.6':
+  '@storybook/addon-measure@8.0.9':
     dependencies:
       '@storybook/global': 5.0.0
       tiny-invariant: 1.3.3
 
-  '@storybook/addon-outline@8.0.6':
+  '@storybook/addon-outline@8.0.9':
     dependencies:
       '@storybook/global': 5.0.0
       ts-dedent: 2.2.0
 
-  '@storybook/addon-toolbars@8.0.6': {}
+  '@storybook/addon-toolbars@8.0.9': {}
 
-  '@storybook/addon-viewport@8.0.6':
+  '@storybook/addon-viewport@8.0.9':
     dependencies:
       memoizerific: 1.11.3
 
-  '@storybook/blocks@8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/blocks@8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@storybook/channels': 8.0.6
-      '@storybook/client-logger': 8.0.6
-      '@storybook/components': 8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/core-events': 8.0.6
-      '@storybook/csf': 0.1.2
-      '@storybook/docs-tools': 8.0.6
+      '@storybook/channels': 8.0.9
+      '@storybook/client-logger': 8.0.9
+      '@storybook/components': 8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/core-events': 8.0.9
+      '@storybook/csf': 0.1.6
+      '@storybook/docs-tools': 8.0.9
       '@storybook/global': 5.0.0
-      '@storybook/icons': 1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/manager-api': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/preview-api': 8.0.6
-      '@storybook/theming': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/types': 8.0.6
+      '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/manager-api': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/preview-api': 8.0.9
+      '@storybook/theming': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/types': 8.0.9
       '@types/lodash': 4.14.202
       color-convert: 2.0.1
       dequal: 2.0.3
@@ -10980,25 +10961,24 @@ snapshots:
       markdown-to-jsx: 7.3.2(react@18.2.0)
       memoizerific: 1.11.3
       polished: 4.3.1
-      react-colorful: 5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      react: 18.2.0
+      react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0)
+      react-dom: 18.2.0(react@18.2.0)
       telejson: 7.2.0
       tocbot: 4.25.0
       ts-dedent: 2.2.0
       util-deprecate: 1.0.2
-    optionalDependencies:
-      react: 18.2.0
-      react-dom: 18.2.0(react@18.2.0)
     transitivePeerDependencies:
       - '@types/react'
       - encoding
       - supports-color
 
-  '@storybook/builder-manager@8.0.6':
+  '@storybook/builder-manager@8.0.9':
     dependencies:
       '@fal-works/esbuild-plugin-global-externals': 2.1.2
-      '@storybook/core-common': 8.0.6
-      '@storybook/manager': 8.0.6
-      '@storybook/node-logger': 8.0.6
+      '@storybook/core-common': 8.0.9
+      '@storybook/manager': 8.0.9
+      '@storybook/node-logger': 8.0.9
       '@types/ejs': 3.1.5
       '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.19.12)
       browser-assert: 1.2.1
@@ -11013,17 +10993,17 @@ snapshots:
       - encoding
       - supports-color
 
-  '@storybook/builder-vite@8.0.6(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))':
-    dependencies:
-      '@storybook/channels': 8.0.6
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-common': 8.0.6
-      '@storybook/core-events': 8.0.6
-      '@storybook/csf-plugin': 8.0.6
-      '@storybook/node-logger': 8.0.6
-      '@storybook/preview': 8.0.6
-      '@storybook/preview-api': 8.0.6
-      '@storybook/types': 8.0.6
+  '@storybook/builder-vite@8.0.9(typescript@5.4.2)(vite@5.1.6)':
+    dependencies:
+      '@storybook/channels': 8.0.9
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-common': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/csf-plugin': 8.0.9
+      '@storybook/node-logger': 8.0.9
+      '@storybook/preview': 8.0.9
+      '@storybook/preview-api': 8.0.9
+      '@storybook/types': 8.0.9
       '@types/find-cache-dir': 3.2.1
       browser-assert: 1.2.1
       es-module-lexer: 0.9.3
@@ -11032,34 +11012,33 @@ snapshots:
       fs-extra: 11.2.0
       magic-string: 0.30.7
       ts-dedent: 2.2.0
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
-    optionalDependencies:
       typescript: 5.4.2
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
     transitivePeerDependencies:
       - encoding
       - supports-color
 
-  '@storybook/channels@8.0.6':
+  '@storybook/channels@8.0.9':
     dependencies:
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-events': 8.0.6
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-events': 8.0.9
       '@storybook/global': 5.0.0
       telejson: 7.2.0
       tiny-invariant: 1.3.3
 
-  '@storybook/cli@8.0.6(@babel/preset-env@7.24.0(@babel/core@7.24.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/cli@8.0.9(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@babel/core': 7.24.0
       '@babel/types': 7.24.0
       '@ndelangen/get-tarball': 3.0.9
-      '@storybook/codemod': 8.0.6
-      '@storybook/core-common': 8.0.6
-      '@storybook/core-events': 8.0.6
-      '@storybook/core-server': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/csf-tools': 8.0.6
-      '@storybook/node-logger': 8.0.6
-      '@storybook/telemetry': 8.0.6
-      '@storybook/types': 8.0.6
+      '@storybook/codemod': 8.0.9
+      '@storybook/core-common': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/core-server': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/csf-tools': 8.0.9
+      '@storybook/node-logger': 8.0.9
+      '@storybook/telemetry': 8.0.9
+      '@storybook/types': 8.0.9
       '@types/semver': 7.5.8
       '@yarnpkg/fslib': 2.10.3
       '@yarnpkg/libzip': 2.3.0
@@ -11074,7 +11053,7 @@ snapshots:
       get-npm-tarball-url: 2.1.0
       giget: 1.2.1
       globby: 11.1.0
-      jscodeshift: 0.15.2(@babel/preset-env@7.24.0(@babel/core@7.24.0))
+      jscodeshift: 0.15.2(@babel/preset-env@7.24.0)
       leven: 3.1.0
       ora: 5.4.1
       prettier: 3.2.5
@@ -11094,23 +11073,23 @@ snapshots:
       - supports-color
       - utf-8-validate
 
-  '@storybook/client-logger@8.0.6':
+  '@storybook/client-logger@8.0.9':
     dependencies:
       '@storybook/global': 5.0.0
 
-  '@storybook/codemod@8.0.6':
+  '@storybook/codemod@8.0.9':
     dependencies:
       '@babel/core': 7.24.0
       '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
       '@babel/types': 7.24.0
-      '@storybook/csf': 0.1.2
-      '@storybook/csf-tools': 8.0.6
-      '@storybook/node-logger': 8.0.6
-      '@storybook/types': 8.0.6
+      '@storybook/csf': 0.1.6
+      '@storybook/csf-tools': 8.0.9
+      '@storybook/node-logger': 8.0.9
+      '@storybook/types': 8.0.9
       '@types/cross-spawn': 6.0.6
       cross-spawn: 7.0.3
       globby: 11.1.0
-      jscodeshift: 0.15.2(@babel/preset-env@7.24.0(@babel/core@7.24.0))
+      jscodeshift: 0.15.2(@babel/preset-env@7.24.0)
       lodash: 4.17.21
       prettier: 3.2.5
       recast: 0.23.6
@@ -11118,15 +11097,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@storybook/components@8.0.6(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/components@8.0.9(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@radix-ui/react-slot': 1.0.2(@types/react@18.2.65)(react@18.2.0)
-      '@storybook/client-logger': 8.0.6
-      '@storybook/csf': 0.1.2
+      '@storybook/client-logger': 8.0.9
+      '@storybook/csf': 0.1.6
       '@storybook/global': 5.0.0
-      '@storybook/icons': 1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/theming': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/types': 8.0.6
+      '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/theming': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/types': 8.0.9
       memoizerific: 1.11.3
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
@@ -11134,12 +11113,12 @@ snapshots:
     transitivePeerDependencies:
       - '@types/react'
 
-  '@storybook/core-common@8.0.6':
+  '@storybook/core-common@8.0.9':
     dependencies:
-      '@storybook/core-events': 8.0.6
-      '@storybook/csf-tools': 8.0.6
-      '@storybook/node-logger': 8.0.6
-      '@storybook/types': 8.0.6
+      '@storybook/core-events': 8.0.9
+      '@storybook/csf-tools': 8.0.9
+      '@storybook/node-logger': 8.0.9
+      '@storybook/types': 8.0.9
       '@yarnpkg/fslib': 2.10.3
       '@yarnpkg/libzip': 2.3.0
       chalk: 4.1.2
@@ -11168,29 +11147,29 @@ snapshots:
       - encoding
       - supports-color
 
-  '@storybook/core-events@8.0.6':
+  '@storybook/core-events@8.0.9':
     dependencies:
       ts-dedent: 2.2.0
 
-  '@storybook/core-server@8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/core-server@8.0.9(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@aw-web-design/x-default-browser': 1.4.126
       '@babel/core': 7.24.0
       '@discoveryjs/json-ext': 0.5.7
-      '@storybook/builder-manager': 8.0.6
-      '@storybook/channels': 8.0.6
-      '@storybook/core-common': 8.0.6
-      '@storybook/core-events': 8.0.6
-      '@storybook/csf': 0.1.2
-      '@storybook/csf-tools': 8.0.6
+      '@storybook/builder-manager': 8.0.9
+      '@storybook/channels': 8.0.9
+      '@storybook/core-common': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/csf': 0.1.6
+      '@storybook/csf-tools': 8.0.9
       '@storybook/docs-mdx': 3.0.0
       '@storybook/global': 5.0.0
-      '@storybook/manager': 8.0.6
-      '@storybook/manager-api': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/node-logger': 8.0.6
-      '@storybook/preview-api': 8.0.6
-      '@storybook/telemetry': 8.0.6
-      '@storybook/types': 8.0.6
+      '@storybook/manager': 8.0.9
+      '@storybook/manager-api': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/node-logger': 8.0.9
+      '@storybook/preview-api': 8.0.9
+      '@storybook/telemetry': 8.0.9
+      '@storybook/types': 8.0.9
       '@types/detect-port': 1.3.5
       '@types/node': 18.19.24
       '@types/pretty-hrtime': 1.0.3
@@ -11225,38 +11204,39 @@ snapshots:
       - supports-color
       - utf-8-validate
 
-  '@storybook/csf-plugin@8.0.6':
+  '@storybook/csf-plugin@8.0.9':
     dependencies:
-      '@storybook/csf-tools': 8.0.6
+      '@storybook/csf-tools': 8.0.9
       unplugin: 1.7.1
     transitivePeerDependencies:
       - supports-color
 
-  '@storybook/csf-tools@8.0.6':
+  '@storybook/csf-tools@8.0.9':
     dependencies:
       '@babel/generator': 7.23.6
       '@babel/parser': 7.24.0
       '@babel/traverse': 7.24.0
       '@babel/types': 7.24.0
-      '@storybook/csf': 0.1.2
-      '@storybook/types': 8.0.6
+      '@storybook/csf': 0.1.6
+      '@storybook/types': 8.0.9
       fs-extra: 11.2.0
       recast: 0.23.6
       ts-dedent: 2.2.0
     transitivePeerDependencies:
       - supports-color
 
-  '@storybook/csf@0.1.2':
+  '@storybook/csf@0.1.6':
     dependencies:
       type-fest: 2.19.0
 
   '@storybook/docs-mdx@3.0.0': {}
 
-  '@storybook/docs-tools@8.0.6':
+  '@storybook/docs-tools@8.0.9':
     dependencies:
-      '@storybook/core-common': 8.0.6
-      '@storybook/preview-api': 8.0.6
-      '@storybook/types': 8.0.6
+      '@storybook/core-common': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/preview-api': 8.0.9
+      '@storybook/types': 8.0.9
       '@types/doctrine': 0.0.3
       assert: 2.1.0
       doctrine: 3.0.0
@@ -11267,32 +11247,32 @@ snapshots:
 
   '@storybook/global@5.0.0': {}
 
-  '@storybook/icons@1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/icons@1.2.9(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  '@storybook/instrumenter@8.0.6':
+  '@storybook/instrumenter@8.0.9':
     dependencies:
-      '@storybook/channels': 8.0.6
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-events': 8.0.6
+      '@storybook/channels': 8.0.9
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-events': 8.0.9
       '@storybook/global': 5.0.0
-      '@storybook/preview-api': 8.0.6
+      '@storybook/preview-api': 8.0.9
       '@vitest/utils': 1.3.1
       util: 0.12.5
 
-  '@storybook/manager-api@8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/manager-api@8.0.9(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
-      '@storybook/channels': 8.0.6
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-events': 8.0.6
-      '@storybook/csf': 0.1.2
+      '@storybook/channels': 8.0.9
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/csf': 0.1.6
       '@storybook/global': 5.0.0
-      '@storybook/icons': 1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/router': 8.0.6
-      '@storybook/theming': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/types': 8.0.6
+      '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/router': 8.0.9
+      '@storybook/theming': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/types': 8.0.9
       dequal: 2.0.3
       lodash: 4.17.21
       memoizerific: 1.11.3
@@ -11303,30 +11283,24 @@ snapshots:
       - react
       - react-dom
 
-  '@storybook/manager@8.0.6': {}
+  '@storybook/manager@8.0.9': {}
 
-  '@storybook/node-logger@8.0.6': {}
-
-  '@storybook/preset-scss@1.0.3(css-loader@6.10.0(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))))(sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))))(style-loader@3.3.4(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))))':
-    dependencies:
-      css-loader: 6.10.0(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2)))
-      sass-loader: 14.1.1(sass@1.72.0)(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2)))
-      style-loader: 3.3.4(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2)))
+  '@storybook/node-logger@8.0.9': {}
 
-  '@storybook/preset-scss@1.0.3(css-loader@6.10.0(webpack@5.90.3(esbuild@0.19.12)))(sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3(esbuild@0.19.12)))(style-loader@3.3.4(webpack@5.90.3(esbuild@0.19.12)))':
+  '@storybook/preset-scss@1.0.3(css-loader@6.10.0)(sass-loader@14.1.1)(style-loader@3.3.4)':
     dependencies:
-      css-loader: 6.10.0(webpack@5.90.3(esbuild@0.19.12))
-      sass-loader: 14.1.1(sass@1.72.0)(webpack@5.90.3(esbuild@0.19.12))
-      style-loader: 3.3.4(webpack@5.90.3(esbuild@0.19.12))
+      css-loader: 6.10.0(webpack@5.90.3)
+      sass-loader: 14.1.1(sass@1.72.0)(webpack@5.90.3)
+      style-loader: 3.3.4(webpack@5.90.3)
 
-  '@storybook/preview-api@8.0.6':
+  '@storybook/preview-api@8.0.9':
     dependencies:
-      '@storybook/channels': 8.0.6
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-events': 8.0.6
-      '@storybook/csf': 0.1.2
+      '@storybook/channels': 8.0.9
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/csf': 0.1.6
       '@storybook/global': 5.0.0
-      '@storybook/types': 8.0.6
+      '@storybook/types': 8.0.9
       '@types/qs': 6.9.12
       dequal: 2.0.3
       lodash: 4.17.21
@@ -11336,20 +11310,20 @@ snapshots:
       ts-dedent: 2.2.0
       util-deprecate: 1.0.2
 
-  '@storybook/preview@8.0.6': {}
+  '@storybook/preview@8.0.9': {}
 
-  '@storybook/react-dom-shim@8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/react-dom-shim@8.0.9(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  '@storybook/react-vite@8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(rollup@4.13.0)(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))':
+  '@storybook/react-vite@8.0.9(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.6)':
     dependencies:
-      '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
-      '@rollup/pluginutils': 5.1.0(rollup@4.13.0)
-      '@storybook/builder-vite': 8.0.6(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))
-      '@storybook/node-logger': 8.0.6
-      '@storybook/react': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2)
+      '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.6)
+      '@rollup/pluginutils': 5.1.0
+      '@storybook/builder-vite': 8.0.9(typescript@5.4.2)(vite@5.1.6)
+      '@storybook/node-logger': 8.0.9
+      '@storybook/react': 8.0.9(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)
       find-up: 5.0.0
       magic-string: 0.30.7
       react: 18.2.0
@@ -11357,7 +11331,7 @@ snapshots:
       react-dom: 18.2.0(react@18.2.0)
       resolve: 1.22.8
       tsconfig-paths: 4.2.0
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
     transitivePeerDependencies:
       - '@preact/preset-vite'
       - encoding
@@ -11366,14 +11340,14 @@ snapshots:
       - typescript
       - vite-plugin-glimmerx
 
-  '@storybook/react@8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.2)':
+  '@storybook/react@8.0.9(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)':
     dependencies:
-      '@storybook/client-logger': 8.0.6
-      '@storybook/docs-tools': 8.0.6
+      '@storybook/client-logger': 8.0.9
+      '@storybook/docs-tools': 8.0.9
       '@storybook/global': 5.0.0
-      '@storybook/preview-api': 8.0.6
-      '@storybook/react-dom-shim': 8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@storybook/types': 8.0.6
+      '@storybook/preview-api': 8.0.9
+      '@storybook/react-dom-shim': 8.0.9(react-dom@18.2.0)(react@18.2.0)
+      '@storybook/types': 8.0.9
       '@types/escodegen': 0.0.6
       '@types/estree': 0.0.51
       '@types/node': 18.19.24
@@ -11386,28 +11360,27 @@ snapshots:
       prop-types: 15.8.1
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
-      react-element-to-jsx-string: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      react-element-to-jsx-string: 15.0.0(react-dom@18.2.0)(react@18.2.0)
       semver: 7.6.0
       ts-dedent: 2.2.0
       type-fest: 2.19.0
-      util-deprecate: 1.0.2
-    optionalDependencies:
       typescript: 5.4.2
+      util-deprecate: 1.0.2
     transitivePeerDependencies:
       - encoding
       - supports-color
 
-  '@storybook/router@8.0.6':
+  '@storybook/router@8.0.9':
     dependencies:
-      '@storybook/client-logger': 8.0.6
+      '@storybook/client-logger': 8.0.9
       memoizerific: 1.11.3
       qs: 6.11.2
 
-  '@storybook/telemetry@8.0.6':
+  '@storybook/telemetry@8.0.9':
     dependencies:
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-common': 8.0.6
-      '@storybook/csf-tools': 8.0.6
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-common': 8.0.9
+      '@storybook/csf-tools': 8.0.9
       chalk: 4.1.2
       detect-package-manager: 2.0.1
       fetch-retry: 5.0.6
@@ -11417,18 +11390,17 @@ snapshots:
       - encoding
       - supports-color
 
-  '@storybook/test@8.0.6(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))':
+  '@storybook/test@8.0.9(vitest@1.3.1)':
     dependencies:
-      '@storybook/client-logger': 8.0.6
-      '@storybook/core-events': 8.0.6
-      '@storybook/instrumenter': 8.0.6
-      '@storybook/preview-api': 8.0.6
+      '@storybook/client-logger': 8.0.9
+      '@storybook/core-events': 8.0.9
+      '@storybook/instrumenter': 8.0.9
+      '@storybook/preview-api': 8.0.9
       '@testing-library/dom': 9.3.4
-      '@testing-library/jest-dom': 6.4.2(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))
+      '@testing-library/jest-dom': 6.4.3(vitest@1.3.1)
       '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4)
       '@vitest/expect': 1.3.1
       '@vitest/spy': 1.3.1
-      chai: 4.4.1
       util: 0.12.5
     transitivePeerDependencies:
       - '@jest/globals'
@@ -11437,19 +11409,18 @@ snapshots:
       - jest
       - vitest
 
-  '@storybook/theming@8.0.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@storybook/theming@8.0.9(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
-      '@storybook/client-logger': 8.0.6
+      '@storybook/client-logger': 8.0.9
       '@storybook/global': 5.0.0
       memoizerific: 1.11.3
-    optionalDependencies:
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  '@storybook/types@8.0.6':
+  '@storybook/types@8.0.9':
     dependencies:
-      '@storybook/channels': 8.0.6
+      '@storybook/channels': 8.0.9
       '@types/express': 4.17.21
       file-system-cache: 2.3.0
 
@@ -11483,7 +11454,7 @@ snapshots:
   '@swc/core-win32-x64-msvc@1.4.2':
     optional: true
 
-  '@swc/core@1.4.2(@swc/helpers@0.5.2)':
+  '@swc/core@1.4.2':
     dependencies:
       '@swc/counter': 0.1.3
       '@swc/types': 0.1.5
@@ -11498,7 +11469,6 @@ snapshots:
       '@swc/core-win32-arm64-msvc': 1.4.2
       '@swc/core-win32-ia32-msvc': 1.4.2
       '@swc/core-win32-x64-msvc': 1.4.2
-      '@swc/helpers': 0.5.2
 
   '@swc/counter@0.1.3': {}
 
@@ -11508,13 +11478,13 @@ snapshots:
 
   '@swc/types@0.1.5': {}
 
-  '@tailwindcss/typography@0.5.10(tailwindcss@3.4.1(ts-node@10.9.2(@types/node@20.11.27)(typescript@5.4.2)))':
+  '@tailwindcss/typography@0.5.10(tailwindcss@3.4.1)':
     dependencies:
       lodash.castarray: 4.4.0
       lodash.isplainobject: 4.0.6
       lodash.merge: 4.6.2
       postcss-selector-parser: 6.0.10
-      tailwindcss: 3.4.1(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2))
+      tailwindcss: 3.4.1(ts-node@10.9.2)
 
   '@testing-library/dom@9.3.4':
     dependencies:
@@ -11527,7 +11497,7 @@ snapshots:
       lz-string: 1.5.0
       pretty-format: 27.5.1
 
-  '@testing-library/jest-dom@6.4.2(vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2))':
+  '@testing-library/jest-dom@6.4.3(vitest@1.3.1)':
     dependencies:
       '@adobe/css-tools': 4.3.3
       '@babel/runtime': 7.24.0
@@ -11537,10 +11507,9 @@ snapshots:
       dom-accessibility-api: 0.6.3
       lodash: 4.17.21
       redent: 3.0.0
-    optionalDependencies:
-      vitest: 1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2)
+      vitest: 1.3.1(@types/node@20.11.27)
 
-  '@testing-library/react@14.2.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+  '@testing-library/react@14.2.1(react-dom@18.2.0)(react@18.2.0)':
     dependencies:
       '@babel/runtime': 7.24.0
       '@testing-library/dom': 9.3.4
@@ -11552,12 +11521,12 @@ snapshots:
     dependencies:
       '@testing-library/dom': 9.3.4
 
-  '@tisoap/react-flow-smart-edge@3.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(reactflow@11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(typescript@5.4.2)':
+  '@tisoap/react-flow-smart-edge@3.0.0(react-dom@18.2.0)(react@18.2.0)(reactflow@11.10.4)(typescript@5.4.2)':
     dependencies:
       pathfinding: 0.4.18
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
-      reactflow: 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      reactflow: 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       typescript: 5.4.2
 
   '@tsconfig/node10@1.0.9': {}
@@ -12200,7 +12169,7 @@ snapshots:
 
   '@types/uuid@9.0.8': {}
 
-  '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0)(typescript@5.4.2)':
+  '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2)':
     dependencies:
       '@eslint-community/regexpp': 4.10.0
       '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
@@ -12215,7 +12184,6 @@ snapshots:
       natural-compare: 1.4.0
       semver: 7.6.0
       ts-api-utils: 1.3.0(typescript@5.4.2)
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - supports-color
@@ -12228,7 +12196,6 @@ snapshots:
       '@typescript-eslint/visitor-keys': 6.21.0
       debug: 4.3.4
       eslint: 8.57.0
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - supports-color
@@ -12241,7 +12208,6 @@ snapshots:
       '@typescript-eslint/visitor-keys': 7.2.0
       debug: 4.3.4
       eslint: 8.57.0
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - supports-color
@@ -12263,7 +12229,6 @@ snapshots:
       debug: 4.3.4
       eslint: 8.57.0
       ts-api-utils: 1.3.0(typescript@5.4.2)
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - supports-color
@@ -12282,7 +12247,6 @@ snapshots:
       minimatch: 9.0.3
       semver: 7.6.0
       ts-api-utils: 1.3.0(typescript@5.4.2)
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - supports-color
@@ -12297,7 +12261,6 @@ snapshots:
       minimatch: 9.0.3
       semver: 7.6.0
       ts-api-utils: 1.3.0(typescript@5.4.2)
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - supports-color
@@ -12328,132 +12291,132 @@ snapshots:
 
   '@ungap/structured-clone@1.2.0': {}
 
-  '@vaadin/a11y-base@24.3.12':
+  '@vaadin/a11y-base@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/component-base': 24.3.12
+      '@vaadin/component-base': 24.3.11
       lit: 3.1.3
 
-  '@vaadin/checkbox@24.3.12':
+  '@vaadin/checkbox@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/a11y-base': 24.3.12
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/field-base': 24.3.12
-      '@vaadin/vaadin-lumo-styles': 24.3.12
-      '@vaadin/vaadin-material-styles': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/a11y-base': 24.3.11
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/field-base': 24.3.11
+      '@vaadin/vaadin-lumo-styles': 24.3.11
+      '@vaadin/vaadin-material-styles': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
       lit: 3.1.3
 
-  '@vaadin/component-base@24.3.12':
+  '@vaadin/component-base@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/vaadin-development-mode-detector': 2.0.7
+      '@vaadin/vaadin-development-mode-detector': 2.0.6
       '@vaadin/vaadin-usage-statistics': 2.1.2
       lit: 3.1.3
 
-  '@vaadin/field-base@24.3.12':
+  '@vaadin/field-base@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/a11y-base': 24.3.12
-      '@vaadin/component-base': 24.3.12
+      '@vaadin/a11y-base': 24.3.11
+      '@vaadin/component-base': 24.3.11
       lit: 3.1.3
 
-  '@vaadin/grid@24.3.12':
+  '@vaadin/grid@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/a11y-base': 24.3.12
-      '@vaadin/checkbox': 24.3.12
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/lit-renderer': 24.3.12
-      '@vaadin/text-field': 24.3.12
-      '@vaadin/vaadin-lumo-styles': 24.3.12
-      '@vaadin/vaadin-material-styles': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/a11y-base': 24.3.11
+      '@vaadin/checkbox': 24.3.11
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/lit-renderer': 24.3.11
+      '@vaadin/text-field': 24.3.11
+      '@vaadin/vaadin-lumo-styles': 24.3.11
+      '@vaadin/vaadin-material-styles': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
 
-  '@vaadin/icon@24.3.12':
+  '@vaadin/icon@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/vaadin-lumo-styles': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/vaadin-lumo-styles': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
       lit: 3.1.3
 
-  '@vaadin/input-container@24.3.12':
+  '@vaadin/input-container@24.3.11':
     dependencies:
       '@polymer/polymer': 3.5.1
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/vaadin-lumo-styles': 24.3.12
-      '@vaadin/vaadin-material-styles': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/vaadin-lumo-styles': 24.3.11
+      '@vaadin/vaadin-material-styles': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
       lit: 3.1.3
 
-  '@vaadin/lit-renderer@24.3.12':
+  '@vaadin/lit-renderer@24.3.11':
     dependencies:
       lit: 3.1.3
 
-  '@vaadin/text-field@24.3.12':
+  '@vaadin/text-field@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       '@polymer/polymer': 3.5.1
-      '@vaadin/a11y-base': 24.3.12
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/field-base': 24.3.12
-      '@vaadin/input-container': 24.3.12
-      '@vaadin/vaadin-lumo-styles': 24.3.12
-      '@vaadin/vaadin-material-styles': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/a11y-base': 24.3.11
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/field-base': 24.3.11
+      '@vaadin/input-container': 24.3.11
+      '@vaadin/vaadin-lumo-styles': 24.3.11
+      '@vaadin/vaadin-material-styles': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
       lit: 3.1.3
 
-  '@vaadin/vaadin-development-mode-detector@2.0.7': {}
+  '@vaadin/vaadin-development-mode-detector@2.0.6': {}
 
-  '@vaadin/vaadin-lumo-styles@24.3.12':
+  '@vaadin/vaadin-lumo-styles@24.3.11':
     dependencies:
       '@polymer/polymer': 3.5.1
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/icon': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/icon': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
 
-  '@vaadin/vaadin-material-styles@24.3.12':
+  '@vaadin/vaadin-material-styles@24.3.11':
     dependencies:
       '@polymer/polymer': 3.5.1
-      '@vaadin/component-base': 24.3.12
-      '@vaadin/vaadin-themable-mixin': 24.3.12
+      '@vaadin/component-base': 24.3.11
+      '@vaadin/vaadin-themable-mixin': 24.3.11
 
-  '@vaadin/vaadin-themable-mixin@24.3.12':
+  '@vaadin/vaadin-themable-mixin@24.3.11':
     dependencies:
       '@open-wc/dedupe-mixin': 1.4.0
       lit: 3.1.3
 
   '@vaadin/vaadin-usage-statistics@2.1.2':
     dependencies:
-      '@vaadin/vaadin-development-mode-detector': 2.0.7
+      '@vaadin/vaadin-development-mode-detector': 2.0.6
 
-  '@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))':
+  '@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.6)':
     dependencies:
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
 
-  '@vitejs/plugin-react-swc@3.6.0(@swc/helpers@0.5.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))':
+  '@vitejs/plugin-react-swc@3.6.0(vite@5.1.6)':
     dependencies:
-      '@swc/core': 1.4.2(@swc/helpers@0.5.2)
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      '@swc/core': 1.4.2
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
     transitivePeerDependencies:
       - '@swc/helpers'
 
-  '@vitejs/plugin-react@4.2.1(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2))':
+  '@vitejs/plugin-react@4.2.1(vite@5.1.6)':
     dependencies:
       '@babel/core': 7.24.0
       '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.0)
       '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.0)
       '@types/babel__core': 7.20.5
       react-refresh: 0.14.0
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
     transitivePeerDependencies:
       - supports-color
 
@@ -12522,9 +12485,8 @@ snapshots:
       minimatch: 9.0.3
       muggle-string: 0.3.1
       path-browserify: 1.0.1
-      vue-template-compiler: 2.7.16
-    optionalDependencies:
       typescript: 5.4.2
+      vue-template-compiler: 2.7.16
 
   '@vue/shared@3.4.21': {}
 
@@ -12627,7 +12589,7 @@ snapshots:
 
   '@yomguithereal/helpers@1.1.1': {}
 
-  '@zip.js/zip.js@2.7.44': {}
+  '@zip.js/zip.js@2.7.43': {}
 
   JSONStream@1.3.5:
     dependencies:
@@ -13258,7 +13220,7 @@ snapshots:
     dependencies:
       layout-base: 2.0.1
 
-  cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.27)(cosmiconfig@8.3.6(typescript@5.4.2))(typescript@5.4.2):
+  cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.27)(cosmiconfig@8.3.6)(typescript@5.4.2):
     dependencies:
       '@types/node': 20.11.27
       cosmiconfig: 8.3.6(typescript@5.4.2)
@@ -13279,7 +13241,6 @@ snapshots:
       js-yaml: 4.1.0
       parse-json: 5.2.0
       path-type: 4.0.0
-    optionalDependencies:
       typescript: 5.4.2
 
   create-require@1.1.1: {}
@@ -13307,20 +13268,7 @@ snapshots:
       utrie: 1.0.2
     optional: true
 
-  css-loader@6.10.0(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))):
-    dependencies:
-      icss-utils: 5.1.0(postcss@8.4.35)
-      postcss: 8.4.35
-      postcss-modules-extract-imports: 3.0.0(postcss@8.4.35)
-      postcss-modules-local-by-default: 4.0.4(postcss@8.4.35)
-      postcss-modules-scope: 3.1.1(postcss@8.4.35)
-      postcss-modules-values: 4.0.0(postcss@8.4.35)
-      postcss-value-parser: 4.2.0
-      semver: 7.6.0
-    optionalDependencies:
-      webpack: 5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))
-
-  css-loader@6.10.0(webpack@5.90.3(esbuild@0.19.12)):
+  css-loader@6.10.0(webpack@5.90.3):
     dependencies:
       icss-utils: 5.1.0(postcss@8.4.35)
       postcss: 8.4.35
@@ -13330,8 +13278,7 @@ snapshots:
       postcss-modules-values: 4.0.0(postcss@8.4.35)
       postcss-value-parser: 4.2.0
       semver: 7.6.0
-    optionalDependencies:
-      webpack: 5.90.3(esbuild@0.19.12)
+      webpack: 5.90.3
 
   css-selector-tokenizer@0.8.0:
     dependencies:
@@ -13599,26 +13546,25 @@ snapshots:
 
   decimal.js@10.4.3: {}
 
-  deck.gl@9.0.14(@arcgis/core@4.29.10)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
-    dependencies:
-      '@deck.gl/aggregation-layers': 9.0.14(@deck.gl/core@9.0.14)(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/arcgis': 9.0.14(@arcgis/core@4.29.10)(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/carto': 9.0.14(@deck.gl/aggregation-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/geo-layers@9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)
-      '@deck.gl/core': 9.0.14
-      '@deck.gl/extensions': 9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/geo-layers': 9.0.14(@deck.gl/core@9.0.14)(@deck.gl/extensions@9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@deck.gl/mesh-layers@9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12)))(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/google-maps': 9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)
-      '@deck.gl/json': 9.0.14(@deck.gl/core@9.0.14)
-      '@deck.gl/layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/mapbox': 9.0.14(@deck.gl/core@9.0.14)(@luma.gl/core@9.0.12)
-      '@deck.gl/mesh-layers': 9.0.14(@deck.gl/core@9.0.14)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12(@luma.gl/core@9.0.12))
-      '@deck.gl/react': 9.0.14(@deck.gl/core@9.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@deck.gl/widgets': 9.0.14(@deck.gl/core@9.0.14)
+  deck.gl@9.0.12(@arcgis/core@4.29.10)(react-dom@18.2.0)(react@18.2.0):
+    dependencies:
+      '@arcgis/core': 4.29.10
+      '@deck.gl/aggregation-layers': 9.0.12(@deck.gl/core@9.0.12)(@deck.gl/layers@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/arcgis': 9.0.12(@arcgis/core@4.29.10)(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/carto': 9.0.12(@deck.gl/aggregation-layers@9.0.12)(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/geo-layers@9.0.12)(@deck.gl/layers@9.0.12)(@loaders.gl/core@4.2.1)
+      '@deck.gl/core': 9.0.12
+      '@deck.gl/extensions': 9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/geo-layers': 9.0.12(@deck.gl/core@9.0.12)(@deck.gl/extensions@9.0.12)(@deck.gl/layers@9.0.12)(@deck.gl/mesh-layers@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/google-maps': 9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)
+      '@deck.gl/json': 9.0.12(@deck.gl/core@9.0.12)
+      '@deck.gl/layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/mapbox': 9.0.12(@deck.gl/core@9.0.12)(@luma.gl/core@9.0.12)
+      '@deck.gl/mesh-layers': 9.0.12(@deck.gl/core@9.0.12)(@loaders.gl/core@4.2.1)(@luma.gl/core@9.0.12)(@luma.gl/engine@9.0.12)
+      '@deck.gl/react': 9.0.12(@deck.gl/core@9.0.12)(react-dom@18.2.0)(react@18.2.0)
+      '@deck.gl/widgets': 9.0.12(@deck.gl/core@9.0.12)
       '@loaders.gl/core': 4.2.1
       '@luma.gl/core': 9.0.12
       '@luma.gl/engine': 9.0.12(@luma.gl/core@9.0.12)
-    optionalDependencies:
-      '@arcgis/core': 4.29.10
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
@@ -14017,12 +13963,11 @@ snapshots:
       '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
       eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
-      eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+      eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
       eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
       eslint-plugin-react: 7.34.0(eslint@8.57.0)
       eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
-    optionalDependencies:
       typescript: 5.4.2
     transitivePeerDependencies:
       - eslint-import-resolver-webpack
@@ -14045,13 +13990,13 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+  eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
     dependencies:
       debug: 4.3.4
       enhanced-resolve: 5.16.0
       eslint: 8.57.0
-      eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
-      eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+      eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+      eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
       fast-glob: 3.3.2
       get-tsconfig: 4.7.3
       is-core-module: 2.13.1
@@ -14062,29 +14007,28 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
+  eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
     dependencies:
-      debug: 3.2.7
-    optionalDependencies:
       '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
+      debug: 3.2.7
       eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
     transitivePeerDependencies:
       - supports-color
 
-  eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
+  eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
     dependencies:
-      debug: 3.2.7
-    optionalDependencies:
       '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
+      debug: 3.2.7
       eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+  eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
     dependencies:
+      '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
       array-includes: 3.1.7
       array.prototype.findlastindex: 1.2.4
       array.prototype.flat: 1.3.2
@@ -14093,7 +14037,7 @@ snapshots:
       doctrine: 2.1.0
       eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
+      eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
       hasown: 2.0.1
       is-core-module: 2.13.1
       is-glob: 4.0.3
@@ -14103,15 +14047,14 @@ snapshots:
       object.values: 1.1.7
       semver: 6.3.1
       tsconfig-paths: 3.15.0
-    optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
       - supports-color
 
-  eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2))(eslint@8.57.0):
+  eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0)(eslint@8.57.0):
     dependencies:
+      '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
       array-includes: 3.1.7
       array.prototype.findlastindex: 1.2.4
       array.prototype.flat: 1.3.2
@@ -14120,7 +14063,7 @@ snapshots:
       doctrine: 2.1.0
       eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
+      eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
       hasown: 2.0.1
       is-core-module: 2.13.1
       is-glob: 4.0.3
@@ -14130,8 +14073,6 @@ snapshots:
       object.values: 1.1.7
       semver: 6.3.1
       tsconfig-paths: 3.15.0
-    optionalDependencies:
-      '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2)
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
@@ -14974,8 +14915,8 @@ snapshots:
 
   is-boolean-object@1.1.2:
     dependencies:
-      call-bind: 1.0.7
-      has-tostringtag: 1.0.2
+      call-bind: 1.0.2
+      has-tostringtag: 1.0.0
 
   is-buffer@1.1.6: {}
 
@@ -15030,7 +14971,7 @@ snapshots:
 
   is-number-object@1.0.7:
     dependencies:
-      has-tostringtag: 1.0.2
+      has-tostringtag: 1.0.0
 
   is-number@7.0.0: {}
 
@@ -15077,7 +15018,7 @@ snapshots:
 
   is-typed-array@1.1.13:
     dependencies:
-      which-typed-array: 1.1.15
+      which-typed-array: 1.1.14
 
   is-unicode-supported@0.1.0: {}
 
@@ -15145,7 +15086,7 @@ snapshots:
     dependencies:
       argparse: 2.0.1
 
-  jscodeshift@0.15.2(@babel/preset-env@7.24.0(@babel/core@7.24.0)):
+  jscodeshift@0.15.2(@babel/preset-env@7.24.0):
     dependencies:
       '@babel/core': 7.24.0
       '@babel/parser': 7.24.0
@@ -15154,6 +15095,7 @@ snapshots:
       '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0)
       '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0)
       '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0)
+      '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
       '@babel/preset-flow': 7.24.0(@babel/core@7.24.0)
       '@babel/preset-typescript': 7.23.3(@babel/core@7.24.0)
       '@babel/register': 7.23.7(@babel/core@7.24.0)
@@ -15167,8 +15109,6 @@ snapshots:
       recast: 0.23.4
       temp: 0.8.4
       write-file-atomic: 2.4.3
-    optionalDependencies:
-      '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
     transitivePeerDependencies:
       - supports-color
 
@@ -15578,7 +15518,7 @@ snapshots:
 
   neo-async@2.6.2: {}
 
-  next@14.1.3(@babel/core@7.24.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.72.0):
+  next@14.1.3(@babel/core@7.24.0)(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@next/env': 14.1.3
       '@swc/helpers': 0.5.2
@@ -15599,7 +15539,6 @@ snapshots:
       '@next/swc-win32-arm64-msvc': 14.1.3
       '@next/swc-win32-ia32-msvc': 14.1.3
       '@next/swc-win32-x64-msvc': 14.1.3
-      sass: 1.72.0
     transitivePeerDependencies:
       - '@babel/core'
       - babel-plugin-macros
@@ -15880,13 +15819,13 @@ snapshots:
 
   pixi.js@7.4.2:
     dependencies:
-      '@pixi/accessibility': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/events@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/app': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/accessibility': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/events@7.4.2)
+      '@pixi/app': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
       '@pixi/assets': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/compressed-textures': 7.4.2(@pixi/assets@7.4.2(@pixi/core@7.4.2))(@pixi/core@7.4.2)
+      '@pixi/compressed-textures': 7.4.2(@pixi/assets@7.4.2)(@pixi/core@7.4.2)
       '@pixi/core': 7.4.2
       '@pixi/display': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/events': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
+      '@pixi/events': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
       '@pixi/extensions': 7.4.2
       '@pixi/extract': 7.4.2(@pixi/core@7.4.2)
       '@pixi/filter-alpha': 7.4.2(@pixi/core@7.4.2)
@@ -15895,21 +15834,21 @@ snapshots:
       '@pixi/filter-displacement': 7.4.2(@pixi/core@7.4.2)
       '@pixi/filter-fxaa': 7.4.2(@pixi/core@7.4.2)
       '@pixi/filter-noise': 7.4.2(@pixi/core@7.4.2)
-      '@pixi/graphics': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/mesh': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
-      '@pixi/mesh-extras': 7.4.2(@pixi/core@7.4.2)(@pixi/mesh@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/mixin-cache-as-bitmap': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/mixin-get-child-by-name': 7.4.2(@pixi/display@7.4.2(@pixi/core@7.4.2))
-      '@pixi/mixin-get-global-position': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
-      '@pixi/particle-container': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/prepare': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/graphics@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))(@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))
-      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))
-      '@pixi/sprite-animated': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/sprite-tiling': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/spritesheet': 7.4.2(@pixi/assets@7.4.2(@pixi/core@7.4.2))(@pixi/core@7.4.2)
-      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))
-      '@pixi/text-bitmap': 7.4.2(@pixi/assets@7.4.2(@pixi/core@7.4.2))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/mesh@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))
-      '@pixi/text-html': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/text@7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))))
+      '@pixi/graphics': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/mesh': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
+      '@pixi/mesh-extras': 7.4.2(@pixi/core@7.4.2)(@pixi/mesh@7.4.2)
+      '@pixi/mixin-cache-as-bitmap': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/mixin-get-child-by-name': 7.4.2(@pixi/display@7.4.2)
+      '@pixi/mixin-get-global-position': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
+      '@pixi/particle-container': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/prepare': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/graphics@7.4.2)(@pixi/text@7.4.2)
+      '@pixi/sprite': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)
+      '@pixi/sprite-animated': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/sprite-tiling': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/spritesheet': 7.4.2(@pixi/assets@7.4.2)(@pixi/core@7.4.2)
+      '@pixi/text': 7.4.2(@pixi/core@7.4.2)(@pixi/sprite@7.4.2)
+      '@pixi/text-bitmap': 7.4.2(@pixi/assets@7.4.2)(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/mesh@7.4.2)(@pixi/text@7.4.2)
+      '@pixi/text-html': 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2)(@pixi/sprite@7.4.2)(@pixi/text@7.4.2)
 
   pkg-dir@3.0.0:
     dependencies:
@@ -15953,21 +15892,18 @@ snapshots:
       camelcase-css: 2.0.1
       postcss: 8.4.35
 
-  postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2)):
+  postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2):
     dependencies:
       lilconfig: 3.1.1
-      yaml: 2.4.0
-    optionalDependencies:
       postcss: 8.4.35
-      ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2)
+      ts-node: 10.9.2(@types/node@20.11.27)(typescript@5.4.2)
+      yaml: 2.4.0
 
-  postcss-load-config@5.0.3(jiti@1.21.0)(postcss@8.4.35):
+  postcss-load-config@5.0.3(postcss@8.4.35):
     dependencies:
       lilconfig: 3.1.1
-      yaml: 2.4.0
-    optionalDependencies:
-      jiti: 1.21.0
       postcss: 8.4.35
+      yaml: 2.4.0
 
   postcss-modules-extract-imports@3.0.0(postcss@8.4.35):
     dependencies:
@@ -16123,7 +16059,7 @@ snapshots:
 
   qs@6.11.2:
     dependencies:
-      side-channel: 1.0.5
+      side-channel: 1.0.6
 
   quadbin@0.2.0:
     dependencies:
@@ -16177,7 +16113,7 @@ snapshots:
       reactcss: 1.2.3(react@18.2.0)
       tinycolor2: 1.6.0
 
-  react-colorful@5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
@@ -16214,14 +16150,14 @@ snapshots:
       react: 18.2.0
       scheduler: 0.23.0
 
-  react-draggable@4.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       clsx: 1.2.1
       prop-types: 15.8.1
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  react-element-to-jsx-string@15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-element-to-jsx-string@15.0.0(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@base2/pretty-print-object': 1.0.1
       is-plain-object: 5.0.0
@@ -16229,7 +16165,7 @@ snapshots:
       react-dom: 18.2.0(react@18.2.0)
       react-is: 18.1.0
 
-  react-floater@0.7.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-floater@0.7.9(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       deepmerge: 4.3.1
       is-lite: 0.8.2
@@ -16239,15 +16175,15 @@ snapshots:
       react-dom: 18.2.0(react@18.2.0)
       tree-changes: 0.9.3
 
-  react-grid-layout@1.4.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-grid-layout@1.4.4(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       clsx: 2.1.0
       fast-equals: 4.0.3
       prop-types: 15.8.1
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
-      react-draggable: 4.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      react-resizable: 3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      react-draggable: 4.4.6(react-dom@18.2.0)(react@18.2.0)
+      react-resizable: 3.0.5(react-dom@18.2.0)(react@18.2.0)
       resize-observer-polyfill: 1.5.1
 
   react-innertext@1.1.5(@types/react@18.2.65)(react@18.2.0):
@@ -16263,7 +16199,7 @@ snapshots:
 
   react-is@18.2.0: {}
 
-  react-joyride@2.7.4(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-joyride@2.7.4(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@gilbarbara/deep-equal': 0.3.1
       '@gilbarbara/helpers': 0.9.2
@@ -16272,7 +16208,7 @@ snapshots:
       is-lite: 1.2.1
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
-      react-floater: 0.7.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      react-floater: 0.7.9(react-dom@18.2.0)(react@18.2.0)
       react-innertext: 1.1.5(@types/react@18.2.65)(react@18.2.0)
       react-is: 16.13.1
       scroll: 3.0.1
@@ -16282,7 +16218,7 @@ snapshots:
     transitivePeerDependencies:
       - '@types/react'
 
-  react-json-view@1.21.3(@types/react@18.2.65)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-json-view@1.21.3(@types/react@18.2.65)(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       flux: 4.0.3(react@18.2.0)
       react: 18.2.0
@@ -16298,24 +16234,23 @@ snapshots:
 
   react-redux@9.1.0(@types/react@18.2.65)(react@18.2.0)(redux@5.0.1):
     dependencies:
+      '@types/react': 18.2.65
       '@types/use-sync-external-store': 0.0.3
       react: 18.2.0
-      use-sync-external-store: 1.2.0(react@18.2.0)
-    optionalDependencies:
-      '@types/react': 18.2.65
       redux: 5.0.1
+      use-sync-external-store: 1.2.0(react@18.2.0)
 
   react-refresh@0.14.0: {}
 
-  react-resizable@3.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-resizable@3.0.5(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       prop-types: 15.8.1
       react: 18.2.0
-      react-draggable: 4.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      react-draggable: 4.4.6(react-dom@18.2.0)(react@18.2.0)
     transitivePeerDependencies:
       - react-dom
 
-  react-router-dom@6.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-router-dom@6.22.3(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@remix-run/router': 1.15.3
       react: 18.2.0
@@ -16349,7 +16284,7 @@ snapshots:
     transitivePeerDependencies:
       - '@types/react'
 
-  react-transition-group@4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@babel/runtime': 7.24.0
       dom-helpers: 5.2.1
@@ -16358,7 +16293,7 @@ snapshots:
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
 
-  react-window@1.8.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  react-window@1.8.10(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@babel/runtime': 7.24.0
       memoize-one: 5.2.1
@@ -16374,14 +16309,14 @@ snapshots:
       lodash: 4.17.21
       react: 18.2.0
 
-  reactflow@11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  reactflow@11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0):
     dependencies:
-      '@reactflow/background': 11.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@reactflow/controls': 11.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@reactflow/minimap': 11.7.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@reactflow/node-resizer': 2.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
-      '@reactflow/node-toolbar': 1.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@reactflow/background': 11.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
+      '@reactflow/controls': 11.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
+      '@reactflow/core': 11.10.4(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
+      '@reactflow/minimap': 11.7.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
+      '@reactflow/node-resizer': 2.2.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
+      '@reactflow/node-toolbar': 1.3.9(@types/react@18.2.65)(immer@10.0.4)(react-dom@18.2.0)(react@18.2.0)
       react: 18.2.0
       react-dom: 18.2.0(react@18.2.0)
     transitivePeerDependencies:
@@ -16627,19 +16562,11 @@ snapshots:
 
   safer-buffer@2.1.2: {}
 
-  sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))):
+  sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3):
     dependencies:
       neo-async: 2.6.2
-    optionalDependencies:
       sass: 1.72.0
-      webpack: 5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))
-
-  sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3(esbuild@0.19.12)):
-    dependencies:
-      neo-async: 2.6.2
-    optionalDependencies:
-      sass: 1.72.0
-      webpack: 5.90.3(esbuild@0.19.12)
+      webpack: 5.90.3
 
   sass@1.72.0:
     dependencies:
@@ -16836,9 +16763,9 @@ snapshots:
 
   store2@2.14.3: {}
 
-  storybook@8.0.6(@babel/preset-env@7.24.0(@babel/core@7.24.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  storybook@8.0.9(react-dom@18.2.0)(react@18.2.0):
     dependencies:
-      '@storybook/cli': 8.0.6(@babel/preset-env@7.24.0(@babel/core@7.24.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+      '@storybook/cli': 8.0.9(react-dom@18.2.0)(react@18.2.0)
     transitivePeerDependencies:
       - '@babel/preset-env'
       - bufferutil
@@ -16934,15 +16861,11 @@ snapshots:
 
   strnum@1.0.5: {}
 
-  style-loader@3.3.4(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))):
-    dependencies:
-      webpack: 5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))
-
-  style-loader@3.3.4(webpack@5.90.3(esbuild@0.19.12)):
+  style-loader@3.3.4(webpack@5.90.3):
     dependencies:
-      webpack: 5.90.3(esbuild@0.19.12)
+      webpack: 5.90.3
 
-  styled-components@6.1.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+  styled-components@6.1.8(react-dom@18.2.0)(react@18.2.0):
     dependencies:
       '@emotion/is-prop-valid': 1.2.1
       '@emotion/unitless': 0.8.0
@@ -16958,10 +16881,9 @@ snapshots:
 
   styled-jsx@5.1.1(@babel/core@7.24.0)(react@18.2.0):
     dependencies:
+      '@babel/core': 7.24.0
       client-only: 0.0.1
       react: 18.2.0
-    optionalDependencies:
-      '@babel/core': 7.24.0
 
   stylis@4.2.0: {}
 
@@ -17002,7 +16924,7 @@ snapshots:
 
   tabbable@6.2.0: {}
 
-  tailwindcss@3.4.1(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2)):
+  tailwindcss@3.4.1(ts-node@10.9.2):
     dependencies:
       '@alloc/quick-lru': 5.2.0
       arg: 5.0.2
@@ -17021,7 +16943,7 @@ snapshots:
       postcss: 8.4.35
       postcss-import: 15.1.0(postcss@8.4.35)
       postcss-js: 4.0.1(postcss@8.4.35)
-      postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2))
+      postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2)
       postcss-nested: 6.0.1(postcss@8.4.35)
       postcss-selector-parser: 6.0.15
       resolve: 1.22.8
@@ -17073,27 +16995,14 @@ snapshots:
       type-fest: 0.16.0
       unique-string: 2.0.0
 
-  terser-webpack-plugin@5.3.10(@swc/core@1.4.2(@swc/helpers@0.5.2))(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))):
-    dependencies:
-      '@jridgewell/trace-mapping': 0.3.25
-      jest-worker: 27.5.1
-      schema-utils: 3.3.0
-      serialize-javascript: 6.0.2
-      terser: 5.29.2
-      webpack: 5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))
-    optionalDependencies:
-      '@swc/core': 1.4.2(@swc/helpers@0.5.2)
-
-  terser-webpack-plugin@5.3.10(esbuild@0.19.12)(webpack@5.90.3(esbuild@0.19.12)):
+  terser-webpack-plugin@5.3.10(webpack@5.90.3):
     dependencies:
       '@jridgewell/trace-mapping': 0.3.25
       jest-worker: 27.5.1
       schema-utils: 3.3.0
       serialize-javascript: 6.0.2
       terser: 5.29.2
-      webpack: 5.90.3(esbuild@0.19.12)
-    optionalDependencies:
-      esbuild: 0.19.12
+      webpack: 5.90.3
 
   terser@5.29.2:
     dependencies:
@@ -17186,7 +17095,7 @@ snapshots:
 
   ts-interface-checker@0.1.13: {}
 
-  ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.2))(@types/node@20.11.27)(typescript@5.4.2):
+  ts-node@10.9.2(@types/node@20.11.27)(typescript@5.4.2):
     dependencies:
       '@cspotcode/source-map-support': 0.8.1
       '@tsconfig/node10': 1.0.9
@@ -17203,11 +17112,9 @@ snapshots:
       typescript: 5.4.2
       v8-compile-cache-lib: 3.0.1
       yn: 3.1.1
-    optionalDependencies:
-      '@swc/core': 1.4.2(@swc/helpers@0.5.2)
 
   tsconfck@3.0.3(typescript@5.4.2):
-    optionalDependencies:
+    dependencies:
       typescript: 5.4.2
 
   tsconfig-paths@3.15.0:
@@ -17378,7 +17285,7 @@ snapshots:
 
   unpipe@1.0.0: {}
 
-  unplugin-icons@0.18.5(vue-template-compiler@2.7.16):
+  unplugin-icons@0.18.5:
     dependencies:
       '@antfu/install-pkg': 0.3.1
       '@antfu/utils': 0.7.7
@@ -17387,8 +17294,6 @@ snapshots:
       kolorist: 1.8.0
       local-pkg: 0.5.0
       unplugin: 1.7.1
-    optionalDependencies:
-      vue-template-compiler: 2.7.16
     transitivePeerDependencies:
       - supports-color
 
@@ -17411,12 +17316,12 @@ snapshots:
     dependencies:
       punycode: 2.3.0
 
-  url-loader@4.1.1(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))):
+  url-loader@4.1.1(webpack@5.90.3):
     dependencies:
       loader-utils: 2.0.4
       mime-types: 2.1.35
       schema-utils: 3.1.1
-      webpack: 5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2))
+      webpack: 5.90.3
 
   url-parse@1.5.10:
     dependencies:
@@ -17439,16 +17344,14 @@ snapshots:
 
   use-isomorphic-layout-effect@1.1.2(@types/react@18.2.65)(react@18.2.0):
     dependencies:
-      react: 18.2.0
-    optionalDependencies:
       '@types/react': 18.2.65
+      react: 18.2.0
 
   use-latest@1.2.1(@types/react@18.2.65)(react@18.2.0):
     dependencies:
+      '@types/react': 18.2.65
       react: 18.2.0
       use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.65)(react@18.2.0)
-    optionalDependencies:
-      '@types/react': 18.2.65
 
   use-sync-external-store@1.2.0(react@18.2.0):
     dependencies:
@@ -17490,13 +17393,13 @@ snapshots:
     dependencies:
       '@math.gl/web-mercator': 3.6.3
 
-  vite-node@1.3.1(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2):
+  vite-node@1.3.1(@types/node@20.11.27)(sass@1.72.0):
     dependencies:
       cac: 6.7.14
       debug: 4.3.4
       pathe: 1.1.2
       picocolors: 1.0.0
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
     transitivePeerDependencies:
       - '@types/node'
       - less
@@ -17507,54 +17410,52 @@ snapshots:
       - supports-color
       - terser
 
-  vite-plugin-dts@3.7.3(@types/node@20.11.27)(rollup@4.13.0)(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)):
+  vite-plugin-dts@3.7.3(@types/node@20.11.27)(typescript@5.4.2)(vite@5.1.6):
     dependencies:
       '@microsoft/api-extractor': 7.39.0(@types/node@20.11.27)
-      '@rollup/pluginutils': 5.1.0(rollup@4.13.0)
+      '@rollup/pluginutils': 5.1.0
       '@vue/language-core': 1.8.27(typescript@5.4.2)
       debug: 4.3.4
       kolorist: 1.8.0
       typescript: 5.4.2
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
       vue-tsc: 1.8.27(typescript@5.4.2)
-    optionalDependencies:
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
     transitivePeerDependencies:
       - '@types/node'
       - rollup
       - supports-color
 
-  vite-plugin-sass-dts@1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)):
+  vite-plugin-sass-dts@1.3.17(postcss@8.4.35)(prettier@3.2.5)(sass@1.72.0)(vite@5.1.6):
     dependencies:
       postcss: 8.4.35
       postcss-js: 4.0.1(postcss@8.4.35)
       prettier: 3.2.5
       sass: 1.72.0
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
 
-  vite-tsconfig-paths@4.3.2(typescript@5.4.2)(vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)):
+  vite-tsconfig-paths@4.3.2(typescript@5.4.2)(vite@5.1.6):
     dependencies:
       debug: 4.3.4
       globrex: 0.1.2
       tsconfck: 3.0.3(typescript@5.4.2)
-    optionalDependencies:
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  vite@5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2):
+  vite@5.1.6(@types/node@20.11.27)(sass@1.72.0):
     dependencies:
+      '@types/node': 20.11.27
       esbuild: 0.19.12
       postcss: 8.4.35
       rollup: 4.13.0
+      sass: 1.72.0
     optionalDependencies:
-      '@types/node': 20.11.27
       fsevents: 2.3.3
-      sass: 1.72.0
-      terser: 5.29.2
 
-  vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0)(terser@5.29.2):
+  vitest@1.3.1(@types/node@20.11.27):
     dependencies:
+      '@types/node': 20.11.27
       '@vitest/expect': 1.3.1
       '@vitest/runner': 1.3.1
       '@vitest/snapshot': 1.3.1
@@ -17572,13 +17473,43 @@ snapshots:
       strip-literal: 2.0.0
       tinybench: 2.6.0
       tinypool: 0.8.2
-      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
-      vite-node: 1.3.1(@types/node@20.11.27)(sass@1.72.0)(terser@5.29.2)
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
+      vite-node: 1.3.1(@types/node@20.11.27)(sass@1.72.0)
       why-is-node-running: 2.2.2
-    optionalDependencies:
+    transitivePeerDependencies:
+      - less
+      - lightningcss
+      - sass
+      - stylus
+      - sugarss
+      - supports-color
+      - terser
+
+  vitest@1.3.1(@types/node@20.11.27)(happy-dom@13.8.4)(jsdom@24.0.0)(sass@1.72.0):
+    dependencies:
       '@types/node': 20.11.27
+      '@vitest/expect': 1.3.1
+      '@vitest/runner': 1.3.1
+      '@vitest/snapshot': 1.3.1
+      '@vitest/spy': 1.3.1
+      '@vitest/utils': 1.3.1
+      acorn-walk: 8.3.2
+      chai: 4.4.1
+      debug: 4.3.4
+      execa: 8.0.1
       happy-dom: 13.8.4
       jsdom: 24.0.0
+      local-pkg: 0.5.0
+      magic-string: 0.30.7
+      pathe: 1.1.2
+      picocolors: 1.0.0
+      std-env: 3.7.0
+      strip-literal: 2.0.0
+      tinybench: 2.6.0
+      tinypool: 0.8.2
+      vite: 5.1.6(@types/node@20.11.27)(sass@1.72.0)
+      vite-node: 1.3.1(@types/node@20.11.27)(sass@1.72.0)
+      why-is-node-running: 2.2.2
     transitivePeerDependencies:
       - less
       - lightningcss
@@ -17623,38 +17554,7 @@ snapshots:
 
   webpack-virtual-modules@0.6.1: {}
 
-  webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2)):
-    dependencies:
-      '@types/eslint-scope': 3.7.7
-      '@types/estree': 1.0.5
-      '@webassemblyjs/ast': 1.12.1
-      '@webassemblyjs/wasm-edit': 1.12.1
-      '@webassemblyjs/wasm-parser': 1.12.1
-      acorn: 8.11.3
-      acorn-import-assertions: 1.9.0(acorn@8.11.3)
-      browserslist: 4.23.0
-      chrome-trace-event: 1.0.3
-      enhanced-resolve: 5.16.0
-      es-module-lexer: 1.4.1
-      eslint-scope: 5.1.1
-      events: 3.3.0
-      glob-to-regexp: 0.4.1
-      graceful-fs: 4.2.11
-      json-parse-even-better-errors: 2.3.1
-      loader-runner: 4.3.0
-      mime-types: 2.1.35
-      neo-async: 2.6.2
-      schema-utils: 3.3.0
-      tapable: 2.2.1
-      terser-webpack-plugin: 5.3.10(@swc/core@1.4.2(@swc/helpers@0.5.2))(webpack@5.90.3(@swc/core@1.4.2(@swc/helpers@0.5.2)))
-      watchpack: 2.4.1
-      webpack-sources: 3.2.3
-    transitivePeerDependencies:
-      - '@swc/core'
-      - esbuild
-      - uglify-js
-
-  webpack@5.90.3(esbuild@0.19.12):
+  webpack@5.90.3:
     dependencies:
       '@types/eslint-scope': 3.7.7
       '@types/estree': 1.0.5
@@ -17677,7 +17577,7 @@ snapshots:
       neo-async: 2.6.2
       schema-utils: 3.3.0
       tapable: 2.2.1
-      terser-webpack-plugin: 5.3.10(esbuild@0.19.12)(webpack@5.90.3(esbuild@0.19.12))
+      terser-webpack-plugin: 5.3.10(webpack@5.90.3)
       watchpack: 2.4.1
       webpack-sources: 3.2.3
     transitivePeerDependencies:
@@ -17724,7 +17624,7 @@ snapshots:
       isarray: 2.0.5
       which-boxed-primitive: 1.0.2
       which-collection: 1.0.1
-      which-typed-array: 1.1.15
+      which-typed-array: 1.1.14
 
   which-collection@1.0.1:
     dependencies:
@@ -17834,8 +17734,7 @@ snapshots:
 
   zustand@4.5.1(@types/react@18.2.65)(immer@10.0.4)(react@18.2.0):
     dependencies:
-      use-sync-external-store: 1.2.0(react@18.2.0)
-    optionalDependencies:
       '@types/react': 18.2.65
       immer: 10.0.4
       react: 18.2.0
+      use-sync-external-store: 1.2.0(react@18.2.0)