diff --git a/.circleci/config.yml b/.circleci/config.yml index 86a47dd04d852..90eebf32d31c8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,6 +57,16 @@ default-context: &default-context context: - org-global +test-react-18-context: &test-react-18-context + <<: *default-context + react-version: ^18.0.0 + filters: + branches: + only: + - master + - /^v.*\.x$/ + - next + commands: install_js: parameters: @@ -64,6 +74,10 @@ commands: type: boolean default: false description: 'Set to true if you intend to any browser (for example with playwright).' + react-version: + type: string + default: << pipeline.parameters.react-version >> + description: The version of React to use. steps: - when: @@ -81,14 +95,35 @@ commands: # See https://stackoverflow.com/a/73411601 command: corepack enable --install-directory ~/bin + - when: + condition: + not: + equal: [stable, << parameters.react-version >>] + steps: + - run: + name: Change pnpm setting to not install peer dependencies + command: pnpm config set auto-install-peers false --location project + - run: name: View install environment command: | node --version pnpm --version - - run: - name: Install js dependencies - command: pnpm install + - when: + condition: + not: + equal: [stable, << parameters.react-version >>] + steps: + - run: + name: Install js dependencies without frozen lockfile + command: pnpm install --no-frozen-lockfile + - when: + condition: + equal: [stable, << parameters.react-version >>] + steps: + - run: + name: Install js dependencies + command: pnpm install - run: name: Resolve React version @@ -127,7 +162,8 @@ jobs: <<: *default-job steps: - checkout - - install_js + - install_js: + react-version: << parameters.react-version >> - run: name: Tests fake browser command: pnpm test:coverage @@ -226,6 +262,7 @@ jobs: - checkout - install_js: browsers: true + react-version: << parameters.react-version >> - run: name: Tests real browsers command: pnpm test:karma @@ -257,6 +294,7 @@ jobs: - checkout - install_js: browsers: true + react-version: << parameters.react-version >> - run: name: Run e2e tests command: pnpm test:e2e @@ -281,6 +319,7 @@ jobs: - checkout - install_js: browsers: true + react-version: << parameters.react-version >> - run: name: Run visual regression tests command: xvfb-run pnpm test:regressions @@ -296,7 +335,6 @@ jobs: name: Run danger on PRs command: pnpm danger ci --fail-on-errors workflows: - version: 2 pipeline: when: equal: [pipeline, << pipeline.parameters.workflow >>] @@ -380,3 +418,17 @@ workflows: - test_types: <<: *default-context name: test_types_additional + test-react-18: + jobs: + - test_unit: + <<: *test-react-18-context + name: test_unit_react_18 + - test_browser: + <<: *test-react-18-context + name: test_browser_react_18 + - test_regressions: + <<: *test-react-18-context + name: test_regressions_react_18 + - test_e2e: + <<: *test-react-18-context + name: test_e2e_react_18 diff --git a/docs/data/charts/components/ScaleDemo.tsx b/docs/data/charts/components/ScaleDemo.tsx index b912d56affc2c..be71daf192fd6 100644 --- a/docs/data/charts/components/ScaleDemo.tsx +++ b/docs/data/charts/components/ScaleDemo.tsx @@ -21,7 +21,7 @@ const StyledText = styled('text')(({ theme }) => ({ shapeRendering: 'crispEdges', })); -function ValueHighlight(props: { svgRef: React.RefObject }) { +function ValueHighlight(props: { svgRef: React.RefObject }) { const { svgRef } = props; // Get the drawing area bounding box diff --git a/docs/data/charts/line-demo/LineWithPrediction.js b/docs/data/charts/line-demo/LineWithPrediction.js index 277ce031aeb0a..412ac3591f337 100644 --- a/docs/data/charts/line-demo/LineWithPrediction.js +++ b/docs/data/charts/line-demo/LineWithPrediction.js @@ -3,7 +3,7 @@ import { LineChart, AnimatedLine } from '@mui/x-charts/LineChart'; import { useChartId, useDrawingArea, useXScale } from '@mui/x-charts/hooks'; function CustomAnimatedLine(props) { - const { limit, sxBefore, sxAfter, ...other } = props; + const { limit, ...other } = props; const { top, bottom, height, left, width } = useDrawingArea(); const scale = useXScale(); const chartId = useChartId(); @@ -40,11 +40,11 @@ function CustomAnimatedLine(props) { height={top + height + bottom} /> - - + + - - + + ); @@ -64,7 +64,8 @@ export default function LineWithPrediction() { height={200} width={400} slots={{ line: CustomAnimatedLine }} - slotProps={{ line: { limit: 5, sxAfter: { strokeDasharray: '10 5' } } }} + slotProps={{ line: { limit: 5 } }} + sx={{ '& .line-after path': { strokeDasharray: '10 5' } }} /> ); } diff --git a/docs/data/charts/line-demo/LineWithPrediction.tsx b/docs/data/charts/line-demo/LineWithPrediction.tsx index 55fd42deb2443..9f67b8f2cf739 100644 --- a/docs/data/charts/line-demo/LineWithPrediction.tsx +++ b/docs/data/charts/line-demo/LineWithPrediction.tsx @@ -1,16 +1,13 @@ import * as React from 'react'; import { LineChart, AnimatedLine, AnimatedLineProps } from '@mui/x-charts/LineChart'; import { useChartId, useDrawingArea, useXScale } from '@mui/x-charts/hooks'; -import { SxProps, Theme } from '@mui/system'; interface CustomAnimatedLineProps extends AnimatedLineProps { limit?: number; - sxBefore?: SxProps; - sxAfter?: SxProps; } function CustomAnimatedLine(props: CustomAnimatedLineProps) { - const { limit, sxBefore, sxAfter, ...other } = props; + const { limit, ...other } = props; const { top, bottom, height, left, width } = useDrawingArea(); const scale = useXScale(); const chartId = useChartId(); @@ -47,11 +44,11 @@ function CustomAnimatedLine(props: CustomAnimatedLineProps) { height={top + height + bottom} /> - - + + - - + + ); @@ -71,7 +68,8 @@ export default function LineWithPrediction() { height={200} width={400} slots={{ line: CustomAnimatedLine }} - slotProps={{ line: { limit: 5, sxAfter: { strokeDasharray: '10 5' } } as any }} + slotProps={{ line: { limit: 5 } as any }} + sx={{ '& .line-after path': { strokeDasharray: '10 5' } }} /> ); } diff --git a/docs/data/charts/line-demo/LineWithPrediction.tsx.preview b/docs/data/charts/line-demo/LineWithPrediction.tsx.preview index 1dc0a8f94a59e..f15f69543aae0 100644 --- a/docs/data/charts/line-demo/LineWithPrediction.tsx.preview +++ b/docs/data/charts/line-demo/LineWithPrediction.tsx.preview @@ -10,5 +10,6 @@ height={200} width={400} slots={{ line: CustomAnimatedLine }} - slotProps={{ line: { limit: 5, sxAfter: { strokeDasharray: '10 5' } } as any }} + slotProps={{ line: { limit: 5 } as any }} + sx={{ '& .line-after path': { strokeDasharray: '10 5' } }} /> \ No newline at end of file diff --git a/docs/data/charts/tooltip/ItemTooltipFixedY.js b/docs/data/charts/tooltip/ItemTooltipFixedY.js index 4e19cd1bc9f62..c0fa6de93c0e8 100644 --- a/docs/data/charts/tooltip/ItemTooltipFixedY.js +++ b/docs/data/charts/tooltip/ItemTooltipFixedY.js @@ -12,7 +12,7 @@ export function ItemTooltipFixedY() { const svgRef = useSvgRef(); // Get the ref of the component. const drawingArea = useDrawingArea(); // Get the dimensions of the chart inside the . - if (!tooltipData || !mousePosition) { + if (!tooltipData || !mousePosition || !svgRef.current) { // No data to display return null; } diff --git a/docs/data/charts/tooltip/ItemTooltipFixedY.tsx b/docs/data/charts/tooltip/ItemTooltipFixedY.tsx index 3059c260afcac..04546894be74b 100644 --- a/docs/data/charts/tooltip/ItemTooltipFixedY.tsx +++ b/docs/data/charts/tooltip/ItemTooltipFixedY.tsx @@ -12,7 +12,7 @@ export function ItemTooltipFixedY() { const svgRef = useSvgRef(); // Get the ref of the component. const drawingArea = useDrawingArea(); // Get the dimensions of the chart inside the . - if (!tooltipData || !mousePosition) { + if (!tooltipData || !mousePosition || !svgRef.current) { // No data to display return null; } diff --git a/docs/data/charts/tooltip/ItemTooltipTopElement.js b/docs/data/charts/tooltip/ItemTooltipTopElement.js index 7d86e69b81e40..883e0a8baf403 100644 --- a/docs/data/charts/tooltip/ItemTooltipTopElement.js +++ b/docs/data/charts/tooltip/ItemTooltipTopElement.js @@ -29,7 +29,8 @@ export function ItemTooltipTopElement() { if ( tooltipData.identifier.type !== 'bar' || tooltipData.identifier.dataIndex === undefined || - tooltipData.value === null + tooltipData.value === null || + svgRef.current === null ) { // This demo is only about bar charts return null; diff --git a/docs/data/charts/tooltip/ItemTooltipTopElement.tsx b/docs/data/charts/tooltip/ItemTooltipTopElement.tsx index d69ab33e96da4..39724567e6e0c 100644 --- a/docs/data/charts/tooltip/ItemTooltipTopElement.tsx +++ b/docs/data/charts/tooltip/ItemTooltipTopElement.tsx @@ -29,7 +29,8 @@ export function ItemTooltipTopElement() { if ( tooltipData.identifier.type !== 'bar' || tooltipData.identifier.dataIndex === undefined || - tooltipData.value === null + tooltipData.value === null || + svgRef.current === null ) { // This demo is only about bar charts return null; diff --git a/docs/data/data-grid/filtering/CustomMultiValueOperator.js b/docs/data/data-grid/filtering/CustomMultiValueOperator.js index 7155e509dc995..4dbfb04c5a87e 100644 --- a/docs/data/data-grid/filtering/CustomMultiValueOperator.js +++ b/docs/data/data-grid/filtering/CustomMultiValueOperator.js @@ -9,7 +9,7 @@ function InputNumberInterval(props) { const rootProps = useGridRootProps(); const { item, applyValue, focusElementRef = null } = props; - const filterTimeout = React.useRef(); + const filterTimeout = React.useRef(undefined); const [filterValueState, setFilterValueState] = React.useState(item.value ?? ''); const [applying, setIsApplying] = React.useState(false); diff --git a/docs/data/data-grid/filtering/CustomMultiValueOperator.tsx b/docs/data/data-grid/filtering/CustomMultiValueOperator.tsx index 0ac2080fb364b..d1d777e8b4848 100644 --- a/docs/data/data-grid/filtering/CustomMultiValueOperator.tsx +++ b/docs/data/data-grid/filtering/CustomMultiValueOperator.tsx @@ -15,7 +15,7 @@ function InputNumberInterval(props: GridFilterInputValueProps) { const rootProps = useGridRootProps(); const { item, applyValue, focusElementRef = null } = props; - const filterTimeout = React.useRef(); + const filterTimeout = React.useRef>(undefined); const [filterValueState, setFilterValueState] = React.useState<[string, string]>( item.value ?? '', ); diff --git a/docs/data/data-grid/layout/MinMaxHeightGrid.tsx b/docs/data/data-grid/layout/MinMaxHeightGrid.tsx index 79bb6db519699..66d52455a4a87 100644 --- a/docs/data/data-grid/layout/MinMaxHeightGrid.tsx +++ b/docs/data/data-grid/layout/MinMaxHeightGrid.tsx @@ -53,7 +53,7 @@ export default function MinMaxHeightGrid() { function ContainerMeasurements({ containerRef, }: { - containerRef: React.RefObject; + containerRef: React.RefObject; }) { const [containerHeight, setContainerHeight] = React.useState(0); diff --git a/docs/data/data-grid/pagination/CursorPaginationGrid.js b/docs/data/data-grid/pagination/CursorPaginationGrid.js index 1815b05771007..2bc291793b737 100644 --- a/docs/data/data-grid/pagination/CursorPaginationGrid.js +++ b/docs/data/data-grid/pagination/CursorPaginationGrid.js @@ -48,7 +48,7 @@ export default function CursorPaginationGrid() { } }; - const paginationMetaRef = React.useRef(); + const paginationMetaRef = React.useRef(undefined); // Memoize to avoid flickering when the `hasNextPage` is `undefined` during refetch const paginationMeta = React.useMemo(() => { diff --git a/docs/data/data-grid/pagination/CursorPaginationGrid.tsx b/docs/data/data-grid/pagination/CursorPaginationGrid.tsx index 113e1b7945c45..4d92a2a68be5c 100644 --- a/docs/data/data-grid/pagination/CursorPaginationGrid.tsx +++ b/docs/data/data-grid/pagination/CursorPaginationGrid.tsx @@ -55,7 +55,7 @@ export default function CursorPaginationGrid() { } }; - const paginationMetaRef = React.useRef(); + const paginationMetaRef = React.useRef(undefined); // Memoize to avoid flickering when the `hasNextPage` is `undefined` during refetch const paginationMeta = React.useMemo(() => { diff --git a/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.js b/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.js index 2de106edc5d3e..239db20b0e972 100644 --- a/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.js +++ b/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.js @@ -23,7 +23,7 @@ export default function ServerPaginationGridNoRowCount() { pageInfo: { hasNextPage }, } = useQuery(paginationModel); - const paginationMetaRef = React.useRef(); + const paginationMetaRef = React.useRef(undefined); // Memoize to avoid flickering when the `hasNextPage` is `undefined` during refetch const paginationMeta = React.useMemo(() => { diff --git a/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.tsx b/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.tsx index bb35ce14cebd5..98fdf4dcc1513 100644 --- a/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.tsx +++ b/docs/data/data-grid/pagination/ServerPaginationGridNoRowCount.tsx @@ -23,7 +23,7 @@ export default function ServerPaginationGridNoRowCount() { pageInfo: { hasNextPage }, } = useQuery(paginationModel); - const paginationMetaRef = React.useRef(); + const paginationMetaRef = React.useRef(undefined); // Memoize to avoid flickering when the `hasNextPage` is `undefined` during refetch const paginationMeta = React.useMemo(() => { diff --git a/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.js b/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.js index 7941d92b58e5d..cd398604ab5bf 100644 --- a/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.js +++ b/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.js @@ -45,6 +45,7 @@ function TransitionComponent(props) { }); return ( + // @ts-expect-error diff --git a/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.tsx b/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.tsx index 234b4b656bd98..60fd9f16f5251 100644 --- a/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.tsx +++ b/docs/data/tree-view/rich-tree-view/customization/CustomAnimation.tsx @@ -45,6 +45,7 @@ function TransitionComponent(props: TransitionProps) { }); return ( + // @ts-expect-error diff --git a/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.js b/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.js index f507b6768cca7..e88f87658b23f 100644 --- a/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.js +++ b/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.js @@ -15,6 +15,7 @@ function TransitionComponent(props) { }); return ( + // @ts-expect-error diff --git a/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.tsx b/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.tsx index 5a2428ac5a08d..e46d7537cb9e1 100644 --- a/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.tsx +++ b/docs/data/tree-view/simple-tree-view/customization/CustomAnimation.tsx @@ -15,6 +15,7 @@ function TransitionComponent(props: TransitionProps) { }); return ( + // @ts-expect-error diff --git a/docs/next-env.d.ts b/docs/next-env.d.ts index a4a7b3f5cfa2f..52e831b434248 100644 --- a/docs/next-env.d.ts +++ b/docs/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. diff --git a/docs/package.json b/docs/package.json index 1a933828246d3..3bdd9bb9edf09 100644 --- a/docs/package.json +++ b/docs/package.json @@ -27,15 +27,15 @@ "@emotion/react": "^11.13.3", "@emotion/server": "^11.11.0", "@emotion/styled": "^11.13.0", - "@mui/docs": "6.1.6", - "@mui/icons-material": "^5.16.7", - "@mui/joy": "^5.0.0-beta.48", - "@mui/lab": "^5.0.0-alpha.173", - "@mui/material": "^5.16.7", - "@mui/material-nextjs": "^5.16.6", - "@mui/styles": "^5.16.7", - "@mui/system": "^5.16.7", - "@mui/utils": "^5.16.6", + "@mui/docs": "6.3.0", + "@mui/icons-material": "^5.16.13", + "@mui/joy": "^5.0.0-beta.51", + "@mui/lab": "^5.0.0-alpha.175", + "@mui/material": "^5.16.13", + "@mui/material-nextjs": "^5.16.13", + "@mui/styles": "^5.16.13", + "@mui/system": "^5.16.13", + "@mui/utils": "^5.16.13", "@mui/x-charts": "workspace:*", "@mui/x-charts-vendor": "workspace:*", "@mui/x-data-grid": "workspace:*", @@ -76,16 +76,16 @@ "moment-hijri": "^3.0.0", "moment-jalaali": "^0.10.1", "moment-timezone": "^0.5.46", - "next": "^14.2.15", + "next": "^15.1.3", "nprogress": "^0.2.0", "postcss": "^8.4.47", "prismjs": "^1.29.0", "prop-types": "^15.8.1", - "react": "^18.3.1", + "react": "^19.0.0", "react-docgen": "^5.4.3", - "react-dom": "^18.3.1", + "react-dom": "^19.0.0", "react-hook-form": "^7.53.0", - "react-is": "^18.3.1", + "react-is": "^19.0.0", "react-router": "^6.27.0", "react-router-dom": "^6.27.0", "react-runner": "^1.0.5", @@ -113,7 +113,7 @@ "@types/moment-hijri": "^2.1.4", "@types/moment-jalaali": "^0.7.9", "@types/prop-types": "^15.7.13", - "@types/react-dom": "^18.3.1", + "@types/react-dom": "^19.0.2", "@types/react-router-dom": "^5.3.3", "@types/stylis": "^4.2.6", "@types/webpack-bundle-analyzer": "^4.7.0", diff --git a/docs/src/modules/components/CustomizationPlayground.tsx b/docs/src/modules/components/CustomizationPlayground.tsx index 8f82c2c0dc306..2c2b6b72f0844 100644 --- a/docs/src/modules/components/CustomizationPlayground.tsx +++ b/docs/src/modules/components/CustomizationPlayground.tsx @@ -144,6 +144,7 @@ function StylingApproachTabs({ value, onChange, options }: TabsProps) { }} > @@ -240,6 +241,7 @@ function ColorSwitcher({ }) { return ( + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Color {(Object.keys(DEFAULT_COLORS) as Array).map((color) => ( @@ -354,6 +357,7 @@ const CustomizationPlayground = function CustomizationPlayground({ + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Components {availableSlots && ( + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Slots {(availableSlots as string[]).map((slot: string) => ( @@ -388,6 +393,7 @@ const CustomizationPlayground = function CustomizationPlayground({ )} + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Playground diff --git a/docs/src/modules/components/DemoPropsForm.tsx b/docs/src/modules/components/DemoPropsForm.tsx index 6af4554500ddb..c095e77e5b0b0 100644 --- a/docs/src/modules/components/DemoPropsForm.tsx +++ b/docs/src/modules/components/DemoPropsForm.tsx @@ -193,10 +193,12 @@ export default function ChartDemoPropsForm({ component="h3" fontWeight="bold" sx={{ scrollMarginTop: 160, fontFamily: 'General Sans' }} + // eslint-disable-next-line material-ui/no-hardcoded-labels > Playground onPropsChange(initialProps)} @@ -427,6 +429,7 @@ export default function ChartDemoPropsForm({ if (knob === 'placement') { return ( + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Placement + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Undefined + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} True + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} False } @@ -217,7 +220,7 @@ const shortcutsItems: PickersShortcutsItem>[] = [ { label: 'Reset', getValue: () => [null, null] }, ]; -function DisabledCheckboxTooltip({ children }: { children: React.ReactElement }) { +function DisabledCheckboxTooltip({ children }: { children: React.ReactElement }) { return ( {children} ); @@ -270,6 +273,7 @@ function ViewSwitcher({ return ( + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Available views @@ -544,6 +548,7 @@ export default function PickersPlayground() { > + {/* eslint-disable-next-line material-ui/no-hardcoded-labels */} Selected components setInputRef(ref)} data-testid="input" /> + { + setInputRef(ref); + }} + data-testid="input" + /> ); } diff --git a/packages/x-data-grid-pro/src/tests/rowPinning.DataGridPro.test.tsx b/packages/x-data-grid-pro/src/tests/rowPinning.DataGridPro.test.tsx index 15f787bfdc454..dea9277b0605a 100644 --- a/packages/x-data-grid-pro/src/tests/rowPinning.DataGridPro.test.tsx +++ b/packages/x-data-grid-pro/src/tests/rowPinning.DataGridPro.test.tsx @@ -183,7 +183,7 @@ describe(' - Row pinning', () => { it('should update pinned rows when calling `apiRef.current.setPinnedRows` method', async () => { const data = getBasicGridData(20, 5); - let apiRef!: React.MutableRefObject; + let apiRef!: React.RefObject; function TestCase(props: any) { const [pinnedRow0, pinnedRow1, ...rows] = data.rows; @@ -214,8 +214,8 @@ describe(' - Row pinning', () => { let rows = data.rows.filter((row) => row.id !== 11 && row.id !== 3); // should work when calling `setPinnedRows` before `setRows` - act(() => apiRef.current.unstable_setPinnedRows(pinnedRows)); - act(() => apiRef.current.setRows(rows)); + await act(() => apiRef.current.unstable_setPinnedRows(pinnedRows)); + await act(() => apiRef.current.setRows(rows)); expect(isRowPinned(getRowById(0), 'top')).to.equal(false, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(false, '#1 pinned bottom'); @@ -227,8 +227,8 @@ describe(' - Row pinning', () => { rows = data.rows.filter((row) => row.id !== 8 && row.id !== 5); // should work when calling `setPinnedRows` after `setRows` - act(() => apiRef.current.setRows(rows)); - act(() => apiRef.current.unstable_setPinnedRows(pinnedRows)); + await act(() => apiRef.current.setRows(rows)); + await act(() => apiRef.current.unstable_setPinnedRows(pinnedRows)); expect(isRowPinned(getRowById(11), 'top')).to.equal(false, '#11 pinned top'); expect(isRowPinned(getRowById(3), 'bottom')).to.equal(false, '#3 pinned bottom'); @@ -277,20 +277,20 @@ describe(' - Row pinning', () => { expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); }); - it('should not be impacted by sorting', () => { - render(); + it('should not be impacted by sorting', async () => { + const { user } = render(); expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); expect(getColumnValues(0)).to.deep.equal(['0', '2', '3', '4', '1']); - fireEvent.click(getColumnHeaderCell(0)); + await user.click(getColumnHeaderCell(0)); expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); expect(getColumnValues(0)).to.deep.equal(['0', '2', '3', '4', '1']); - fireEvent.click(getColumnHeaderCell(0)); + await user.click(getColumnHeaderCell(0)); expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); @@ -339,7 +339,7 @@ describe(' - Row pinning', () => { return cell.parentElement!.getAttribute('data-id'); } - it('should work with top pinned rows', () => { + it('should work with top pinned rows', async () => { function TestCase() { const data = getBasicGridData(20, 5); const [pinnedRow0, pinnedRow1, ...rows] = data.rows; @@ -357,27 +357,24 @@ describe(' - Row pinning', () => { ); } - render(); + const { user } = render(); expect(isRowPinned(getRowById(1), 'top')).to.equal(true, '#1 pinned top'); expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); - fireUserEvent.mousePress(getCell(0, 0)); + await user.click(getCell(0, 0)); // first top pinned row expect(getActiveCellRowId()).to.equal('1'); - fireEvent.keyDown(getCell(0, 0), { key: 'ArrowDown' }); + await user.keyboard('{ArrowDown}'); // second top pinned row expect(getActiveCellRowId()).to.equal('0'); - fireEvent.keyDown(getCell(1, 0), { key: 'ArrowDown' }); + await user.keyboard('{ArrowDown}'); // first non-pinned row expect(getActiveCellRowId()).to.equal('2'); - fireEvent.keyDown(getCell(2, 0), { key: 'ArrowRight' }); - fireEvent.keyDown(getCell(2, 1), { key: 'ArrowUp' }); - fireEvent.keyDown(getCell(1, 1), { key: 'ArrowUp' }); - fireEvent.keyDown(getCell(0, 1), { key: 'ArrowUp' }); + await user.keyboard('{ArrowRight}{ArrowUp}{ArrowUp}{ArrowUp}'); expect(getActiveColumnHeader()).to.equal('1'); }); @@ -627,8 +624,8 @@ describe(' - Row pinning', () => { expect(cell.querySelector(`.${gridClasses.rowReorderCell}`)).to.equal(null); }); - it('should keep pinned rows on page change', () => { - render( + it('should keep pinned rows on page change', async () => { + const { user } = render( - Row pinning', () => { expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); expect(isRowPinned(getRowById(0), 'top')).to.equal(true, '#0 pinned top'); expect(isRowPinned(getRowById(1), 'bottom')).to.equal(true, '#1 pinned bottom'); diff --git a/packages/x-data-grid-pro/src/tests/rowSelection.DataGridPro.test.tsx b/packages/x-data-grid-pro/src/tests/rowSelection.DataGridPro.test.tsx index c9e93334b13a4..8eb9f3c11e4eb 100644 --- a/packages/x-data-grid-pro/src/tests/rowSelection.DataGridPro.test.tsx +++ b/packages/x-data-grid-pro/src/tests/rowSelection.DataGridPro.test.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { expect } from 'chai'; import { spy } from 'sinon'; import { getCell, getColumnValues, getRows } from 'test/utils/helperFn'; -import { createRenderer, fireEvent, screen, act } from '@mui/internal-test-utils'; +import { createRenderer, screen, act, reactMajor, fireEvent } from '@mui/internal-test-utils'; import { GridApi, useGridApiRef, @@ -169,10 +169,10 @@ describe(' - Row selection', () => { ); } - it('should keep the previously selected tree data parent selected if it becomes leaf after filtering', () => { - render(); + it('should keep the previously selected tree data parent selected if it becomes leaf after filtering', async () => { + const { user } = render(); - fireEvent.click( + await user.click( screen.getByRole('checkbox', { name: /select all rows/i, }), @@ -180,7 +180,7 @@ describe(' - Row selection', () => { expect(apiRef.current.getSelectedRows()).to.have.length(15); - act(() => { + await act(() => { apiRef.current.setFilterModel({ items: [ { @@ -196,7 +196,7 @@ describe(' - Row selection', () => { }); // Context: https://github.com/mui/mui-x/issues/15045 - it('should not throw when using `isRowSelectable` and `keepNonExistentRowsSelected`', () => { + it('should not throw when using `isRowSelectable` and `keepNonExistentRowsSelected`', async () => { function TestDataGrid() { const [gridRows, setRows] = React.useState(rows); const onFilterChange = React.useCallback( @@ -222,10 +222,10 @@ describe(' - Row selection', () => { /> ); } - render(); + const { user } = render(); // Select `Thomas` - fireEvent.click( + await user.click( screen.getAllByRole('checkbox', { name: /select row/i, })[1], @@ -234,7 +234,7 @@ describe(' - Row selection', () => { expect(apiRef.current.getSelectedRows()).to.have.length(1); expect(Array.from(apiRef.current.getSelectedRows())[0][0]).to.equal(1); - act(() => { + await act(() => { apiRef.current.setFilterModel({ items: [{ field: 'jobTitle', value: 'Head of Human Resources', operator: 'contains' }], }); @@ -245,23 +245,23 @@ describe(' - Row selection', () => { }); // Context: https://github.com/mui/mui-x/issues/15068 - it('should not call `onRowSelectionModelChange` when adding a new row', () => { + it('should not call `onRowSelectionModelChange` when adding a new row', async () => { const onRowSelectionModelChange = spy(); const { setProps } = render( , ); - act(() => { + await act(() => { setProps({ rows: [...rows, { id: 15, hierarchy: ['New'], jobTitle: 'Test Job' }] }); }); expect(onRowSelectionModelChange.callCount).to.equal(0); }); - it('should put the parent into indeterminate if some but not all the children are selected', () => { - render(); + it('should put the parent into indeterminate if some but not all the children are selected', async () => { + const { user } = render(); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); expect(getCell(1, 0).querySelector('input')!).to.have.attr('data-indeterminate', 'true'); }); @@ -282,8 +282,8 @@ describe(' - Row selection', () => { }); describe('prop: checkboxSelectionVisibleOnly = false', () => { - it('should select all rows of all pages if no row is selected', () => { - render( + it('should select all rows of all pages if no row is selected', async () => { + const { user } = render( - Row selection', () => { const selectAllCheckbox: HTMLInputElement = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.length(4); expect(selectAllCheckbox.checked).to.equal(true); }); - it('should unselect all rows of all the pages if 1 row of another page is selected', () => { - render( + it('should unselect all rows of all the pages if 1 row of another page is selected', async () => { + const { user } = render( - Row selection', () => { pageSizeOptions={[2]} />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); const selectAllCheckbox: HTMLInputElement = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.length(0); expect(selectAllCheckbox.checked).to.equal(false); }); - it('should select all visible rows if pagination is not enabled', () => { + it('should select all visible rows if pagination is not enabled', async () => { const rowLength = 10; - render( + const { user } = render( - Row selection', () => { const selectAllCheckbox: HTMLInputElement = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.length(rowLength); expect(selectAllCheckbox.checked).to.equal(true); }); - it('should set the header checkbox in a indeterminate state when some rows of other pages are not selected', () => { - render( + it('should set the header checkbox in a indeterminate state when some rows of other pages are not selected', async () => { + const { user } = render( - Row selection', () => { name: /select all rows/i, }); - fireEvent.click(getCell(0, 0).querySelector('input')!); - fireEvent.click(getCell(1, 0).querySelector('input')!); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); + await user.click(screen.getByRole('button', { name: /next page/i })); expect(selectAllCheckbox).to.have.attr('data-indeterminate', 'true'); }); - it('should not select more than one row when disableMultipleRowSelection = true', () => { - render(); + it('should not select more than one row when disableMultipleRowSelection = true', async () => { + const { user } = render( + , + ); const input1 = getCell(0, 0).querySelector('input')!; - fireEvent.click(input1); + await user.click(input1); expect(input1.checked).to.equal(true); const input2 = getCell(1, 0).querySelector('input')!; - fireEvent.click(input2); + await user.click(input2); expect(input1.checked).to.equal(false); expect(input2.checked).to.equal(true); }); @@ -383,8 +385,8 @@ describe(' - Row selection', () => { ); }); - it('should select all the rows of the current page if no row of the current page is selected', () => { - render( + it('should select all the rows of the current page if no row of the current page is selected', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); const selectAllCheckbox: HTMLInputElement = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.keys([0, 2, 3]); expect(selectAllCheckbox.checked).to.equal(true); }); - it('should unselect all the rows of the current page if 1 row of the current page is selected', () => { - render( + it('should unselect all the rows of the current page if 1 row of the current page is selected', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(screen.getByRole('button', { name: /next page/i })); + await user.click(getCell(2, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([0, 2]); const selectAllCheckbox: HTMLInputElement = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.keys([0]); expect(selectAllCheckbox.checked).to.equal(false); }); - it('should not set the header checkbox in a indeterminate state when some rows of other pages are not selected', () => { - render( + it('should not set the header checkbox in a indeterminate state when some rows of other pages are not selected', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(0, 0)); - fireEvent.click(getCell(1, 0)); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(getCell(0, 0)); + await user.click(getCell(1, 0)); + await user.click(screen.getByRole('button', { name: /next page/i })); const selectAllCheckbox = screen.getByRole('checkbox', { name: /select all rows/i, }); expect(selectAllCheckbox).to.have.attr('data-indeterminate', 'false'); }); - it('should allow to select all the current page rows when props.paginationMode="server"', () => { + it('should allow to select all the current page rows when props.paginationMode="server"', async () => { function TestDataGridSelectionServerSide({ rowLength = 4, }: Omit & @@ -479,19 +481,19 @@ describe(' - Row selection', () => { ); } - render(); + const { user } = render(); const selectAllCheckbox = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.length(2); }); // https://github.com/mui/mui-x/issues/14074 - it('should select all the rows of the current page keeping the previously selected rows when a filter is applied', () => { - render( + it('should select all the rows of the current page keeping the previously selected rows when a filter is applied', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); const selectAllCheckbox: HTMLInputElement = screen.getByRole('checkbox', { name: /select all rows/i, }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(apiRef.current.getSelectedRows()).to.have.keys([0, 3, 4]); expect(selectAllCheckbox.checked).to.equal(true); }); @@ -546,65 +548,71 @@ describe(' - Row selection', () => { expect(onRowSelectionModelChange.callCount).to.equal(0); }); - it('should select the parent only when selecting it', () => { - render(); + it('should select the parent only when selecting it', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1]); }); - it('should deselect the parent only when deselecting it', () => { - render(); + it('should deselect the parent only when deselecting it', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(1, 0).querySelector('input')!); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2]); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([2]); }); - it('should not auto select the parent if all the children are selected', () => { - render(); + it('should not auto select the parent if all the children are selected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(2, 0).querySelector('input')!); - fireEvent.click(getCell(3, 0).querySelector('input')!); - fireEvent.click(getCell(4, 0).querySelector('input')!); - fireEvent.click(getCell(5, 0).querySelector('input')!); - fireEvent.click(getCell(6, 0).querySelector('input')!); - fireEvent.click(getCell(7, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(3, 0).querySelector('input')!); + await user.click(getCell(4, 0).querySelector('input')!); + await user.click(getCell(5, 0).querySelector('input')!); + await user.click(getCell(6, 0).querySelector('input')!); + await user.click(getCell(7, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should not be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([2, 3, 4, 5, 6, 7]); }); - it('should not deselect selected parent if one of the children is deselected', () => { - render(); + it('should not deselect selected parent if one of the children is deselected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(1, 0).querySelector('input')!); - fireEvent.click(getCell(2, 0).querySelector('input')!); - fireEvent.click(getCell(3, 0).querySelector('input')!); - fireEvent.click(getCell(4, 0).querySelector('input')!); - fireEvent.click(getCell(5, 0).querySelector('input')!); - fireEvent.click(getCell(6, 0).querySelector('input')!); - fireEvent.click(getCell(7, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(3, 0).querySelector('input')!); + await user.click(getCell(4, 0).querySelector('input')!); + await user.click(getCell(5, 0).querySelector('input')!); + await user.click(getCell(6, 0).querySelector('input')!); + await user.click(getCell(7, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should still be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([1, 3, 4, 5, 6, 7]); }); - it('should select only the unwrapped rows when clicking "Select All" checkbox', () => { - render(); + it('should select only the unwrapped rows when clicking "Select All" checkbox', async () => { + const { user } = render(); - fireEvent.click(screen.getByRole('checkbox', { name: /select all rows/i })); + await user.click(screen.getByRole('checkbox', { name: /select all rows/i })); expect(apiRef.current.getSelectedRows()).to.have.keys([0, 1, 8]); }); - it('should deselect only the unwrapped rows when clicking "Select All" checkbox', () => { - render(); + it('should deselect only the unwrapped rows when clicking "Select All" checkbox', async () => { + const { user } = render(); - fireEvent.click(screen.getByRole('checkbox', { name: /select all rows/i })); + await user.click(screen.getByRole('checkbox', { name: /select all rows/i })); expect(apiRef.current.getSelectedRows()).to.have.keys([0, 1, 8]); - fireEvent.click(screen.getByRole('checkbox', { name: /select all rows/i })); + await user.click(screen.getByRole('checkbox', { name: /select all rows/i })); expect(apiRef.current.getSelectedRows().size).to.equal(0); }); }); @@ -616,58 +624,62 @@ describe(' - Row selection', () => { ); } - it('should select all the children when selecting a parent', () => { - render(); + it('should select all the children when selecting a parent', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); }); - it('should deselect all the children when deselecting a parent', () => { - render(); + it('should deselect all the children when deselecting a parent', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows().size).to.equal(0); }); - it('should not auto select the parent if all the children are selected', () => { - render(); + it('should not auto select the parent if all the children are selected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(2, 0).querySelector('input')!); - fireEvent.click(getCell(3, 0).querySelector('input')!); - fireEvent.click(getCell(4, 0).querySelector('input')!); - fireEvent.click(getCell(5, 0).querySelector('input')!); - fireEvent.click(getCell(6, 0).querySelector('input')!); - fireEvent.click(getCell(7, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(3, 0).querySelector('input')!); + await user.click(getCell(4, 0).querySelector('input')!); + await user.click(getCell(5, 0).querySelector('input')!); + await user.click(getCell(6, 0).querySelector('input')!); + await user.click(getCell(7, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should not be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([2, 3, 4, 5, 6, 7]); }); - it('should not deselect selected parent if one of the children is deselected', () => { - render(); + it('should not deselect selected parent if one of the children is deselected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should still be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([1, 3, 4, 5, 6, 7]); }); - it('should select all the nested rows when clicking "Select All" checkbox', () => { - render(); + it('should select all the nested rows when clicking "Select All" checkbox', async () => { + const { user } = render(); - fireEvent.click(screen.getByRole('checkbox', { name: /select all rows/i })); + await user.click(screen.getByRole('checkbox', { name: /select all rows/i })); expect(apiRef.current.getSelectedRows().size).to.equal(15); }); - it('should deselect all the nested rows when clicking "Select All" checkbox', () => { - render(); + it('should deselect all the nested rows when clicking "Select All" checkbox', async () => { + const { user } = render(); - fireEvent.click(screen.getByRole('checkbox', { name: /select all rows/i })); + await user.click(screen.getByRole('checkbox', { name: /select all rows/i })); expect(apiRef.current.getSelectedRows().size).to.equal(15); - fireEvent.click(screen.getByRole('checkbox', { name: /select all rows/i })); + await user.click(screen.getByRole('checkbox', { name: /select all rows/i })); expect(apiRef.current.getSelectedRows().size).to.equal(0); }); @@ -685,8 +697,8 @@ describe(' - Row selection', () => { expect(apiRef.current.getSelectedRows().size).to.equal(0); }); - it('should not auto-select a descendant if not allowed', () => { - render( + it('should not auto-select a descendant if not allowed', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 3, 4, 5, 6, 7]); }); }); @@ -716,58 +728,64 @@ describe(' - Row selection', () => { />, ); - expect(onRowSelectionModelChange.callCount).to.equal(2); // Dev mode calls twice + expect(onRowSelectionModelChange.callCount).to.equal(reactMajor < 19 ? 2 : 1); // Dev mode calls twice on React 18 expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([2, 3, 4, 5, 6, 7, 1]); }); - it('should select the parent only when selecting it', () => { - render(); + it('should select the parent only when selecting it', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1]); }); - it('should deselect the parent only when deselecting it', () => { - render(); + it('should deselect the parent only when deselecting it', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(1, 0).querySelector('input')!); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2]); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([2]); }); - it('should auto select the parent if all the children are selected', () => { - render(); + it('should auto select the parent if all the children are selected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(2, 0).querySelector('input')!); - fireEvent.click(getCell(3, 0).querySelector('input')!); - fireEvent.click(getCell(4, 0).querySelector('input')!); - fireEvent.click(getCell(5, 0).querySelector('input')!); - fireEvent.click(getCell(6, 0).querySelector('input')!); - fireEvent.click(getCell(7, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(3, 0).querySelector('input')!); + await user.click(getCell(4, 0).querySelector('input')!); + await user.click(getCell(5, 0).querySelector('input')!); + await user.click(getCell(6, 0).querySelector('input')!); + await user.click(getCell(7, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([2, 3, 4, 5, 6, 7, 1]); }); - it('should deselect selected parent if one of the children is deselected', () => { - render(); + it('should deselect selected parent if one of the children is deselected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(2, 0).querySelector('input')!); - fireEvent.click(getCell(3, 0).querySelector('input')!); - fireEvent.click(getCell(4, 0).querySelector('input')!); - fireEvent.click(getCell(5, 0).querySelector('input')!); - fireEvent.click(getCell(6, 0).querySelector('input')!); - fireEvent.click(getCell(7, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(3, 0).querySelector('input')!); + await user.click(getCell(4, 0).querySelector('input')!); + await user.click(getCell(5, 0).querySelector('input')!); + await user.click(getCell(6, 0).querySelector('input')!); + await user.click(getCell(7, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([2, 3, 4, 5, 6, 7, 1]); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should not be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([3, 4, 5, 6, 7]); }); describe('prop: isRowSelectable', () => { - it('should not auto select a parent if not allowed', () => { - render( + it('should not auto select a parent if not allowed', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(2, 0).querySelector('input')!); - fireEvent.click(getCell(3, 0).querySelector('input')!); - fireEvent.click(getCell(4, 0).querySelector('input')!); - fireEvent.click(getCell(5, 0).querySelector('input')!); - fireEvent.click(getCell(6, 0).querySelector('input')!); - fireEvent.click(getCell(7, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(3, 0).querySelector('input')!); + await user.click(getCell(4, 0).querySelector('input')!); + await user.click(getCell(5, 0).querySelector('input')!); + await user.click(getCell(6, 0).querySelector('input')!); + await user.click(getCell(7, 0).querySelector('input')!); // The parent row (Thomas, id: 1) should still not be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([2, 3, 4, 5, 6, 7]); }); @@ -794,47 +812,51 @@ describe(' - Row selection', () => { ); } - it('should select all the children when selecting a parent', () => { - render(); + it('should select all the children when selecting a parent', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); }); - it('should deselect all the children when deselecting a parent', () => { - render(); + it('should deselect all the children when deselecting a parent', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows().size).to.equal(0); }); - it('should auto select the parent if all the children are selected', () => { - render(); + it('should auto select the parent if all the children are selected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(9, 0).querySelector('input')!); - fireEvent.click(getCell(11, 0).querySelector('input')!); - fireEvent.click(getCell(12, 0).querySelector('input')!); + await user.click(getCell(9, 0).querySelector('input')!); + await user.click(getCell(11, 0).querySelector('input')!); + await user.click(getCell(12, 0).querySelector('input')!); // The parent row (Mary, id: 8) should be among the selected rows expect(apiRef.current.getSelectedRows()).to.have.keys([9, 10, 11, 12, 8, 13, 14]); }); - it('should deselect auto selected parent if one of the children is deselected', () => { - render(); + it('should deselect auto selected parent if one of the children is deselected', async () => { + const { user } = render( + , + ); - fireEvent.click(getCell(9, 0).querySelector('input')!); - fireEvent.click(getCell(11, 0).querySelector('input')!); - fireEvent.click(getCell(12, 0).querySelector('input')!); + await user.click(getCell(9, 0).querySelector('input')!); + await user.click(getCell(11, 0).querySelector('input')!); + await user.click(getCell(12, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([9, 10, 11, 12, 8, 13, 14]); - fireEvent.click(getCell(9, 0).querySelector('input')!); + await user.click(getCell(9, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([11, 12, 13, 14]); }); describe("prop: indeterminateCheckboxAction = 'select'", () => { - it('should select all the children when selecting an indeterminate parent', () => { - render( + it('should select all the children when selecting an indeterminate parent', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); expect(getCell(1, 0).querySelector('input')!).to.have.attr('data-indeterminate', 'true'); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); }); }); describe("prop: indeterminateCheckboxAction = 'deselect'", () => { - it('should deselect all the children when selecting an indeterminate parent', () => { - render( + it('should deselect all the children when selecting an indeterminate parent', async () => { + const { user } = render( - Row selection', () => { />, ); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(getCell(2, 0).querySelector('input')!); expect(getCell(1, 0).querySelector('input')!).to.have.attr('data-indeterminate', 'true'); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows().size).to.equal(0); }); }); describe('prop: keepNonExistentRowsSelected = true', () => { - it('should keep non-existent rows selected on filtering', () => { - render(); + it('should keep non-existent rows selected on filtering', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([1, 2, 3, 4, 5, 6, 7]); - act(() => { + await act(() => { apiRef.current.setFilterModel({ items: [ { @@ -885,7 +907,7 @@ describe(' - Row selection', () => { }); }); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(apiRef.current.getSelectedRows()).to.have.keys([0, 1, 2, 3, 4, 5, 6, 7]); }); @@ -893,7 +915,7 @@ describe(' - Row selection', () => { }); describe('apiRef: getSelectedRows', () => { - it('should handle the event internally before triggering onRowSelectionModelChange', () => { + it('should handle the event internally before triggering onRowSelectionModelChange', async () => { render( { @@ -903,7 +925,7 @@ describe(' - Row selection', () => { />, ); expect(apiRef.current.getSelectedRows()).to.have.length(0); - act(() => apiRef.current.selectRow(1)); + await act(() => apiRef.current.selectRow(1)); expect(apiRef.current.getSelectedRows().get(1)).to.deep.equal({ id: 1, currencyPair: 'USDEUR', @@ -912,10 +934,10 @@ describe(' - Row selection', () => { }); describe('apiRef: isRowSelected', () => { - it('should check if the rows selected by clicking on the rows are selected', () => { - render(); + it('should check if the rows selected by clicking on the rows are selected', async () => { + const { user } = render(); - fireEvent.click(getCell(1, 0)); + await user.click(getCell(1, 0)); expect(apiRef.current.isRowSelected(0)).to.equal(false); expect(apiRef.current.isRowSelected(1)).to.equal(true); @@ -930,22 +952,22 @@ describe(' - Row selection', () => { }); describe('apiRef: selectRow', () => { - it('should call onRowSelectionModelChange with the ids selected', () => { + it('should call onRowSelectionModelChange with the ids selected', async () => { const handleRowSelectionModelChange = spy(); render(); - act(() => apiRef.current.selectRow(1)); + await act(() => apiRef.current.selectRow(1)); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([1]); // Reset old selection - act(() => apiRef.current.selectRow(2, true, true)); + await act(() => apiRef.current.selectRow(2, true, true)); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([2]); // Keep old selection - act(() => apiRef.current.selectRow(3)); + await act(() => apiRef.current.selectRow(3)); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([2, 3]); - act(() => apiRef.current.selectRow(3, false)); + await act(() => apiRef.current.selectRow(3, false)); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([2]); }); - it('should not call onRowSelectionModelChange if the row is unselectable', () => { + it('should not call onRowSelectionModelChange if the row is unselectable', async () => { const handleRowSelectionModelChange = spy(); render( - Row selection', () => { onRowSelectionModelChange={handleRowSelectionModelChange} />, ); - act(() => apiRef.current.selectRow(0)); + await act(() => apiRef.current.selectRow(0)); expect(handleRowSelectionModelChange.callCount).to.equal(0); - act(() => apiRef.current.selectRow(1)); + await act(() => apiRef.current.selectRow(1)); expect(handleRowSelectionModelChange.callCount).to.equal(1); }); }); describe('apiRef: selectRows', () => { - it('should call onRowSelectionModelChange with the ids selected', () => { + it('should call onRowSelectionModelChange with the ids selected', async () => { const handleRowSelectionModelChange = spy(); render(); - act(() => apiRef.current.selectRows([1, 2])); + await act(() => apiRef.current.selectRows([1, 2])); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([1, 2]); - act(() => apiRef.current.selectRows([3])); + await act(() => apiRef.current.selectRows([3])); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([1, 2, 3]); - act(() => apiRef.current.selectRows([1, 2], false)); + await act(() => apiRef.current.selectRows([1, 2], false)); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([3]); // Deselect others - act(() => apiRef.current.selectRows([4, 5], true, true)); + await act(() => apiRef.current.selectRows([4, 5], true, true)); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([4, 5]); }); - it('should filter out unselectable rows before calling onRowSelectionModelChange', () => { + it('should filter out unselectable rows before calling onRowSelectionModelChange', async () => { const handleRowSelectionModelChange = spy(); render( - Row selection', () => { onRowSelectionModelChange={handleRowSelectionModelChange} />, ); - act(() => apiRef.current.selectRows([0, 1, 2])); + await act(() => apiRef.current.selectRows([0, 1, 2])); expect(handleRowSelectionModelChange.lastCall.args[0]).to.deep.equal([1, 2]); }); - it('should not select a range of several elements when disableMultipleRowSelection = true', () => { + it('should not select a range of several elements when disableMultipleRowSelection = true', async () => { render(); - act(() => apiRef.current.selectRows([0, 1, 2], true)); + await act(() => apiRef.current.selectRows([0, 1, 2], true)); expect(getSelectedRowIds()).to.deep.equal([]); }); }); describe('apiRef: selectRowRange', () => { - it('should select all the rows in the range', () => { + it('should select all the rows in the range', async () => { render(); - act(() => apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true)); + await act(() => apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true)); expect(getSelectedRowIds()).to.deep.equal([1, 2, 3]); }); - it('should unselect all the rows in the range', () => { + it('should unselect all the rows in the range', async () => { render(); - act(() => apiRef.current.setRowSelectionModel([2, 3])); + await act(() => apiRef.current.setRowSelectionModel([2, 3])); expect(getSelectedRowIds()).to.deep.equal([2, 3]); - act(() => apiRef.current.selectRowRange({ startId: 0, endId: 3 }, false)); + await act(() => apiRef.current.selectRowRange({ startId: 0, endId: 3 }, false)); expect(getSelectedRowIds()).to.deep.equal([]); }); - it('should not unselect the selected elements if the range is to be selected', () => { + it('should not unselect the selected elements if the range is to be selected', async () => { render(); - act(() => { + await act(() => { apiRef.current.setRowSelectionModel([2]); + }); + await act(() => { apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true); }); expect(getSelectedRowIds()).to.deep.equal([1, 2, 3]); }); - it('should not reset the other selections when resetSelection = false', () => { + it('should not reset the other selections when resetSelection = false', async () => { render(); - act(() => { + await act(() => { apiRef.current.setRowSelectionModel([0]); + }); + await act(() => { apiRef.current.selectRowRange({ startId: 2, endId: 3 }, true, false); }); expect(getSelectedRowIds()).to.deep.equal([0, 2, 3]); }); - it('should reset the other selections when resetSelection = true', () => { + it('should reset the other selections when resetSelection = true', async () => { render(); - act(() => { + await act(() => { apiRef.current.setRowSelectionModel([0]); + }); + await act(() => { apiRef.current.selectRowRange({ startId: 2, endId: 3 }, true, true); }); expect(getSelectedRowIds()).to.deep.equal([2, 3]); }); - it('should not select unselectable rows inside the range', () => { + it('should not select unselectable rows inside the range', async () => { render( Number(params.id) % 2 === 1} />); - act(() => apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true)); + await act(() => apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true)); expect(getSelectedRowIds()).to.deep.equal([1, 3]); }); - it('should not select a range of several elements when disableMultipleRowSelection = true', () => { + it('should not select a range of several elements when disableMultipleRowSelection = true', async () => { render(); - act(() => apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true)); + await act(() => apiRef.current.selectRowRange({ startId: 1, endId: 3 }, true)); expect(getSelectedRowIds()).to.deep.equal([]); }); - it('should select only filtered rows selecting a range', () => { + it('should select only filtered rows selecting a range', async () => { render( { - render(); + it('should select only filtered rows after filter is applied', async () => { + const { user } = render(); const selectAll = screen.getByRole('checkbox', { name: /select all rows/i, }); - act(() => + await act(() => apiRef.current.setFilterModel({ items: [ { @@ -1088,13 +1116,13 @@ describe(' - Row selection', () => { }), ); expect(getColumnValues(1)).to.deep.equal(['0', '1']); - fireEvent.click(selectAll); + await user.click(selectAll); expect(getSelectedRowIds()).to.deep.equal([0, 1]); - fireEvent.click(selectAll); + await user.click(selectAll); expect(getSelectedRowIds()).to.deep.equal([]); - fireEvent.click(selectAll); + await user.click(selectAll); expect(getSelectedRowIds()).to.deep.equal([0, 1]); - fireEvent.click(selectAll); + await user.click(selectAll); expect(getSelectedRowIds()).to.deep.equal([]); }); diff --git a/packages/x-data-grid/package.json b/packages/x-data-grid/package.json index 737f29c7ece56..2e21026035ee2 100644 --- a/packages/x-data-grid/package.json +++ b/packages/x-data-grid/package.json @@ -71,11 +71,11 @@ } }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", - "@mui/joy": "^5.0.0-beta.48", - "@mui/material": "^5.16.7", - "@mui/system": "^5.16.7", - "@mui/types": "^7.2.15", + "@mui/internal-test-utils": "^1.0.24", + "@mui/joy": "^5.0.0-beta.51", + "@mui/material": "^5.16.13", + "@mui/system": "^5.16.13", + "@mui/types": "^7.2.20", "@types/prop-types": "^15.7.13", "rimraf": "^6.0.1" }, diff --git a/packages/x-data-grid/src/DataGrid/useDataGridComponent.tsx b/packages/x-data-grid/src/DataGrid/useDataGridComponent.tsx index 2c888c05b2384..827f1e48b6d8a 100644 --- a/packages/x-data-grid/src/DataGrid/useDataGridComponent.tsx +++ b/packages/x-data-grid/src/DataGrid/useDataGridComponent.tsx @@ -63,7 +63,7 @@ import { } from '../hooks/features/listView/useGridListView'; export const useDataGridComponent = ( - inputApiRef: React.MutableRefObject | undefined, + inputApiRef: React.RefObject | undefined, props: DataGridProcessedProps, ) => { const apiRef = useGridInitialization( diff --git a/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx b/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx index 77d7f6d284cc2..4c0f3d3e0c6f6 100644 --- a/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx +++ b/packages/x-data-grid/src/components/cell/GridActionsCellItem.tsx @@ -8,14 +8,14 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps'; interface GridActionsCellItemCommonProps { label: string; - icon?: React.ReactElement; + icon?: React.ReactElement; /** from https://mui.com/material-ui/api/button-base/#ButtonBase-prop-component */ component?: React.ElementType; } export type GridActionsCellItemProps = GridActionsCellItemCommonProps & ( - | ({ showInMenu?: false; icon: React.ReactElement } & Omit) + | ({ showInMenu?: false; icon: React.ReactElement } & Omit) | ({ showInMenu: true; /** @@ -45,7 +45,7 @@ const GridActionsCellItem = forwardRef((p {...other} onClick={handleClick} {...rootProps.slotProps?.baseIconButton} - ref={ref as React.MutableRefObject} + ref={ref as React.RefObject} > {React.cloneElement(icon!, { fontSize: 'small' })} diff --git a/packages/x-data-grid/src/components/cell/GridEditDateCell.tsx b/packages/x-data-grid/src/components/cell/GridEditDateCell.tsx index 0927583c5aab7..17baf45933207 100644 --- a/packages/x-data-grid/src/components/cell/GridEditDateCell.tsx +++ b/packages/x-data-grid/src/components/cell/GridEditDateCell.tsx @@ -66,7 +66,7 @@ function GridEditDateCell(props: GridEditDateCellProps) { const isDateTime = colDef.type === 'dateTime'; const apiRef = useGridApiContext(); - const inputRef = React.useRef(); + const inputRef = React.useRef(null); const valueTransformed = React.useMemo(() => { let parsedDate: Date | null; diff --git a/packages/x-data-grid/src/components/cell/GridEditInputCell.tsx b/packages/x-data-grid/src/components/cell/GridEditInputCell.tsx index e1243ecb269d2..73416184fade9 100644 --- a/packages/x-data-grid/src/components/cell/GridEditInputCell.tsx +++ b/packages/x-data-grid/src/components/cell/GridEditInputCell.tsx @@ -78,7 +78,7 @@ const GridEditInputCell = forwardRef(( } = props; const apiRef = useGridApiContext(); - const inputRef = React.useRef(); + const inputRef = React.useRef(null); const [valueState, setValueState] = React.useState(value); const classes = useUtilityClasses(rootProps); diff --git a/packages/x-data-grid/src/components/cell/GridEditSingleSelectCell.tsx b/packages/x-data-grid/src/components/cell/GridEditSingleSelectCell.tsx index baab9cfbdcd14..90e8b042441ba 100644 --- a/packages/x-data-grid/src/components/cell/GridEditSingleSelectCell.tsx +++ b/packages/x-data-grid/src/components/cell/GridEditSingleSelectCell.tsx @@ -58,8 +58,8 @@ function GridEditSingleSelectCell(props: GridEditSingleSelectCellProps) { } = props; const apiRef = useGridApiContext(); - const ref = React.useRef(); - const inputRef = React.useRef(); + const ref = React.useRef(null); + const inputRef = React.useRef(null); const [open, setOpen] = React.useState(initialOpen); const baseSelectProps = rootProps.slotProps?.baseSelect || {}; diff --git a/packages/x-data-grid/src/components/columnHeaders/ColumnHeaderMenuIcon.tsx b/packages/x-data-grid/src/components/columnHeaders/ColumnHeaderMenuIcon.tsx index 82f61061a22e8..81bb9fc0a929b 100644 --- a/packages/x-data-grid/src/components/columnHeaders/ColumnHeaderMenuIcon.tsx +++ b/packages/x-data-grid/src/components/columnHeaders/ColumnHeaderMenuIcon.tsx @@ -11,7 +11,7 @@ export interface ColumnHeaderMenuIconProps { columnMenuId: string; columnMenuButtonId: string; open: boolean; - iconButtonRef: React.RefObject; + iconButtonRef: React.RefObject; } type OwnerState = ColumnHeaderMenuIconProps & { diff --git a/packages/x-data-grid/src/components/columnHeaders/GridColumnHeaderFilterIconButton.tsx b/packages/x-data-grid/src/components/columnHeaders/GridColumnHeaderFilterIconButton.tsx index 92641c45e46e8..770a0d754d9d7 100644 --- a/packages/x-data-grid/src/components/columnHeaders/GridColumnHeaderFilterIconButton.tsx +++ b/packages/x-data-grid/src/components/columnHeaders/GridColumnHeaderFilterIconButton.tsx @@ -89,7 +89,7 @@ function GridColumnHeaderFilterIconButton(props: ColumnHeaderFilterIconButtonPro title={ apiRef.current.getLocaleText('columnHeaderFiltersTooltipActive')( counter, - ) as React.ReactElement + ) as React.ReactElement } enterDelay={1000} {...rootProps.slotProps?.baseTooltip} diff --git a/packages/x-data-grid/src/components/panel/GridPanel.test.tsx b/packages/x-data-grid/src/components/panel/GridPanel.test.tsx index 4e82d0de7ddd9..51c38dc7e87e4 100644 --- a/packages/x-data-grid/src/components/panel/GridPanel.test.tsx +++ b/packages/x-data-grid/src/components/panel/GridPanel.test.tsx @@ -33,7 +33,7 @@ describe('', () => { classes: classes as any, inheritComponent: Popper, muiName: 'MuiGridPanel', - render: (node: React.ReactElement) => + render: (node: React.ReactElement) => render(
diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx index e71a2202f7d38..fe4caae9a6bc3 100644 --- a/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx +++ b/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx @@ -58,7 +58,7 @@ const GridToolbarDensitySelector = forwardRef(() => { + const startIcon = React.useMemo>(() => { switch (density) { case 'compact': return ; @@ -95,7 +95,7 @@ const GridToolbarDensitySelector = forwardRef((option, index) => ( + const densityElements = densityOptions.map>((option, index) => ( handleDensityUpdate(option.value)} diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx index fa235faedd502..27cd712e3e699 100644 --- a/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx +++ b/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx @@ -72,10 +72,10 @@ const GridToolbarFilterButton = forwardRef { if (preferencePanel.open) { - return apiRef.current.getLocaleText('toolbarFiltersTooltipHide') as React.ReactElement; + return apiRef.current.getLocaleText('toolbarFiltersTooltipHide') as React.ReactElement; } if (activeFilters.length === 0) { - return apiRef.current.getLocaleText('toolbarFiltersTooltipShow') as React.ReactElement; + return apiRef.current.getLocaleText('toolbarFiltersTooltipShow') as React.ReactElement; } const getOperatorLabel = (item: GridFilterItem): string => diff --git a/packages/x-data-grid/src/hooks/core/pipeProcessing/gridPipeProcessingApi.ts b/packages/x-data-grid/src/hooks/core/pipeProcessing/gridPipeProcessingApi.ts index d47a8bbe98b09..78300aa77e2a1 100644 --- a/packages/x-data-grid/src/hooks/core/pipeProcessing/gridPipeProcessingApi.ts +++ b/packages/x-data-grid/src/hooks/core/pipeProcessing/gridPipeProcessingApi.ts @@ -38,7 +38,10 @@ export interface GridPipeProcessingLookup { hydrateRows: { value: GridHydrateRowsValue; }; - exportMenu: { value: { component: React.ReactElement; componentName: string }[]; context: any }; + exportMenu: { + value: { component: React.ReactElement; componentName: string }[]; + context: any; + }; preferencePanel: { value: React.ReactNode; context: GridPreferencePanelsValue }; restoreState: { value: GridRestoreStatePreProcessingValue; diff --git a/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridPipeProcessing.ts b/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridPipeProcessing.ts index 5b8f5e4c40464..2a015ab85cdde 100644 --- a/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridPipeProcessing.ts +++ b/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridPipeProcessing.ts @@ -49,7 +49,7 @@ type GroupCache = { * * a processor is registered. * * `apiRef.current.requestPipeProcessorsApplication` is called for the given group. */ -export const useGridPipeProcessing = (apiRef: React.MutableRefObject) => { +export const useGridPipeProcessing = (apiRef: React.RefObject) => { const cache = React.useRef({}); const isRunning = React.useRef(false); diff --git a/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeApplier.ts b/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeApplier.ts index f90a2045f2b77..540487e2889fc 100644 --- a/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeApplier.ts +++ b/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeApplier.ts @@ -7,11 +7,11 @@ export const useGridRegisterPipeApplier = < PrivateApi extends GridPrivateApiCommon, G extends GridPipeProcessorGroup, >( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, group: G, callback: () => void, ) => { - const cleanup = React.useRef<(() => void) | null>(); + const cleanup = React.useRef<(() => void) | null>(null); const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`); const registerPreProcessor = React.useCallback(() => { diff --git a/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.ts b/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.ts index 6082a61bdffa7..fe82da7b78487 100644 --- a/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.ts +++ b/packages/x-data-grid/src/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.ts @@ -7,11 +7,11 @@ export const useGridRegisterPipeProcessor = < PrivateApi extends GridPrivateApiCommon, G extends GridPipeProcessorGroup, >( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, group: G, callback: GridPipeProcessor, ) => { - const cleanup = React.useRef<(() => void) | null>(); + const cleanup = React.useRef<(() => void) | null>(null); const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`); const registerPreProcessor = React.useCallback(() => { diff --git a/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.ts b/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.ts index d90fdd630916a..6eb888a914f8a 100644 --- a/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.ts +++ b/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.ts @@ -7,7 +7,7 @@ export const useGridRegisterStrategyProcessor = < Api extends GridPrivateApiCommon, G extends GridStrategyProcessorName, >( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, strategyName: string, group: G, processor: GridStrategyProcessor, diff --git a/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridStrategyProcessing.ts b/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridStrategyProcessing.ts index 0dbe135f4d75d..0815fba761251 100644 --- a/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridStrategyProcessing.ts +++ b/packages/x-data-grid/src/hooks/core/strategyProcessing/useGridStrategyProcessing.ts @@ -64,7 +64,7 @@ type UntypedStrategyProcessors = { * - sorting algorithm. * - filtering algorithm. */ -export const useGridStrategyProcessing = (apiRef: React.MutableRefObject) => { +export const useGridStrategyProcessing = (apiRef: React.RefObject) => { const availableStrategies = React.useRef( new Map boolean }>(), ); diff --git a/packages/x-data-grid/src/hooks/core/useGridApiInitialization.ts b/packages/x-data-grid/src/hooks/core/useGridApiInitialization.ts index 3113bc9970105..75659f4926a62 100644 --- a/packages/x-data-grid/src/hooks/core/useGridApiInitialization.ts +++ b/packages/x-data-grid/src/hooks/core/useGridApiInitialization.ts @@ -23,7 +23,7 @@ export function unwrapPrivateAPI< let globalId = 0; function createPrivateAPI( - publicApiRef: React.MutableRefObject, + publicApiRef: React.RefObject, ): PrivateApi { const existingPrivateApi = (publicApiRef.current as any)?.[SYMBOL_API_PRIVATE]; if (existingPrivateApi) { @@ -96,14 +96,14 @@ export function useGridApiInitialization< PrivateApi extends GridPrivateApiCommon, Api extends GridApiCommon, >( - inputApiRef: React.MutableRefObject | undefined, + inputApiRef: React.RefObject | undefined, props: Pick, -): React.MutableRefObject { - const publicApiRef = React.useRef() as React.MutableRefObject; - const privateApiRef = React.useRef() as React.MutableRefObject; +): React.RefObject { + const publicApiRef = React.useRef(null) as React.RefObject; + const privateApiRef = React.useRef(null) as React.RefObject; if (!privateApiRef.current) { - privateApiRef.current = createPrivateAPI(publicApiRef) as PrivateApi; + privateApiRef.current = createPrivateAPI(publicApiRef); } if (!publicApiRef.current) { diff --git a/packages/x-data-grid/src/hooks/core/useGridInitialization.ts b/packages/x-data-grid/src/hooks/core/useGridInitialization.ts index d59852b43a54a..5b2e857ff6485 100644 --- a/packages/x-data-grid/src/hooks/core/useGridInitialization.ts +++ b/packages/x-data-grid/src/hooks/core/useGridInitialization.ts @@ -17,7 +17,7 @@ export const useGridInitialization = < PrivateApi extends GridPrivateApiCommon, Api extends GridApiCommon, >( - inputApiRef: React.MutableRefObject | undefined, + inputApiRef: React.RefObject | undefined, props: DataGridProcessedProps, ) => { const privateApiRef = useGridApiInitialization(inputApiRef, props); diff --git a/packages/x-data-grid/src/hooks/core/useGridIsRtl.tsx b/packages/x-data-grid/src/hooks/core/useGridIsRtl.tsx index 576952df12ca4..cc5f32c1dc317 100644 --- a/packages/x-data-grid/src/hooks/core/useGridIsRtl.tsx +++ b/packages/x-data-grid/src/hooks/core/useGridIsRtl.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { useRtl } from '@mui/system/RtlProvider'; import { GridPrivateApiCommon } from '../../models/api/gridApiCommon'; -export const useGridIsRtl = (apiRef: React.MutableRefObject): void => { +export const useGridIsRtl = (apiRef: React.RefObject): void => { const isRtl = useRtl(); if (apiRef.current.state.isRtl === undefined) { diff --git a/packages/x-data-grid/src/hooks/core/useGridLocaleText.tsx b/packages/x-data-grid/src/hooks/core/useGridLocaleText.tsx index 7a1605e0c665c..26809f6f6047f 100644 --- a/packages/x-data-grid/src/hooks/core/useGridLocaleText.tsx +++ b/packages/x-data-grid/src/hooks/core/useGridLocaleText.tsx @@ -4,7 +4,7 @@ import { GridLocaleTextApi } from '../../models/api/gridLocaleTextApi'; import { DataGridProcessedProps } from '../../models/props/DataGridProps'; export const useGridLocaleText = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: Pick, ): void => { const getLocaleText = React.useCallback( diff --git a/packages/x-data-grid/src/hooks/core/useGridLoggerFactory.ts b/packages/x-data-grid/src/hooks/core/useGridLoggerFactory.ts index b5586e6acfcbd..d403482e4498b 100644 --- a/packages/x-data-grid/src/hooks/core/useGridLoggerFactory.ts +++ b/packages/x-data-grid/src/hooks/core/useGridLoggerFactory.ts @@ -43,7 +43,7 @@ function getAppender(name: string, logLevel: string, appender: Logger = console) } export const useGridLoggerFactory = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: Pick, ) => { const getLogger = React.useCallback( diff --git a/packages/x-data-grid/src/hooks/core/useGridRefs.ts b/packages/x-data-grid/src/hooks/core/useGridRefs.ts index 98e266fda316d..11e71729b0ee0 100644 --- a/packages/x-data-grid/src/hooks/core/useGridRefs.ts +++ b/packages/x-data-grid/src/hooks/core/useGridRefs.ts @@ -2,10 +2,10 @@ import * as React from 'react'; import type { GridPrivateApiCommon } from '../../models/api/gridApiCommon'; export const useGridRefs = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, ) => { const rootElementRef = React.useRef(null); - const mainElementRef = React.useRef(null); + const mainElementRef = React.useRef(null); const virtualScrollerRef = React.useRef(null); const virtualScrollbarVerticalRef = React.useRef(null); const virtualScrollbarHorizontalRef = React.useRef(null); diff --git a/packages/x-data-grid/src/hooks/core/useGridStateInitialization.ts b/packages/x-data-grid/src/hooks/core/useGridStateInitialization.ts index 28cc2b149d4ff..880fa8ffccc87 100644 --- a/packages/x-data-grid/src/hooks/core/useGridStateInitialization.ts +++ b/packages/x-data-grid/src/hooks/core/useGridStateInitialization.ts @@ -6,7 +6,7 @@ import { useGridApiMethod } from '../utils'; import { isFunction } from '../../utils/utils'; export const useGridStateInitialization = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, ) => { const controlStateMapRef = React.useRef< Record> diff --git a/packages/x-data-grid/src/hooks/features/columnResize/useGridColumnResize.tsx b/packages/x-data-grid/src/hooks/features/columnResize/useGridColumnResize.tsx index 133661062d5e0..ae4c318dc523f 100644 --- a/packages/x-data-grid/src/hooks/features/columnResize/useGridColumnResize.tsx +++ b/packages/x-data-grid/src/hooks/features/columnResize/useGridColumnResize.tsx @@ -132,8 +132,8 @@ function preventClick(event: MouseEvent) { * Checker that returns a promise that resolves when the column virtualization * is disabled. */ -function useColumnVirtualizationDisabled(apiRef: React.MutableRefObject) { - const promise = React.useRef(); +function useColumnVirtualizationDisabled(apiRef: React.RefObject) { + const promise = React.useRef(undefined); const selector = () => gridVirtualizationColumnEnabledSelector(apiRef); const value = useGridSelector(apiRef, selector); @@ -184,7 +184,7 @@ function excludeOutliers(inputValues: number[], factor: number) { } function extractColumnWidths( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, options: AutosizeOptionsRequired, columns: GridStateColDef[], ) { @@ -270,7 +270,7 @@ function createResizeRefs() { * TODO: improve experience for last column */ export const useGridColumnResize = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: Pick< DataGridProcessedProps, | 'autosizeOptions' @@ -289,11 +289,11 @@ export const useGridColumnResize = ( // To improve accessibility, the separator has padding on both sides. // Clicking inside the padding area should be treated as a click in the separator. // This ref stores the offset between the click and the separator. - const initialOffsetToSeparator = React.useRef(); - const resizeDirection = React.useRef(); + const initialOffsetToSeparator = React.useRef(null); + const resizeDirection = React.useRef(null); const stopResizeEventTimeout = useTimeout(); - const touchId = React.useRef(); + const touchId = React.useRef(undefined); const updateWidth = (newWidth: number) => { logger.debug(`Updating width to ${newWidth} for col ${refs.colDef!.field}`); diff --git a/packages/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts b/packages/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts index b96b7e31e7c41..40b589dd71863 100644 --- a/packages/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts +++ b/packages/x-data-grid/src/hooks/features/dimensions/useGridDimensions.ts @@ -126,8 +126,8 @@ export function useGridDimensions( [props.resizeThrottleMs], ); React.useEffect(() => debouncedSetSavedSize.clear, [debouncedSetSavedSize]); - - const previousSize = React.useRef(); + + const previousSize = React.useRef(undefined); const getRootDimensions = () => apiRef.current.state.dimensions; diff --git a/packages/x-data-grid/src/hooks/features/editing/useGridRowEditing.ts b/packages/x-data-grid/src/hooks/features/editing/useGridRowEditing.ts index f0b21f9e62674..d2a015cbde00a 100644 --- a/packages/x-data-grid/src/hooks/features/editing/useGridRowEditing.ts +++ b/packages/x-data-grid/src/hooks/features/editing/useGridRowEditing.ts @@ -65,7 +65,7 @@ export const useGridRowEditing = ( const [rowModesModel, setRowModesModel] = React.useState({}); const rowModesModelRef = React.useRef(rowModesModel); const prevRowModesModel = React.useRef({}); - const focusTimeout = React.useRef>(); + const focusTimeout = React.useRef>(undefined); const nextFocusedCell = React.useRef(null); const { diff --git a/packages/x-data-grid/src/hooks/features/export/useGridPrintExport.tsx b/packages/x-data-grid/src/hooks/features/export/useGridPrintExport.tsx index e895aaf614065..bc07bd7bc5592 100644 --- a/packages/x-data-grid/src/hooks/features/export/useGridPrintExport.tsx +++ b/packages/x-data-grid/src/hooks/features/export/useGridPrintExport.tsx @@ -70,7 +70,7 @@ export const useGridPrintExport = ( const previousGridState = React.useRef(null); const previousColumnVisibility = React.useRef<{ [key: string]: boolean }>({}); const previousRows = React.useRef([]); - const previousVirtualizationState = React.useRef(); + const previousVirtualizationState = React.useRef(null); React.useEffect(() => { doc.current = ownerDocument(apiRef.current.rootElementRef!.current!); diff --git a/packages/x-data-grid/src/hooks/features/keyboardNavigation/useGridKeyboardNavigation.ts b/packages/x-data-grid/src/hooks/features/keyboardNavigation/useGridKeyboardNavigation.ts index 8622525c32dd8..45cb7e7df94c1 100644 --- a/packages/x-data-grid/src/hooks/features/keyboardNavigation/useGridKeyboardNavigation.ts +++ b/packages/x-data-grid/src/hooks/features/keyboardNavigation/useGridKeyboardNavigation.ts @@ -48,7 +48,7 @@ import { gridListColumnSelector } from '../listView/gridListViewSelectors'; * @requires useGridColumnSpanning (method) - can be after */ export const useGridKeyboardNavigation = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: Pick< DataGridProcessedProps, | 'pagination' diff --git a/packages/x-data-grid/src/hooks/features/preferencesPanel/useGridPreferencesPanel.ts b/packages/x-data-grid/src/hooks/features/preferencesPanel/useGridPreferencesPanel.ts index ef0b9ad65321f..8461272804d26 100644 --- a/packages/x-data-grid/src/hooks/features/preferencesPanel/useGridPreferencesPanel.ts +++ b/packages/x-data-grid/src/hooks/features/preferencesPanel/useGridPreferencesPanel.ts @@ -24,8 +24,8 @@ export const useGridPreferencesPanel = ( ): void => { const logger = useGridLogger(apiRef, 'useGridPreferencesPanel'); - const hideTimeout = React.useRef>(); - const immediateTimeout = React.useRef>(); + const hideTimeout = React.useRef>(undefined); + const immediateTimeout = React.useRef>(undefined); /** * API METHODS diff --git a/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelectionPreProcessors.ts b/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelectionPreProcessors.ts index 3732826456486..aceac61373078 100644 --- a/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelectionPreProcessors.ts +++ b/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelectionPreProcessors.ts @@ -23,7 +23,7 @@ const useUtilityClasses = (ownerState: OwnerState) => { }; export const useGridRowSelectionPreProcessors = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: DataGridProcessedProps, ) => { const ownerState = { classes: props.classes }; diff --git a/packages/x-data-grid/src/hooks/features/rows/useGridRowSpanning.ts b/packages/x-data-grid/src/hooks/features/rows/useGridRowSpanning.ts index 72e510c837ded..ebb6cdc5c3b37 100644 --- a/packages/x-data-grid/src/hooks/features/rows/useGridRowSpanning.ts +++ b/packages/x-data-grid/src/hooks/features/rows/useGridRowSpanning.ts @@ -47,7 +47,7 @@ const skippedFields = new Set([ const DEFAULT_ROWS_TO_PROCESS = 20; const computeRowSpanningState = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, colDefs: GridColDef[], visibleRows: GridRowEntry[], range: RowRange, diff --git a/packages/x-data-grid/src/hooks/features/rows/useGridRowsPreProcessors.tsx b/packages/x-data-grid/src/hooks/features/rows/useGridRowsPreProcessors.tsx index f587417bd36b6..56bc28c17dbec 100644 --- a/packages/x-data-grid/src/hooks/features/rows/useGridRowsPreProcessors.tsx +++ b/packages/x-data-grid/src/hooks/features/rows/useGridRowsPreProcessors.tsx @@ -93,9 +93,7 @@ const flatRowTreeCreationMethod: GridStrategyProcessor<'rowTreeCreation'> = (par return updateFlatRowTree({ previousTree: params.previousTree!, actions: params.updates.actions }); }; -export const useGridRowsPreProcessors = ( - apiRef: React.MutableRefObject, -) => { +export const useGridRowsPreProcessors = (apiRef: React.RefObject) => { useGridRegisterStrategyProcessor( apiRef, GRID_DEFAULT_STRATEGY, diff --git a/packages/x-data-grid/src/hooks/features/virtualization/useGridVirtualScroller.tsx b/packages/x-data-grid/src/hooks/features/virtualization/useGridVirtualScroller.tsx index 948450691a821..0b1b5919c8430 100644 --- a/packages/x-data-grid/src/hooks/features/virtualization/useGridVirtualScroller.tsx +++ b/packages/x-data-grid/src/hooks/features/virtualization/useGridVirtualScroller.tsx @@ -99,7 +99,7 @@ try { } export const useGridVirtualScroller = () => { - const apiRef = useGridPrivateApiContext() as React.MutableRefObject; + const apiRef = useGridPrivateApiContext() as React.RefObject; const rootProps = useGridRootProps(); const { unstable_listView: listView } = rootProps; const visibleColumns = useGridSelector(apiRef, () => @@ -136,6 +136,8 @@ export const useGridVirtualScroller = () => { const columnsTotalWidth = dimensions.columnsTotalWidth; const hasColSpan = useGridSelector(apiRef, gridHasColSpanSelector); + const previousSize = React.useRef<{ width: number; height: number }>(null); + const mainRefCallback = React.useCallback( (node: HTMLDivElement | null) => { mainRef.current = node; @@ -145,10 +147,16 @@ export const useGridVirtualScroller = () => { } const initialRect = node.getBoundingClientRect(); - let lastSize = roundDimensions(initialRect); - apiRef.current.publishEvent('resize', lastSize); + if ( + !previousSize.current || + (lastSize.width !== previousSize.current.width && + lastSize.height !== previousSize.current.height) + ) { + previousSize.current = lastSize; + apiRef.current.publishEvent('resize', lastSize); + } if (typeof ResizeObserver === 'undefined') { return undefined; diff --git a/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.ts b/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.ts index 76cf3808c28ef..26ad34bf45d0f 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.ts @@ -43,7 +43,7 @@ export function createUseGridApiEventHandler(registryContainer: RegistryContaine const [objectRetainedByReact] = React.useState(new ObjectToBeRetainedByReact()); const subscription = React.useRef<(() => void) | null>(null); - const handlerRef = React.useRef | undefined>(); + const handlerRef = React.useRef | undefined>(null); handlerRef.current = handler; const cleanupTokenRef = React.useRef(null); diff --git a/packages/x-data-grid/src/hooks/utils/useGridApiMethod.ts b/packages/x-data-grid/src/hooks/utils/useGridApiMethod.ts index bbaaa2b3eb6cd..7b1131b82a6c6 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridApiMethod.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridApiMethod.ts @@ -12,7 +12,7 @@ export function useGridApiMethod< PrivateOnlyApi extends Omit, V extends 'public' | 'private', T extends V extends 'public' ? Partial : Partial, ->(privateApiRef: React.MutableRefObject, apiMethods: T, visibility: V) { +>(privateApiRef: React.RefObject, apiMethods: T, visibility: V) { const isFirstRender = React.useRef(true); useEnhancedEffect(() => { diff --git a/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts b/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts index ae5db730f0975..03fafb33fb2a3 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridApiRef.ts @@ -6,4 +6,4 @@ import { GridApiCommunity } from '../../models/api/gridApiCommunity'; * Hook that instantiate a [[GridApiRef]]. */ export const useGridApiRef = () => - React.useRef({}) as React.MutableRefObject; + React.useRef({}) as React.RefObject; diff --git a/packages/x-data-grid/src/hooks/utils/useGridInitializeState.ts b/packages/x-data-grid/src/hooks/utils/useGridInitializeState.ts index 7f3a59d6e5d7a..0b48e54195616 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridInitializeState.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridInitializeState.ts @@ -13,7 +13,7 @@ export type GridStateInitializer< > = ( state: DeepPartial, props: P, - privateApiRef: React.MutableRefObject, + privateApiRef: React.RefObject, ) => DeepPartial; export const useGridInitializeState = < @@ -21,7 +21,7 @@ export const useGridInitializeState = < PrivateApi extends GridPrivateApiCommon = GridPrivateApiCommunity, >( initializer: GridStateInitializer, - privateApiRef: React.MutableRefObject, + privateApiRef: React.RefObject, props: P, ) => { const isInitialized = React.useRef(false); diff --git a/packages/x-data-grid/src/hooks/utils/useGridLogger.ts b/packages/x-data-grid/src/hooks/utils/useGridLogger.ts index c672a622996d1..d8671461f7466 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridLogger.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridLogger.ts @@ -3,7 +3,7 @@ import { Logger } from '../../models/logger'; import { GridPrivateApiCommon } from '../../models/api/gridApiCommon'; export function useGridLogger( - privateApiRef: React.MutableRefObject, + privateApiRef: React.RefObject, name: string, ): Logger { const logger = React.useRef(null); diff --git a/packages/x-data-grid/src/hooks/utils/useGridVisibleRows.ts b/packages/x-data-grid/src/hooks/utils/useGridVisibleRows.ts index 7b32dcfb0c988..b291c89dbdc53 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridVisibleRows.ts +++ b/packages/x-data-grid/src/hooks/utils/useGridVisibleRows.ts @@ -8,7 +8,7 @@ import { gridExpandedSortedRowEntriesSelector } from '../features/filter/gridFil import type { GridApiCommon, GridRowEntry } from '../../models'; export const getVisibleRows = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: Pick, ) => { let rows: GridRowEntry[]; @@ -37,7 +37,7 @@ export const getVisibleRows = ( * - If the row tree is flat, it only contains up to `state.pageSize` rows. */ export const useGridVisibleRows = ( - apiRef: React.MutableRefObject, + apiRef: React.RefObject, props: Pick, ) => { const response = getVisibleRows(apiRef, props); diff --git a/packages/x-data-grid/src/models/api/gridCoreApi.ts b/packages/x-data-grid/src/models/api/gridCoreApi.ts index c5d7be49b1fd3..ce309191f7ab8 100644 --- a/packages/x-data-grid/src/models/api/gridCoreApi.ts +++ b/packages/x-data-grid/src/models/api/gridCoreApi.ts @@ -14,7 +14,7 @@ export interface GridCoreApi { * The React ref of the grid root container div element. * @ignore - do not document. */ - rootElementRef: React.RefObject; + rootElementRef: React.RefObject; /** * Registers a handler for an event. * @param {string} event The name of the event. @@ -67,27 +67,27 @@ export interface GridCorePrivateApi< /** * The React ref of the grid main container div element. */ - mainElementRef: React.MutableRefObject; + mainElementRef: React.RefObject; /** * The React ref of the grid's virtual scroller container element. */ - virtualScrollerRef: React.RefObject; + virtualScrollerRef: React.RefObject; /** * The React ref of the grid's vertical virtual scrollbar container element. */ - virtualScrollbarVerticalRef: React.RefObject; + virtualScrollbarVerticalRef: React.RefObject; /** * The React ref of the grid's horizontal virtual scrollbar container element. */ - virtualScrollbarHorizontalRef: React.RefObject; + virtualScrollbarHorizontalRef: React.RefObject; /** * The React ref of the grid column container virtualized div element. */ - columnHeadersContainerRef: React.RefObject; + columnHeadersContainerRef: React.RefObject; /** * The React ref of the grid header filter row element. */ - headerFiltersElementRef?: React.RefObject; + headerFiltersElementRef?: React.RefObject; register: < V extends 'public' | 'private', T extends V extends 'public' diff --git a/packages/x-data-grid/src/models/api/gridDensityApi.ts b/packages/x-data-grid/src/models/api/gridDensityApi.ts index 8614bda501a81..2445925f25249 100644 --- a/packages/x-data-grid/src/models/api/gridDensityApi.ts +++ b/packages/x-data-grid/src/models/api/gridDensityApi.ts @@ -2,7 +2,7 @@ import * as React from 'react'; import { GridDensity } from '../gridDensity'; export interface GridDensityOption { - icon: React.ReactElement; + icon: React.ReactElement; label: string; value: GridDensity; } diff --git a/packages/x-data-grid/src/models/props/DataGridProps.ts b/packages/x-data-grid/src/models/props/DataGridProps.ts index 02c4bc07b4a9b..3e6e86380c2fb 100644 --- a/packages/x-data-grid/src/models/props/DataGridProps.ts +++ b/packages/x-data-grid/src/models/props/DataGridProps.ts @@ -415,7 +415,7 @@ export interface DataGridPropsWithoutDefaultValue; + apiRef?: React.RefObject; /** * Forwarded props for the Data Grid root element. * @ignore - do not document. diff --git a/packages/x-data-grid/src/tests/columnsVisibility.DataGrid.test.tsx b/packages/x-data-grid/src/tests/columnsVisibility.DataGrid.test.tsx index 0adf925558ef2..581c6534bc437 100644 --- a/packages/x-data-grid/src/tests/columnsVisibility.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/columnsVisibility.DataGrid.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { expect } from 'chai'; import { spy } from 'sinon'; -import { act, createRenderer, fireEvent, screen } from '@mui/internal-test-utils'; +import { createRenderer, fireEvent, screen } from '@mui/internal-test-utils'; import { DataGrid, DataGridProps, @@ -18,7 +18,7 @@ const rows: GridRowsProp = [{ id: 1, idBis: 1 }]; const columns: GridColDef[] = [{ field: 'id' }, { field: 'idBis' }]; -describe(' - Columns visibility', () => { +describe(' - Columns visibility', () => { const { render } = createRenderer(); function TestDataGrid( @@ -50,8 +50,8 @@ describe(' - Columns visibility', () => { expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'idBis']); }); - it('should update the visible columns when props.onColumnVisibilityModelChange and props.columnVisibilityModel are not defined', () => { - render( + it('should update the visible columns when props.onColumnVisibilityModelChange and props.columnVisibilityModel are not defined', async () => { + const { user } = render( - Columns visibility', () => { ); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'idBis']); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); - fireEvent.click(screen.getByRole('checkbox', { name: 'id' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('checkbox', { name: 'id' })); expect(getColumnHeadersTextContent()).to.deep.equal(['idBis']); }); - it('should call onColumnVisibilityModelChange and update the visible columns when props.columnVisibilityModel is not defined', () => { + it('should call onColumnVisibilityModelChange and update the visible columns when props.columnVisibilityModel is not defined', async () => { const onColumnVisibilityModelChange = spy(); - render( + const { user } = render( - Columns visibility', () => { ); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'idBis']); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); - fireEvent.click(screen.getByRole('checkbox', { name: 'id' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('checkbox', { name: 'id' })); expect(getColumnHeadersTextContent()).to.deep.equal(['idBis']); expect(onColumnVisibilityModelChange.callCount).to.equal(1); expect(onColumnVisibilityModelChange.lastCall.firstArg).to.deep.equal({ @@ -109,7 +109,7 @@ describe(' - Columns visibility', () => { }); }); - it('should call onColumnVisibilityModelChange with the new model when toggling all columns', () => { + it('should call onColumnVisibilityModelChange with the new model when toggling all columns', async () => { const onColumnVisibilityModelChange = spy(); function ControlledTest() { const [model, setModel] = React.useState({ idBis: false }); @@ -126,20 +126,20 @@ describe(' - Columns visibility', () => { /> ); } - render(); + const { user } = render(); expect(getColumnHeadersTextContent()).to.deep.equal(['id']); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); const showHideAllCheckbox = screen.getByRole('checkbox', { name: 'Show/Hide All' }); // Hide all - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(onColumnVisibilityModelChange.callCount).to.equal(1); expect(onColumnVisibilityModelChange.lastCall.firstArg).to.deep.equal({}); // Show all - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(onColumnVisibilityModelChange.callCount).to.equal(2); expect(onColumnVisibilityModelChange.lastCall.firstArg).to.deep.equal({ id: false, @@ -148,8 +148,8 @@ describe(' - Columns visibility', () => { }); // Fixes (1) and (2) in https://github.com/mui/mui-x/issues/7393#issuecomment-1372129661 - it('should not show hidden non hideable columns when "Show/Hide All" is clicked', () => { - render( + it('should not show hidden non hideable columns when "Show/Hide All" is clicked', async () => { + const { user } = render( - Columns visibility', () => { />, ); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); const showHideAllCheckbox = screen.getByRole('checkbox', { name: 'Show/Hide All' }); // Hide all - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(getColumnHeadersTextContent()).to.deep.equal([]); // Show all - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(getColumnHeadersTextContent()).to.deep.equal(['id']); }); }); @@ -226,8 +226,8 @@ describe(' - Columns visibility', () => { expect(getColumnHeadersTextContent()).to.deep.equal(['id']); }); - it('should allow to update the visible columns through the UI when initialized with initialState', () => { - render( + it('should allow to update the visible columns through the UI when initialized with initialState', async () => { + const { user } = render( - Columns visibility', () => { ); expect(getColumnHeadersTextContent()).to.deep.equal(['id']); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); - fireEvent.click(screen.getByRole('checkbox', { name: 'id' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('checkbox', { name: 'id' })); expect(getColumnHeadersTextContent()).to.deep.equal([]); }); }); - it('should autofocus the first switch element in columns management when `autoFocusSearchField` disabled', () => { - render( + it('should autofocus the first switch element in columns management when `autoFocusSearchField` disabled', async () => { + const { user } = render( - Columns visibility', () => { />, ); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); expect(screen.getByRole('checkbox', { name: columns[0].field })).toHaveFocus(); }); - it('should hide `Show/Hide all` in columns management when `disableShowHideToggle` is `true`', () => { - const { setProps } = render( + it('should hide `Show/Hide all` in columns management when `disableShowHideToggle` is `true`', async () => { + const { setProps, user } = render( - Columns visibility', () => { />, ); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); // check if `Show/Hide all` checkbox is present initially expect(screen.getByRole('checkbox', { name: 'Show/Hide All' })).not.to.equal(null); setProps({ @@ -290,8 +290,8 @@ describe(' - Columns visibility', () => { expect(screen.queryByRole('checkbox', { name: 'Show/Hide All' })).to.equal(null); }); - it('should hide `Reset` in columns panel when `disableResetButton` is `true`', () => { - const { setProps } = render( + it('should hide `Reset` in columns panel when `disableResetButton` is `true`', async () => { + const { setProps, user } = render( - Columns visibility', () => { />, ); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); // check if Reset button is present initially expect(screen.getByRole('button', { name: 'Reset' })).not.to.equal(null); setProps({ @@ -313,8 +313,8 @@ describe(' - Columns visibility', () => { expect(screen.queryByRole('button', { name: 'Reset' })).to.equal(null); }); - it('should reset the columns to initial columns state when `Reset` button is clicked in columns management panel', () => { - render( + it('should reset the columns to initial columns state when `Reset` button is clicked in columns management panel', async () => { + const { user } = render( - Columns visibility', () => { ); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'idBis']); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); const resetButton = screen.getByRole('button', { name: 'Reset' }); expect(resetButton).to.have.attribute('disabled'); // Hide `idBis` column - fireEvent.click(screen.getByRole('checkbox', { name: 'idBis' })); + await user.click(screen.getByRole('checkbox', { name: 'idBis' })); expect(getColumnHeadersTextContent()).to.deep.equal(['id']); expect(resetButton).not.to.have.attribute('disabled'); // Reset columns - fireEvent.click(resetButton); + await user.click(resetButton); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'idBis']); expect(resetButton).to.have.attribute('disabled'); }); @@ -360,10 +360,10 @@ describe(' - Columns visibility', () => { expect(screen.queryByRole('checkbox', { name: 'idBis' })).to.equal(null); }); - it('should avoid toggling columns provided by `getTogglableColumns` prop on `Show/Hide All`', () => { + it('should avoid toggling columns provided by `getTogglableColumns` prop on `Show/Hide All`', async () => { const getTogglableColumns = (cols: GridColDef[]) => cols.filter((column) => column.field !== 'idBis').map((column) => column.field); - render( + const { user } = render( - Columns visibility', () => { />, ); - fireEvent.click(screen.getByRole('button', { name: 'Select columns' })); + await user.click(screen.getByRole('button', { name: 'Select columns' })); const showHideAllCheckbox = screen.getByRole('checkbox', { name: 'Show/Hide All' }); - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(getColumnHeadersTextContent()).to.deep.equal(['idBis']); - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'idBis']); }); }); describe('prop: toggleAllMode', () => { - it('should toggle filtered columns when `toggleAllMode` is `filtered`', () => { - render( + it('should toggle filtered columns when `toggleAllMode` is `filtered`', async () => { + const { user } = render(
- Columns visibility', () => { expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'firstName', 'lastName', 'age']); const button = screen.getByRole('button', { name: 'Select columns' }); - act(() => button.focus()); - fireEvent.click(button); + await user.click(button); const input = screen.getByPlaceholderText('Search'); - fireEvent.change(input, { target: { value: 'name' } }); + await user.type(input, 'name'); const showHideAllCheckbox = screen.getByRole('checkbox', { name: 'Show/Hide All' }); - fireEvent.click(showHideAllCheckbox); + await user.click(showHideAllCheckbox); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'age']); - fireEvent.change(input, { target: { value: 'firstName' } }); - fireEvent.click(showHideAllCheckbox); + // clear the search before the new search + await user.clear(input); + await user.type(input, 'firstName'); + await user.click(showHideAllCheckbox); expect(getColumnHeadersTextContent()).to.deep.equal(['id', 'firstName', 'age']); }); }); diff --git a/packages/x-data-grid/src/tests/rowSelection.DataGrid.test.tsx b/packages/x-data-grid/src/tests/rowSelection.DataGrid.test.tsx index e549ffd113009..3ee2e6e1ae245 100644 --- a/packages/x-data-grid/src/tests/rowSelection.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/rowSelection.DataGrid.test.tsx @@ -29,7 +29,6 @@ import { getActiveCell, grid, } from 'test/utils/helperFn'; -import { fireUserEvent } from 'test/utils/fireUserEvent'; import { getBasicGridData } from '@mui/x-data-grid-generator'; const isJSDOM = /jsdom/.test(window.navigator.userAgent); @@ -67,7 +66,7 @@ describe(' - Row selection', () => { } // Context: https://github.com/mui/mui-x/issues/15079 - it('should not call `onRowSelectionModelChange` twice when using filterMode="server"', () => { + it('should not call `onRowSelectionModelChange` twice when using filterMode="server"', async () => { const onRowSelectionModelChange = spy(); function TestDataGrid() { const [, setRowSelectionModel] = React.useState([]); @@ -84,25 +83,25 @@ describe(' - Row selection', () => { /> ); } - render(); - fireEvent.click(getCell(0, 0).querySelector('input')!); + const { user } = render(); + await user.click(getCell(0, 0).querySelector('input')!); expect(onRowSelectionModelChange.callCount).to.equal(1); }); describe('prop: checkboxSelection = false (single selection)', () => { - it('should select one row at a time on click WITHOUT ctrl or meta pressed', () => { - render(); - fireUserEvent.mousePress(getCell(0, 0)); + it('should select one row at a time on click WITHOUT ctrl or meta pressed', async () => { + const { user } = render(); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([0]); - fireUserEvent.mousePress(getCell(1, 0)); + await user.click(getCell(1, 0)); expect(getSelectedRowIds()).to.deep.equal([1]); }); - it(`should not deselect the selected row on click WITHOUT ctrl or meta pressed`, () => { - render(); - fireEvent.click(getCell(0, 0)); + it(`should not deselect the selected row on click WITHOUT ctrl or meta pressed`, async () => { + const { user } = render(); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(getCell(0, 0)); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([0]); }); @@ -124,34 +123,36 @@ describe(' - Row selection', () => { }); }); - it('should not select a range with shift pressed', () => { - render(); - fireEvent.click(getCell(0, 0)); + it('should not select a range with shift pressed', async () => { + const { user } = render(); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(getCell(2, 0), { shiftKey: true }); + await user.keyboard('{Shift>}'); + await user.click(getCell(2, 0)); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([2]); }); }); describe('prop: checkboxSelection = false (single selection), with keyboard events', () => { - it('should select one row at a time on Shift + Space', () => { - render(); + it('should select one row at a time on Shift + Space', async () => { + const { user } = render(); const cell0 = getCell(0, 0); - fireUserEvent.mousePress(cell0); - fireEvent.keyDown(cell0, { key: ' ', shiftKey: true }); + await user.click(cell0); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0]); const cell1 = getCell(1, 0); - fireUserEvent.mousePress(cell1); - fireEvent.keyDown(cell1, { key: ' ', shiftKey: true }); + await user.click(cell1); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([1]); }); [GridEditModes.Cell, GridEditModes.Row].forEach((editMode) => { - it(`should select row on Shift + Space without starting editing the ${editMode}`, () => { + it(`should select row on Shift + Space without starting editing the ${editMode}`, async () => { const onCellEditStart = spy(); - render( + const { user } = render( - Row selection', () => { expect(onCellEditStart.callCount).to.equal(0); const cell01 = getCell(0, 1); - fireUserEvent.mousePress(cell01); + await user.click(cell01); - fireEvent.keyDown(cell01, { key: ' ', shiftKey: true }); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(onCellEditStart.callCount).to.equal(0); expect(getSelectedRowIds()).to.deep.equal([0]); const cell11 = getCell(1, 1); - fireUserEvent.mousePress(cell11); - fireEvent.keyDown(cell11, { key: ' ', shiftKey: true }); + await user.click(cell11); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(onCellEditStart.callCount).to.equal(0); expect(getSelectedRowIds()).to.deep.equal([1]); }); }); - it(`should deselect the selected row on Shift + Space`, () => { - render(); + it(`should deselect the selected row on Shift + Space`, async () => { + const { user } = render(); const cell00 = getCell(0, 0); - fireUserEvent.mousePress(cell00); + await user.click(cell00); - fireEvent.keyDown(cell00, { key: ' ', shiftKey: true }); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.keyDown(cell00, { key: ' ', shiftKey: true }); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([]); }); - it('should not select a range with shift pressed', () => { - render(); + it('should not select a range with shift pressed', async () => { + const { user } = render(); const cell00 = getCell(0, 0); - fireUserEvent.mousePress(cell00); + await user.click(cell00); - fireEvent.keyDown(cell00, { key: ' ', shiftKey: true }); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.keyDown(cell00, { - key: 'ArrowDown', - shiftKey: true, - }); + await user.keyboard('{Shift>}[ArrowDown]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([1]); }); @@ -224,47 +222,47 @@ describe(' - Row selection', () => { expect(getColumnHeaderCell(0).querySelectorAll('input')).to.have.length(1); }); - it('should check then uncheck when clicking twice the row', () => { - render(); + it('should check then uncheck when clicking twice the row', async () => { + const { user } = render(); expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); - fireEvent.click(getCell(0, 1)); + await user.click(getCell(0, 1)); expect(getSelectedRowIds()).to.deep.equal([0]); expect(getRow(0).querySelector('input')).to.have.property('checked', true); - fireEvent.click(getCell(0, 1)); + await user.click(getCell(0, 1)); expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); }); - it('should check and uncheck when double clicking the checkbox', () => { - render(); + it('should check and uncheck when double clicking the checkbox', async () => { + const { user } = render(); expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0]); expect(getRow(0).querySelector('input')).to.have.property('checked', true); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); }); it('should set focus on the cell when clicking the checkbox', async () => { - render(); + const { user } = render(); expect(getActiveCell()).to.equal(null); const checkboxInput = getCell(0, 0).querySelector('input'); - fireUserEvent.mousePress(checkboxInput!); + await user.click(checkboxInput!); await waitFor(() => expect(getActiveCell()).to.equal('0-0')); }); - it('should select all visible rows regardless of pagination', () => { - render( + it('should select all visible rows regardless of pagination', async () => { + const { user } = render( - Row selection', () => { />, ); const selectAllCheckbox = screen.getByRole('checkbox', { name: 'Select all rows' }); - fireEvent.click(selectAllCheckbox); + await user.click(selectAllCheckbox); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); expect(getSelectedRowIds()).to.deep.equal([1]); }); @@ -294,53 +292,67 @@ describe(' - Row selection', () => { expect(getRow(1).querySelector('input')).to.have.property('disabled', true); }); - it('should select a range with shift pressed when clicking the row', () => { - render(); - fireEvent.click(getCell(0, 1)); + it('should select a range with shift pressed when clicking the row', async () => { + const { user } = render(); + await user.click(getCell(0, 1)); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(getCell(2, 1), { shiftKey: true }); + await user.keyboard('{Shift>}'); + await user.click(getCell(2, 1)); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2]); }); - it('should select a range with shift pressed when clicking the checkbox', () => { - render(); - fireEvent.click(getCell(0, 0).querySelector('input')!); + it('should select a range with shift pressed when clicking the checkbox', async () => { + const { user } = render(); + await user.click(getCell(0, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(getCell(2, 0).querySelector('input')!, { shiftKey: true }); + await user.keyboard('{Shift>}'); + await user.click(getCell(2, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2]); }); - it('should unselect from last clicked cell to cell after clicked cell if clicking inside a selected range', () => { - render(); - fireEvent.click(getCell(0, 0).querySelector('input')!); + it('should unselect from last clicked cell to cell after clicked cell if clicking inside a selected range', async () => { + const { user } = render(); + await user.click(getCell(0, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(getCell(3, 0).querySelector('input')!, { shiftKey: true }); + + await user.keyboard('{Shift>}'); + await user.click(getCell(3, 0).querySelector('input')!); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2, 3]); - fireEvent.click(getCell(1, 0).querySelector('input')!, { shiftKey: true }); + + await user.keyboard('{Shift>}'); + await user.click(getCell(1, 0).querySelector('input')!); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0, 1]); }); - it('should not change the selection with shift pressed when clicking on the last row of the selection', () => { - render(); - fireEvent.click(getCell(0, 0).querySelector('input')!); + it('should not change the selection with shift pressed when clicking on the last row of the selection', async () => { + const { user } = render(); + await user.click(getCell(0, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(getCell(2, 0).querySelector('input')!, { shiftKey: true }); + + await user.keyboard('{Shift>}'); + await user.click(getCell(2, 0).querySelector('input')!); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2]); - fireEvent.click(getCell(2, 0).querySelector('input')!, { shiftKey: true }); + + await user.keyboard('{Shift>}'); + await user.click(getCell(2, 0).querySelector('input')!); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2]); }); - it('should reset selected rows when turning off checkboxSelection', () => { - const { setProps } = render(); - fireEvent.click(getCell(0, 0).querySelector('input')!); - fireEvent.click(getCell(1, 0).querySelector('input')!); + it('should reset selected rows when turning off checkboxSelection', async () => { + const { setProps, user } = render(); + await user.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0, 1]); setProps({ checkboxSelection: false }); expect(getSelectedRowIds()).to.deep.equal([]); }); - it('should reset row selection in the current page as selected when turning off checkboxSelection', () => { - const { setProps } = render( + it('should reset row selection in the current page as selected when turning off checkboxSelection', async () => { + const { setProps, user } = render( - Row selection', () => { pageSizeOptions={[2]} />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(screen.getByRole('button', { name: /next page/i })); + await user.click(getCell(2, 0).querySelector('input')!); expect(screen.getByText('2 rows selected')).not.to.equal(null); setProps({ checkboxSelection: false }); expect(getSelectedRowIds()).to.deep.equal([]); expect(screen.queryByText('2 row selected')).to.equal(null); }); - it('should set the correct aria-label on the column header checkbox', () => { - render(); + it('should set the correct aria-label on the column header checkbox', async () => { + const { user } = render(); expect(screen.queryByRole('checkbox', { name: 'Unselect all rows' })).to.equal(null); expect(screen.queryByRole('checkbox', { name: 'Select all rows' })).not.to.equal(null); - fireEvent.click(screen.getByRole('checkbox', { name: 'Select all rows' })); + await user.click(screen.getByRole('checkbox', { name: 'Select all rows' })); expect(screen.queryByRole('checkbox', { name: 'Select all rows' })).to.equal(null); expect(screen.queryByRole('checkbox', { name: 'Unselect all rows' })).not.to.equal(null); }); - it('should set the correct aria-label on the cell checkbox', () => { - render(); + it('should set the correct aria-label on the cell checkbox', async () => { + const { user } = render( + , + ); expect(screen.queryByRole('checkbox', { name: 'Unselect row' })).to.equal(null); expect(screen.queryByRole('checkbox', { name: 'Select row' })).not.to.equal(null); - fireEvent.click(screen.getByRole('checkbox', { name: 'Select row' })); + await user.click(screen.getByRole('checkbox', { name: 'Select row' })); expect(screen.queryByRole('checkbox', { name: 'Select row' })).to.equal(null); expect(screen.queryByRole('checkbox', { name: 'Unselect row' })).not.to.equal(null); }); - it('should not select more than one row when disableMultipleRowSelection = true', () => { - render(); + it('should not select more than one row when disableMultipleRowSelection = true', async () => { + const { user } = render( + , + ); const input1 = getCell(0, 0).querySelector('input')!; - fireEvent.click(input1); + await user.click(input1); expect(input1.checked).to.equal(true); const input2 = getCell(1, 0).querySelector('input')!; - fireEvent.click(input2); + await user.click(input2); expect(input1.checked).to.equal(false); expect(input2.checked).to.equal(true); }); @@ -430,6 +446,7 @@ describe(' - Row selection', () => { }} />, ); + const selectAllCheckbox = screen.getByRole('checkbox', { name: 'Select all rows' }); fireEvent.click(selectAllCheckbox); await waitFor(() => { @@ -437,6 +454,7 @@ describe(' - Row selection', () => { }); expect(grid('selectedRowCount')?.textContent).to.equal('4 rows selected'); + // Click on Menu in id header column fireEvent.change(screen.getByRole('spinbutton', { name: 'Value' }), { target: { value: 1 }, }); @@ -460,113 +478,129 @@ describe(' - Row selection', () => { }); describe('prop: indeterminateCheckboxAction = "select"', () => { - it('should select all the rows when clicking on "Select All" checkbox in indeterminate state', () => { - render(); + it('should select all the rows when clicking on "Select All" checkbox in indeterminate state', async () => { + const { user } = render( + , + ); const selectAllCheckbox = screen.getByRole('checkbox', { name: 'Select all rows' }); - fireEvent.click(screen.getAllByRole('checkbox', { name: /select row/i })[0]); - fireEvent.click(selectAllCheckbox); + await user.click(screen.getAllByRole('checkbox', { name: /select row/i })[0]); + await user.click(selectAllCheckbox); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2, 3]); }); }); describe('prop: indeterminateCheckboxAction = "deselect"', () => { - it('should deselect all the rows when clicking on "Select All" checkbox in indeterminate state', () => { - render(); + it('should deselect all the rows when clicking on "Select All" checkbox in indeterminate state', async () => { + const { user } = render( + , + ); const selectAllCheckbox = screen.getByRole('checkbox', { name: 'Select all rows' }); - fireEvent.click(screen.getAllByRole('checkbox', { name: /select row/i })[0]); - fireEvent.click(selectAllCheckbox); + await user.click(screen.getAllByRole('checkbox', { name: /select row/i })[0]); + await user.click(selectAllCheckbox); expect(getSelectedRowIds()).to.deep.equal([]); }); }); }); describe('prop: checkboxSelection = true (multi selection), with keyboard events', () => { - it('should select row below when pressing "ArrowDown" + shiftKey', () => { - render(); - fireUserEvent.mousePress(getCell(2, 1)); + it('should select row below when pressing "ArrowDown" + shiftKey', async () => { + const { user } = render(); + await user.click(getCell(2, 1)); expect(getSelectedRowIds()).to.deep.equal([2]); - fireEvent.keyDown(getCell(2, 1), { key: 'ArrowDown', shiftKey: true }); + await user.keyboard('{Shift>}[ArrowDown]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([2, 3]); - fireEvent.keyDown(getCell(3, 1), { key: 'ArrowDown' }); + + await user.keyboard('{ArrowDown}'); expect(getSelectedRowIds()).to.deep.equal([2, 3]); // Already on the last row }); - it('should unselect previous row when pressing "ArrowDown" + shiftKey', () => { - render(); - fireUserEvent.mousePress(getCell(3, 1)); + it('should unselect previous row when pressing "ArrowDown" + shiftKey', async () => { + const { user } = render(); + await user.click(getCell(3, 1)); expect(getSelectedRowIds()).to.deep.equal([3]); - fireUserEvent.mousePress(getCell(1, 1), { shiftKey: true }); + await user.keyboard('{Shift>}'); + await user.click(getCell(1, 1)); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([1, 2, 3]); - fireEvent.keyDown(getCell(1, 1), { key: 'ArrowDown', shiftKey: true }); + + await user.keyboard('{Shift>}[ArrowDown]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([2, 3]); }); - it('should not unselect row above when pressing "ArrowDown" + shiftKey', () => { - render(); - fireUserEvent.mousePress(getCell(1, 1)); + it('should not unselect row above when pressing "ArrowDown" + shiftKey', async () => { + const { user } = render(); + await user.click(getCell(1, 1)); expect(getSelectedRowIds()).to.deep.equal([1]); - fireUserEvent.mousePress(getCell(2, 1), { shiftKey: true }); + + await user.keyboard('{Shift>}'); + await user.click(getCell(2, 1)); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([1, 2]); - fireEvent.keyDown(getCell(2, 1), { key: 'ArrowDown', shiftKey: true }); + + await user.keyboard('{Shift>}[ArrowDown]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([1, 2, 3]); - fireEvent.keyDown(getCell(3, 1), { key: 'ArrowDown' }); + + await user.keyboard('{ArrowDown}'); expect(getSelectedRowIds()).to.deep.equal([1, 2, 3]); // Already on the last row }); - it('should unselect previous row when pressing "ArrowUp" + shiftKey', () => { - render(); - fireUserEvent.mousePress(getCell(2, 1)); + it('should unselect previous row when pressing "ArrowUp" + shiftKey', async () => { + const { user } = render(); + await user.click(getCell(2, 1)); expect(getSelectedRowIds()).to.deep.equal([2]); - fireUserEvent.mousePress(getCell(3, 1), { shiftKey: true }); + + await user.keyboard('{Shift>}'); + await user.click(getCell(3, 1)); + await user.keyboard('{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([2, 3]); - fireEvent.keyDown(getCell(3, 1), { key: 'ArrowUp', shiftKey: true }); + + await user.keyboard('{Shift>}[ArrowUp]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([2]); }); - it('should add new row to the selection when pressing Shift+Space', () => { - render(); + it('should add new row to the selection when pressing Shift+Space', async () => { + const { user } = render( + , + ); expect(getSelectedRowIds()).to.deep.equal([]); const cell21 = getCell(2, 1); - fireUserEvent.mousePress(cell21); - fireEvent.keyDown(cell21, { - key: ' ', - shiftKey: true, - }); + await user.click(cell21); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([2]); const cell11 = getCell(1, 1); - fireUserEvent.mousePress(cell11); - fireEvent.keyDown(cell11, { - key: ' ', - shiftKey: true, - }); + await user.click(cell11); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([1, 2]); }); - it('should not jump during scroll while the focus is on the checkbox', function test() { + it('should not jump during scroll while the focus is on the checkbox', async function test() { if (isJSDOM) { this.skip(); // HTMLElement.focus() only scrolls to the element on a real browser } const data = getBasicGridData(20, 1); - render(); + const { user } = render( + , + ); const checkboxes = screen.queryAllByRole('checkbox', { name: /select row/i }); - fireUserEvent.mousePress(checkboxes[0]); + await user.click(checkboxes[0]); expect(checkboxes[0]).toHaveFocus(); - fireEvent.keyDown(checkboxes[0], { key: 'ArrowDown' }); - fireEvent.keyDown(checkboxes[1], { key: 'ArrowDown' }); - fireEvent.keyDown(checkboxes[2], { key: 'ArrowDown' }); + + await user.keyboard('{ArrowDown}'); + await user.keyboard('{ArrowDown}'); + await user.keyboard('{ArrowDown}'); const virtualScroller = document.querySelector('.MuiDataGrid-virtualScroller')!; virtualScroller.scrollTop = 250; // Scroll 5 rows virtualScroller.dispatchEvent(new Event('scroll')); expect(virtualScroller.scrollTop).to.equal(250); }); - it('should set tabindex=0 on the checkbox when the it receives focus', () => { - render(); + it('should set tabindex=0 on the checkbox when the it receives focus', async () => { + const { user } = render(); const checkbox = screen.getAllByRole('checkbox', { name: /select row/i })[0]; const checkboxCell = getCell(0, 0); const secondCell = getCell(0, 1); @@ -574,32 +608,28 @@ describe(' - Row selection', () => { expect(checkboxCell).to.have.attribute('tabindex', '-1'); expect(secondCell).to.have.attribute('tabindex', '-1'); - fireUserEvent.mousePress(secondCell); + await user.click(secondCell); expect(secondCell).to.have.attribute('tabindex', '0'); - fireEvent.keyDown(secondCell, { key: 'ArrowLeft' }); + await user.keyboard('{ArrowLeft}'); expect(secondCell).to.have.attribute('tabindex', '-1'); // Ensure that checkbox has tabindex=0 and the cell has tabindex=-1 expect(checkbox).to.have.attribute('tabindex', '0'); expect(checkboxCell).to.have.attribute('tabindex', '-1'); }); - it('should select/unselect all rows when pressing space', () => { - render(); + it('should select/unselect all rows when pressing space', async () => { + const { user } = render(); const selectAllCell = document.querySelector( '[role="columnheader"][data-field="__check__"] input', )!; - act(() => selectAllCell.focus()); + await act(() => selectAllCell.focus()); - fireEvent.keyDown(selectAllCell, { - key: ' ', - }); + await user.keyboard('[Space]'); expect(getSelectedRowIds()).to.deep.equal([0, 1, 2, 3]); - fireEvent.keyDown(selectAllCell, { - key: ' ', - }); + await user.keyboard('[Space]'); expect(getSelectedRowIds()).to.deep.equal([]); }); @@ -615,7 +645,8 @@ describe(' - Row selection', () => { } render(); const cell = getCell(1, 1); - fireUserEvent.mousePress(cell); + // instead of `fireUserEvent.mousePress()`, which basically executes click twice + fireEvent.dblClick(cell); fireEvent.keyDown(cell, { key: 'ArrowLeft' }); fireEvent.keyDown(getCell(1, 0).querySelector('input')!, { key: 'ArrowUp' }); clock.runToLast(); // Wait for transition @@ -626,13 +657,13 @@ describe(' - Row selection', () => { }); describe('prop: isRowSelectable', () => { - it('should update the selected rows when the isRowSelectable prop changes', () => { - const { setProps } = render( + it('should update the selected rows when the isRowSelectable prop changes', async () => { + const { setProps, user } = render( true} checkboxSelection />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(getSelectedRowIds()).to.deep.equal([0, 1]); @@ -785,9 +816,9 @@ describe(' - Row selection', () => { expect(onRowSelectionModelChange.callCount).to.equal(0); }); - it('should call onRowSelectionModelChange with an empty array if no row is selectable in the current page when turning off checkboxSelection', () => { + it('should call onRowSelectionModelChange with an empty array if no row is selectable in the current page when turning off checkboxSelection', async () => { const onRowSelectionModelChange = spy(); - const { setProps } = render( + const { setProps, user } = render( - Row selection', () => { onRowSelectionModelChange={onRowSelectionModelChange} />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([0]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); - fireEvent.click(getCell(2, 0).querySelector('input')!); + await user.click(screen.getByRole('button', { name: /next page/i })); + await user.click(getCell(2, 0).querySelector('input')!); expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([0, 2]); setProps({ checkboxSelection: false, isRowSelectable: () => false }); expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([]); }); - it('should call onRowSelectionModelChange with an empty array if there is no selected row in the current page when turning off checkboxSelection', () => { + it('should call onRowSelectionModelChange with an empty array if there is no selected row in the current page when turning off checkboxSelection', async () => { const onRowSelectionModelChange = spy(); - const { setProps } = render( + const { setProps, user } = render( - Row selection', () => { onRowSelectionModelChange={onRowSelectionModelChange} />, ); - fireEvent.click(getCell(0, 0).querySelector('input')!); - fireEvent.click(getCell(1, 0).querySelector('input')!); + await user.click(getCell(0, 0).querySelector('input')!); + await user.click(getCell(1, 0).querySelector('input')!); expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([0, 1]); - fireEvent.click(screen.getByRole('button', { name: /next page/i })); + await user.click(screen.getByRole('button', { name: /next page/i })); setProps({ checkboxSelection: false }); expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([]); }); @@ -832,32 +863,32 @@ describe(' - Row selection', () => { expect(getSelectedRowIds()).to.deep.equal([1]); }); - it('should update the selection when neither the model nor the onChange are set', () => { - render(); - fireEvent.click(getCell(0, 0)); + it('should update the selection when neither the model nor the onChange are set', async () => { + const { user } = render(); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([0]); }); - it('should not update the selection model when the rowSelectionModel prop is set', () => { + it('should not update the selection model when the rowSelectionModel prop is set', async () => { const rowSelectionModel: GridInputRowSelectionModel = [1]; - render(); + const { user } = render(); expect(getSelectedRowIds()).to.deep.equal([1]); - fireEvent.click(getCell(0, 0)); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([1]); }); - it('should update the selection when the model is not set, but the onChange is set', () => { + it('should update the selection when the model is not set, but the onChange is set', async () => { const onModelChange = spy(); - render(); + const { user } = render(); - fireEvent.click(getCell(0, 0)); + await user.click(getCell(0, 0)); expect(getSelectedRowIds()).to.deep.equal([0]); expect(onModelChange.callCount).to.equal(1); expect(onModelChange.firstCall.firstArg).to.deep.equal([0]); }); - it('should control selection state when the model and the onChange are set', () => { + it('should control selection state when the model and the onChange are set', async () => { function ControlCase() { const [rowSelectionModel, setRowSelectionModel] = React.useState([]); @@ -878,9 +909,9 @@ describe(' - Row selection', () => { ); } - render(); + const { user } = render(); expect(getSelectedRowIds()).to.deep.equal([]); - fireEvent.click(getCell(1, 1)); + await user.click(getCell(1, 1)); expect(getSelectedRowIds()).to.deep.equal([1, 2]); }); @@ -905,25 +936,31 @@ describe(' - Row selection', () => { } render(); - expect(() => act(() => apiRef.current.setRowSelectionModel([0, 1]))).not.to.throw(); + expect(() => + act(() => { + apiRef.current.setRowSelectionModel([0, 1]); + }), + ).not.to.throw(); }); }); describe('prop: rowSelection = false', () => { - it('should not select rows when clicking the checkbox', () => { - render(); + it('should not select rows when clicking the checkbox', async () => { + const { user } = render(); expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); - fireEvent.click(getCell(0, 1)); + await user.click(getCell(0, 1)); expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); }); - it('should not select rows with Shift + Space', () => { - render(); + it('should not select rows with Shift + Space', async () => { + const { user } = render( + , + ); const cell0 = getCell(0, 0); - fireUserEvent.mousePress(cell0); - fireEvent.keyDown(cell0, { key: ' ', shiftKey: true }); + await user.click(cell0); + await user.keyboard('{Shift>}[Space]{/Shift}'); expect(getSelectedRowIds()).to.deep.equal([]); }); @@ -934,28 +971,28 @@ describe(' - Row selection', () => { }); describe('accessibility', () => { - it('should add aria-selected attributes to the selectable rows', () => { - render(); + it('should add aria-selected attributes to the selectable rows', async () => { + const { user } = render(); // Select the first row - fireUserEvent.mousePress(getCell(0, 0)); + await user.click(getCell(0, 0)); expect(getRow(0).getAttribute('aria-selected')).to.equal('true'); expect(getRow(1).getAttribute('aria-selected')).to.equal('false'); }); - it('should not add aria-selected attributes if the row selection is disabled', () => { - render(); + it('should not add aria-selected attributes if the row selection is disabled', async () => { + const { user } = render(); expect(getRow(0).getAttribute('aria-selected')).to.equal(null); // Try to select the first row - fireUserEvent.mousePress(getCell(0, 0)); + await user.click(getCell(0, 0)); // nothing should change expect(getRow(0).getAttribute('aria-selected')).to.equal(null); }); }); describe('performance', () => { - it('should not rerender unrelated nodes', () => { + it('should not rerender unrelated nodes', async () => { // Couldn't use because we need to track multiple components let commits: any[] = []; function CustomCell(props: any) { @@ -967,7 +1004,7 @@ describe(' - Row selection', () => { return
Hello
; } - render( + const { user } = render(
- Row selection', () => { expect(getSelectedRowIds()).to.deep.equal([]); expect(getRow(0).querySelector('input')).to.have.property('checked', false); commits = []; - fireEvent.click(getCell(0, 1)); + await user.click(getCell(0, 1)); expect(getSelectedRowIds()).to.deep.equal([0]); expect(getRow(0).querySelector('input')).to.have.property('checked', true); // It shouldn't rerender any of the custom cells diff --git a/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx b/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx index 2c859d30fccbf..e3dbe06d56f85 100644 --- a/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx @@ -425,8 +425,8 @@ describe(' - Rows', () => { expect(deleteButton).toHaveFocus(); }); - it('should set the correct tabIndex to the focused button', () => { - render( + it('should set the correct tabIndex to the focused button', async () => { + const { user } = render( [ } label="print" />, @@ -436,9 +436,11 @@ describe(' - Rows', () => { ); const firstCell = getCell(0, 0); const secondCell = getCell(0, 1); - firstCell.focus(); + act(() => { + firstCell.focus(); + }); - fireEvent.keyDown(firstCell, { key: 'ArrowRight' }); + await user.keyboard('{ArrowRight}'); expect(secondCell).to.have.property('tabIndex', -1); const printButton = screen.getByRole('menuitem', { name: 'print' }); @@ -446,7 +448,10 @@ describe(' - Rows', () => { expect(printButton).to.have.property('tabIndex', 0); expect(menuButton).to.have.property('tabIndex', -1); - fireEvent.keyDown(printButton, { key: 'ArrowRight' }); + act(() => { + printButton.focus(); + }); + await user.keyboard('{ArrowRight}'); expect(printButton).to.have.property('tabIndex', -1); expect(menuButton).to.have.property('tabIndex', 0); }); diff --git a/packages/x-data-grid/src/tests/sorting.DataGrid.test.tsx b/packages/x-data-grid/src/tests/sorting.DataGrid.test.tsx index c57d2ec690c4c..5779fa9a59ccf 100644 --- a/packages/x-data-grid/src/tests/sorting.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/sorting.DataGrid.test.tsx @@ -119,7 +119,7 @@ describe(' - Sorting', () => { expect(getColumnValues(0)).to.deep.equal(['10', '0', '5']); }); - it('should allow clearing the current sorting using `sortColumn` idempotently', () => { + it('should allow clearing the current sorting using `sortColumn` idempotently', async () => { let apiRef: React.MutableRefObject; function TestCase() { apiRef = useGridApiRef(); @@ -133,20 +133,20 @@ describe(' - Sorting', () => { ); } - render(); + const { user } = render(); expect(getColumnValues(0)).to.deep.equal(['10', '0', '5']); const header = getColumnHeaderCell(0); // Trigger a sort using the header - fireEvent.click(header); + await user.click(header); expect(getColumnValues(0)).to.deep.equal(['0', '5', '10']); // Clear the value using `apiRef` - act(() => apiRef.current.sortColumn('id', null)); + await act(() => apiRef.current.sortColumn('id', null)); expect(getColumnValues(0)).to.deep.equal(['10', '0', '5']); // Check the behavior is idempotent - act(() => apiRef.current.sortColumn('id', null)); + await act(() => apiRef.current.sortColumn('id', null)); expect(getColumnValues(0)).to.deep.equal(['10', '0', '5']); }); diff --git a/packages/x-data-grid/tsconfig.json b/packages/x-data-grid/tsconfig.json index a95beb1e8020a..08e4c0e2576ce 100644 --- a/packages/x-data-grid/tsconfig.json +++ b/packages/x-data-grid/tsconfig.json @@ -7,7 +7,8 @@ "chai-dom", "mocha", "node" - ] + ], + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/packages/x-date-pickers-pro/package.json b/packages/x-date-pickers-pro/package.json index d66d4ffb75a7e..db95d7e6db738 100644 --- a/packages/x-date-pickers-pro/package.json +++ b/packages/x-date-pickers-pro/package.json @@ -96,9 +96,9 @@ } }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", - "@mui/material": "^5.16.7", - "@mui/system": "^5.16.7", + "@mui/internal-test-utils": "^1.0.24", + "@mui/material": "^5.16.13", + "@mui/system": "^5.16.13", "@types/luxon": "^3.4.2", "@types/prop-types": "^15.7.13", "date-fns": "^2.30.0", diff --git a/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTabs.tsx b/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTabs.tsx index 60e1a9f533f2b..0e939f2eb6d70 100644 --- a/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTabs.tsx +++ b/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTabs.tsx @@ -51,12 +51,12 @@ export interface ExportedDateTimeRangePickerTabsProps extends ExportedBaseTabsPr * Date tab icon. * @default DateRangeIcon */ - dateIcon?: React.ReactElement; + dateIcon?: React.ReactElement; /** * Time tab icon. * @default TimeIcon */ - timeIcon?: React.ReactElement; + timeIcon?: React.ReactElement; /** * Override or extend the styles applied to the component. */ diff --git a/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.tsx b/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.tsx index e8f096ffcef58..8585346339245 100644 --- a/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.tsx +++ b/packages/x-date-pickers-pro/src/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { PickerSelectionState, PickerViewRenderer, @@ -50,10 +49,7 @@ function DateTimeRangePickerTimeWrapper< Omit, 'value' | 'defaultValue' | 'onChange'>, 'views' >, ->( - props: DateTimeRangePickerTimeWrapperProps, - ref: React.Ref, -) { +>(props: DateTimeRangePickerTimeWrapperProps) { const utils = useUtils(); const { @@ -102,7 +98,6 @@ function DateTimeRangePickerTimeWrapper< return viewRenderer({ ...other, - ref, views, onViewChange, value: currentValue, diff --git a/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts b/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts index aa1862e0f49a5..f00b4fa68cedb 100644 --- a/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts +++ b/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts @@ -138,8 +138,8 @@ export interface UseEnrichedRangePickerFieldPropsParams< currentView?: TView | null; initialView?: TView; onViewChange?: (view: TView) => void; - startFieldRef: React.RefObject>; - endFieldRef: React.RefObject>; + startFieldRef: React.RefObject | null>; + endFieldRef: React.RefObject | null>; } const useMultiInputFieldSlotProps = < diff --git a/packages/x-date-pickers-pro/src/internals/hooks/useMultiInputFieldSelectedSections.ts b/packages/x-date-pickers-pro/src/internals/hooks/useMultiInputFieldSelectedSections.ts index 4f6987aa23612..4778c5ee78ac4 100644 --- a/packages/x-date-pickers-pro/src/internals/hooks/useMultiInputFieldSelectedSections.ts +++ b/packages/x-date-pickers-pro/src/internals/hooks/useMultiInputFieldSelectedSections.ts @@ -14,9 +14,20 @@ interface UseMultiInputFieldSelectedSectionsParams unstableEndFieldRef?: React.Ref>; } +interface UseMultiInputFieldSelectedSectionsResponseItem { + unstableFieldRef?: React.Ref>; + selectedSections: FieldSelectedSections; + onSelectedSectionsChange: (newSelectedSections: FieldSelectedSections) => void; +} + +interface UseMultiInputFieldSelectedSectionsResponse { + start: UseMultiInputFieldSelectedSectionsResponseItem; + end: UseMultiInputFieldSelectedSectionsResponseItem; +} + export const useMultiInputFieldSelectedSections = ( params: UseMultiInputFieldSelectedSectionsParams, -) => { +): UseMultiInputFieldSelectedSectionsResponse => { const unstableEndFieldRef = React.useRef>(null); const handleUnstableEndFieldRef = useForkRef(params.unstableEndFieldRef, unstableEndFieldRef); diff --git a/packages/x-date-pickers-pro/src/internals/hooks/useRangePosition.ts b/packages/x-date-pickers-pro/src/internals/hooks/useRangePosition.ts index c5029471e4e88..fe4798ee7709b 100644 --- a/packages/x-date-pickers-pro/src/internals/hooks/useRangePosition.ts +++ b/packages/x-date-pickers-pro/src/internals/hooks/useRangePosition.ts @@ -30,7 +30,7 @@ export interface UseRangePositionResponse { export const useRangePosition = ( props: UseRangePositionProps, - singleInputFieldRef?: React.RefObject>, + singleInputFieldRef?: React.RefObject | null>, ): UseRangePositionResponse => { const [rangePosition, setRangePosition] = useControlled({ name: 'useRangePosition', diff --git a/packages/x-date-pickers/package.json b/packages/x-date-pickers/package.json index 49e8ab2b835cc..d7560ba1f2728 100644 --- a/packages/x-date-pickers/package.json +++ b/packages/x-date-pickers/package.json @@ -98,9 +98,9 @@ } }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", - "@mui/material": "^5.16.7", - "@mui/system": "^5.16.7", + "@mui/internal-test-utils": "^1.0.24", + "@mui/material": "^5.16.13", + "@mui/system": "^5.16.13", "@types/luxon": "^3.4.2", "@types/moment-hijri": "^2.1.4", "@types/moment-jalaali": "^0.7.9", diff --git a/packages/x-date-pickers/src/DateCalendar/PickersFadeTransitionGroup.tsx b/packages/x-date-pickers/src/DateCalendar/PickersFadeTransitionGroup.tsx index 584a245ad0157..6601088e0a036 100644 --- a/packages/x-date-pickers/src/DateCalendar/PickersFadeTransitionGroup.tsx +++ b/packages/x-date-pickers/src/DateCalendar/PickersFadeTransitionGroup.tsx @@ -10,7 +10,7 @@ import { } from './pickersFadeTransitionGroupClasses'; export interface PickersFadeTransitionGroupProps { - children: React.ReactElement; + children: React.ReactElement; className?: string; reduceAnimations: boolean; transKey: React.Key; diff --git a/packages/x-date-pickers/src/DateCalendar/PickersSlideTransition.tsx b/packages/x-date-pickers/src/DateCalendar/PickersSlideTransition.tsx index e560306b50331..16e5e255b511d 100644 --- a/packages/x-date-pickers/src/DateCalendar/PickersSlideTransition.tsx +++ b/packages/x-date-pickers/src/DateCalendar/PickersSlideTransition.tsx @@ -21,7 +21,7 @@ export interface ExportedSlideTransitionProps { export interface SlideTransitionProps extends Omit, ExportedSlideTransitionProps { - children: React.ReactElement; + children: React.ReactElement; className?: string; reduceAnimations: boolean; slideDirection: SlideDirection; @@ -137,7 +137,7 @@ export function PickersSlideTransition(inProps: SlideTransitionProps) { return ( + childFactory={(element: React.ReactElement) => React.cloneElement(element, { classNames: transitionClasses, }) diff --git a/packages/x-date-pickers/src/internals/hooks/useField/useFieldV6TextField.ts b/packages/x-date-pickers/src/internals/hooks/useField/useFieldV6TextField.ts index 288b0ee44de97..b882e0c56f942 100644 --- a/packages/x-date-pickers/src/internals/hooks/useField/useFieldV6TextField.ts +++ b/packages/x-date-pickers/src/internals/hooks/useField/useFieldV6TextField.ts @@ -76,8 +76,8 @@ export const addPositionPropertiesToSections = ( export const useFieldV6TextField: UseFieldTextField = (params) => { const isRtl = useRtl(); - const focusTimeoutRef = React.useRef>(); - const selectionSyncTimeoutRef = React.useRef>(); + const focusTimeoutRef = React.useRef>(undefined); + const selectionSyncTimeoutRef = React.useRef>(undefined); const { forwardedProps: { diff --git a/packages/x-date-pickers/src/internals/hooks/usePicker/usePickerViews.ts b/packages/x-date-pickers/src/internals/hooks/usePicker/usePickerViews.ts index e96e3754fe946..8a70152236ef0 100644 --- a/packages/x-date-pickers/src/internals/hooks/usePicker/usePickerViews.ts +++ b/packages/x-date-pickers/src/internals/hooks/usePicker/usePickerViews.ts @@ -122,7 +122,7 @@ export interface UsePickerViewParams< propsFromPickerValue: UsePickerValueViewsResponse; additionalViewProps: TAdditionalProps; autoFocusView: boolean; - fieldRef: React.RefObject> | undefined; + fieldRef?: React.RefObject | null>; /** * A function that intercepts the regular picker rendering. * Can be used to consume the provided `viewRenderers` and render a custom component wrapping them. diff --git a/packages/x-date-pickers/src/internals/hooks/useStaticPicker/useStaticPicker.tsx b/packages/x-date-pickers/src/internals/hooks/useStaticPicker/useStaticPicker.tsx index 08873f535dd21..7c6f79c2914d1 100644 --- a/packages/x-date-pickers/src/internals/hooks/useStaticPicker/useStaticPicker.tsx +++ b/packages/x-date-pickers/src/internals/hooks/useStaticPicker/useStaticPicker.tsx @@ -43,7 +43,6 @@ export const useStaticPicker = < ...pickerParams, props, autoFocusView: autoFocus ?? false, - fieldRef: undefined, additionalViewProps: {}, wrapperVariant: displayStaticWrapperAs, }); diff --git a/packages/x-date-pickers/src/internals/hooks/useUtils.ts b/packages/x-date-pickers/src/internals/hooks/useUtils.ts index a7c2e1d541307..ecf9e269277a5 100644 --- a/packages/x-date-pickers/src/internals/hooks/useUtils.ts +++ b/packages/x-date-pickers/src/internals/hooks/useUtils.ts @@ -53,7 +53,7 @@ export const useDefaultDates = () => export const useNow = (timezone: PickersTimezone): TDate => { const utils = useUtils(); - const now = React.useRef() as React.MutableRefObject; + const now = React.useRef(undefined); if (now.current === undefined) { now.current = utils.date(undefined, timezone); } diff --git a/packages/x-internals/package.json b/packages/x-internals/package.json index 420e89aecbe9a..aa4849250a9cd 100644 --- a/packages/x-internals/package.json +++ b/packages/x-internals/package.json @@ -48,7 +48,7 @@ "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", + "@mui/internal-test-utils": "^1.0.24", "rimraf": "^6.0.1" }, "engines": { diff --git a/packages/x-license/package.json b/packages/x-license/package.json index bb273f14a4544..8b1a3d6615ba5 100644 --- a/packages/x-license/package.json +++ b/packages/x-license/package.json @@ -41,7 +41,7 @@ "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", + "@mui/internal-test-utils": "^1.0.24", "rimraf": "^6.0.1" }, "engines": { diff --git a/packages/x-tree-view-pro/package.json b/packages/x-tree-view-pro/package.json index 67b77a27c94b5..cb2f154725639 100644 --- a/packages/x-tree-view-pro/package.json +++ b/packages/x-tree-view-pro/package.json @@ -70,9 +70,9 @@ } }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", - "@mui/material": "^5.16.7", - "@mui/system": "^5.16.7", + "@mui/internal-test-utils": "^1.0.24", + "@mui/material": "^5.16.13", + "@mui/system": "^5.16.13", "@types/prop-types": "^15.7.13", "rimraf": "^6.0.1" }, diff --git a/packages/x-tree-view/package.json b/packages/x-tree-view/package.json index 3b5fce81a8320..17e32bc3b0532 100644 --- a/packages/x-tree-view/package.json +++ b/packages/x-tree-view/package.json @@ -68,9 +68,9 @@ } }, "devDependencies": { - "@mui/internal-test-utils": "^1.0.17", - "@mui/material": "^5.16.7", - "@mui/system": "^5.16.7", + "@mui/internal-test-utils": "^1.0.24", + "@mui/material": "^5.16.13", + "@mui/system": "^5.16.13", "@types/prop-types": "^15.7.13", "rimraf": "^6.0.1" }, diff --git a/packages/x-tree-view/src/internals/TreeViewProvider/TreeViewProvider.types.ts b/packages/x-tree-view/src/internals/TreeViewProvider/TreeViewProvider.types.ts index bbb2e0dca242e..8152679201c52 100644 --- a/packages/x-tree-view/src/internals/TreeViewProvider/TreeViewProvider.types.ts +++ b/packages/x-tree-view/src/internals/TreeViewProvider/TreeViewProvider.types.ts @@ -21,7 +21,7 @@ export type TreeViewContextValue< Partial> & { instance: TreeViewInstance; publicAPI: TreeViewPublicAPI; - rootRef: React.RefObject; + rootRef: React.RefObject; wrapItem: TreeItemWrapper; wrapRoot: TreeRootWrapper; runItemPlugins: TreeViewItemPluginsRunner; diff --git a/packages/x-tree-view/src/internals/hooks/useInstanceEventHandler.ts b/packages/x-tree-view/src/internals/hooks/useInstanceEventHandler.ts index 796b68309b7ff..519ea9e11402c 100644 --- a/packages/x-tree-view/src/internals/hooks/useInstanceEventHandler.ts +++ b/packages/x-tree-view/src/internals/hooks/useInstanceEventHandler.ts @@ -41,7 +41,7 @@ export function createUseInstanceEventHandler(registryContainer: RegistryContain const subscription = React.useRef<(() => void) | null>(null); const handlerRef = React.useRef< TreeViewEventListener[E]> | undefined - >(); + >(undefined); handlerRef.current = handler; const cleanupTokenRef = React.useRef(null); diff --git a/packages/x-tree-view/src/internals/models/plugin.ts b/packages/x-tree-view/src/internals/models/plugin.ts index cb5e819e30c91..d81bfc289dab4 100644 --- a/packages/x-tree-view/src/internals/models/plugin.ts +++ b/packages/x-tree-view/src/internals/models/plugin.ts @@ -16,7 +16,7 @@ export interface TreeViewPluginOptions; models: TreeViewUsedModels; setState: React.Dispatch>>; - rootRef: React.RefObject; + rootRef: React.RefObject; plugins: TreeViewPlugin[]; } diff --git a/packages/x-tree-view/src/internals/useTreeView/useTreeView.ts b/packages/x-tree-view/src/internals/useTreeView/useTreeView.ts index 09f41ff67af73..4fccb37a93d12 100644 --- a/packages/x-tree-view/src/internals/useTreeView/useTreeView.ts +++ b/packages/x-tree-view/src/internals/useTreeView/useTreeView.ts @@ -62,7 +62,7 @@ export const useTreeView = < const instanceRef = React.useRef({} as TreeViewInstance); const instance = instanceRef.current as TreeViewInstance; const publicAPI = useTreeViewApiInitialization>(apiRef); - const innerRootRef: React.RefObject = React.useRef(null); + const innerRootRef = React.useRef(null); const handleRootRef = useForkRef(innerRootRef, rootRef); const contextValue = useTreeViewBuildContext({ diff --git a/packages/x-tree-view/src/internals/useTreeView/useTreeViewBuildContext.ts b/packages/x-tree-view/src/internals/useTreeView/useTreeViewBuildContext.ts index 288a308346ce0..2add2e27316f7 100644 --- a/packages/x-tree-view/src/internals/useTreeView/useTreeViewBuildContext.ts +++ b/packages/x-tree-view/src/internals/useTreeView/useTreeViewBuildContext.ts @@ -21,7 +21,7 @@ export const useTreeViewBuildContext = ; instance: TreeViewInstance; publicAPI: TreeViewPublicAPI; - rootRef: React.RefObject; + rootRef: React.RefObject; }): TreeViewContextValue => { const runItemPlugins: TreeViewItemPluginsRunner = (itemPluginProps) => { let finalRootRef: React.RefCallback | null = null; diff --git a/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts b/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts index 3d711b079230f..957474d320ffa 100644 --- a/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts +++ b/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts @@ -102,7 +102,7 @@ export interface UseTreeItem2CheckboxSlotOwnProps { checked: boolean; onChange: TreeViewCancellableEventHandler>; disabled: boolean; - ref: React.RefObject; + ref: React.RefObject; tabIndex: -1; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14e053cbe7102..c98e859b074a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - react-is: ^18.3.1 + react-is: ^19.0.0 '@types/node': ^20.16.11 patchedDependencies: @@ -64,46 +64,46 @@ importers: version: 7.25.7(@babel/core@7.25.8) '@babel/preset-typescript': specifier: ^7.25.7 - version: 7.25.7(@babel/core@7.25.8) + version: 7.26.0(@babel/core@7.25.8) '@babel/register': specifier: ^7.25.7 - version: 7.25.7(@babel/core@7.25.8) + version: 7.25.9(@babel/core@7.25.8) '@babel/traverse': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.4 '@babel/types': specifier: ^7.25.8 - version: 7.25.8 + version: 7.26.3 '@emotion/cache': specifier: ^11.13.1 - version: 11.13.1 + version: 11.14.0 '@emotion/react': specifier: ^11.13.3 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.13.0 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/icons-material': - specifier: ^5.16.7 - version: 5.16.7(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/internal-babel-plugin-resolve-imports': specifier: 1.0.18 version: 1.0.18(@babel/core@7.25.8) '@mui/internal-markdown': specifier: ^1.0.19 - version: 1.0.22 + version: 1.0.23 '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/monorepo': - specifier: github:mui/material-ui#7aa841466a01b745012e59e9d201ed50807a022e - version: https://codeload.github.com/mui/material-ui/tar.gz/7aa841466a01b745012e59e9d201ed50807a022e(encoding@0.1.13) + specifier: github:mui/material-ui#356d5dffbcbc1c18b5ab8060a173ea7a3e90b58c + version: https://codeload.github.com/mui/material-ui/tar.gz/356d5dffbcbc1c18b5ab8060a173ea7a3e90b58c(encoding@0.1.13) '@mui/utils': - specifier: ^5.16.6 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@next/eslint-plugin-next': specifier: 14.2.15 version: 14.2.15 @@ -144,14 +144,11 @@ importers: specifier: ^20.16.11 version: 20.16.11 '@types/react': - specifier: ^18.3.12 - version: 18.3.12 + specifier: ^19.0.2 + version: 19.0.2 '@types/react-dom': - specifier: ^18.3.1 - version: 18.3.1 - '@types/react-test-renderer': - specifier: ^18.3.0 - version: 18.3.0 + specifier: ^19.0.2 + version: 19.0.2(@types/react@19.0.2) '@types/requestidlecallback': specifier: ^0.3.7 version: 0.3.7 @@ -291,8 +288,8 @@ importers: specifier: ^5.6.0 version: 5.6.0(webpack@5.95.0) jsdom: - specifier: 24.1.3 - version: 24.1.3 + specifier: 25.0.1 + version: 25.0.1 jss: specifier: ^10.10.0 version: 10.10.0 @@ -322,7 +319,7 @@ importers: version: 5.0.1(webpack@5.95.0) lerna: specifier: ^8.1.8 - version: 8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13) + version: 8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.15))(babel-plugin-macros@3.1.0)(encoding@0.1.13) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -330,8 +327,8 @@ importers: specifier: ^0.14.0 version: 0.14.0 mocha: - specifier: ^10.7.3 - version: 10.7.3 + specifier: ^11.0.1 + version: 11.0.1 moment: specifier: ^2.30.1 version: 2.30.1 @@ -351,11 +348,11 @@ importers: specifier: ^0.11.10 version: 0.11.10 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) remark: specifier: ^15.0.1 version: 15.0.1 @@ -366,8 +363,8 @@ importers: specifier: ^14.2.3 version: 14.2.3 sinon: - specifier: ^18.0.1 - version: 18.0.1 + specifier: ^19.0.2 + version: 19.0.2 stream-browserify: specifier: ^3.0.0 version: 3.0.0 @@ -376,7 +373,7 @@ importers: version: 3.1.0(webpack@5.95.0) terser-webpack-plugin: specifier: ^5.3.10 - version: 5.3.10(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack@5.95.0) + version: 5.3.10(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack@5.95.0) tsx: specifier: ^4.19.1 version: 4.19.1 @@ -391,7 +388,7 @@ importers: version: 0.12.5 webpack: specifier: ^5.95.0 - version: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + version: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) webpack-bundle-analyzer: specifier: ^4.10.2 version: 4.10.2 @@ -409,52 +406,52 @@ importers: version: 7.25.8 '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@babel/runtime-corejs2': specifier: ^7.25.7 version: 7.25.7 '@docsearch/react': specifier: ^3.6.2 - version: 3.6.2(@algolia/client-search@4.22.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0) + version: 3.6.2(@algolia/client-search@4.22.1)(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.13.0) '@emotion/cache': specifier: ^11.13.1 - version: 11.13.1 + version: 11.14.0 '@emotion/react': specifier: ^11.13.3 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/server': specifier: ^11.11.0 version: 11.11.0 '@emotion/styled': specifier: ^11.13.0 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/docs': - specifier: 6.1.6 - version: 6.1.6(53xkipdzpp66uriexrip26qzlm) + specifier: 6.3.0 + version: 6.3.0(mmytrcjsoe6rad3zypitgdphum) '@mui/icons-material': - specifier: ^5.16.7 - version: 5.16.7(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/joy': - specifier: ^5.0.0-beta.48 - version: 5.0.0-beta.48(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.0.0-beta.51 + version: 5.0.0-beta.51(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/lab': - specifier: ^5.0.0-alpha.173 - version: 5.0.0-alpha.173(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.0.0-alpha.175 + version: 5.0.0-alpha.175(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material-nextjs': - specifier: ^5.16.6 - version: 5.16.6(@emotion/cache@11.13.1)(@emotion/server@11.11.0)(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(next@14.2.15(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/cache@11.14.0)(@emotion/server@11.11.0)(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(next@15.1.3(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) '@mui/styles': - specifier: ^5.16.7 - version: 5.16.7(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': - specifier: ^5.16.6 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-charts': specifier: workspace:* version: link:../packages/x-charts/build @@ -484,7 +481,7 @@ importers: version: link:../packages/x-tree-view/build '@react-spring/web': specifier: ^9.7.5 - version: 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tanstack/query-core': specifier: ^5.59.13 version: 5.59.13 @@ -562,7 +559,7 @@ importers: version: 1.5.0 markdown-to-jsx: specifier: ^7.5.0 - version: 7.5.0(react@18.3.1) + version: 7.5.0(react@19.0.0) moment: specifier: ^2.30.1 version: 2.30.1 @@ -576,8 +573,8 @@ importers: specifier: ^0.5.46 version: 0.5.46 next: - specifier: ^14.2.15 - version: 14.2.15(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^15.1.3 + version: 15.1.3(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nprogress: specifier: ^0.2.0 version: 0.2.0 @@ -591,32 +588,32 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-docgen: specifier: ^5.4.3 version: 5.4.3 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) react-hook-form: specifier: ^7.53.0 - version: 7.53.0(react@18.3.1) + version: 7.53.0(react@19.0.0) react-is: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-router: specifier: ^6.27.0 - version: 6.27.0(react@18.3.1) + version: 6.27.0(react@19.0.0) react-router-dom: specifier: ^6.27.0 - version: 6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-runner: specifier: ^1.0.5 - version: 1.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.0.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-simple-code-editor: specifier: ^0.14.1 - version: 0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 0.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) recast: specifier: ^0.23.9 version: 0.23.9 @@ -628,7 +625,7 @@ importers: version: 7.8.1 styled-components: specifier: ^6.1.13 - version: 6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.1.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0) stylis: specifier: ^4.3.4 version: 4.3.4 @@ -644,7 +641,7 @@ importers: version: 7.25.7(@babel/core@7.25.8) '@babel/preset-typescript': specifier: ^7.25.7 - version: 7.25.7(@babel/core@7.25.8) + version: 7.26.0(@babel/core@7.25.8) '@mui/internal-docs-utils': specifier: ^1.0.14 version: 1.0.14 @@ -682,8 +679,8 @@ importers: specifier: ^15.7.13 version: 15.7.13 '@types/react-dom': - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.2 + version: 19.0.2(@types/react@19.0.2) '@types/react-router-dom': specifier: ^5.3.3 version: 5.3.3 @@ -692,7 +689,7 @@ importers: version: 4.2.6 '@types/webpack-bundle-analyzer': specifier: ^4.7.0 - version: 4.7.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + version: 4.7.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) gm: specifier: ^1.25.0 version: 1.25.0 @@ -732,16 +729,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-charts-vendor': specifier: workspace:* version: link:../x-charts-vendor @@ -753,7 +750,7 @@ importers: version: 9.7.5 '@react-spring/web': specifier: ^9.7.5 - version: 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -762,26 +759,26 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@react-spring/core': specifier: ^9.7.5 - version: 9.7.5(react@18.3.1) + version: 9.7.5(react@19.0.0) '@react-spring/shared': specifier: ^9.7.5 - version: 9.7.5(react@18.3.1) + version: 9.7.5(react@19.0.0) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -797,16 +794,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-charts': specifier: workspace:* version: link:../x-charts/build @@ -824,7 +821,7 @@ importers: version: 9.7.5 '@react-spring/web': specifier: ^9.7.5 - version: 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -833,23 +830,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) devDependencies: '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@react-spring/core': specifier: ^9.7.5 - version: 9.7.5(react@18.3.1) + version: 9.7.5(react@19.0.0) '@react-spring/shared': specifier: ^9.7.5 - version: 9.7.5(react@18.3.1) + version: 9.7.5(react@19.0.0) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -865,7 +862,7 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@types/d3-color': specifier: ^3.1.3 version: 3.1.3 @@ -938,7 +935,7 @@ importers: version: 4.1.0 execa: specifier: ^9.4.0 - version: 9.5.1 + version: 9.5.2 internmap: specifier: ^2.0.3 version: 2.0.3 @@ -953,10 +950,10 @@ importers: version: 7.25.8 '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@babel/traverse': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.4 jscodeshift: specifier: 17.0.0 version: 17.0.0(@babel/preset-env@7.25.8(@babel/core@7.25.8)) @@ -982,16 +979,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-internals': specifier: workspace:* version: link:../x-internals/build @@ -1003,29 +1000,29 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) reselect: specifier: ^5.1.1 version: 5.1.1 devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/joy': - specifier: ^5.0.0-beta.48 - version: 5.0.0-beta.48(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.0.0-beta.51 + version: 5.0.0-beta.51(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/types': - specifier: ^7.2.15 - version: 7.2.15(@types/react@18.3.12) + specifier: ^7.2.20 + version: 7.2.20(@types/react@19.0.2) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -1038,13 +1035,13 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/x-data-grid-premium': specifier: workspace:* version: link:../x-data-grid-premium/build @@ -1059,14 +1056,14 @@ importers: version: 11.0.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 devDependencies: '@mui/icons-material': - specifier: ^5.16.7 - version: 5.16.7(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/chance': specifier: ^1.1.6 version: 1.1.6 @@ -1079,16 +1076,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-data-grid': specifier: workspace:* version: link:../x-data-grid/build @@ -1115,23 +1112,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) reselect: specifier: ^5.1.1 version: 5.1.1 devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -1147,16 +1144,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-data-grid': specifier: workspace:* version: link:../x-data-grid/build @@ -1177,23 +1174,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) reselect: specifier: ^5.1.1 version: 5.1.1 devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -1206,16 +1203,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-internals': specifier: workspace:* version: link:../x-internals/build @@ -1230,23 +1227,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) react-transition-group: specifier: ^4.4.5 - version: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@types/luxon': specifier: ^3.4.2 version: 3.4.2 @@ -1292,16 +1289,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-date-pickers': specifier: workspace:* version: link:../x-date-pickers/build @@ -1325,23 +1322,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) react-transition-group: specifier: ^4.4.5 - version: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@types/luxon': specifier: ^3.4.2 version: 3.4.2 @@ -1372,17 +1369,17 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -1392,17 +1389,17 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -1412,16 +1409,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-internals': specifier: workspace:* version: link:../x-internals/build @@ -1436,23 +1433,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) react-transition-group: specifier: ^4.4.5 - version: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -1465,16 +1462,16 @@ importers: dependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/react': specifier: ^11.9.0 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@emotion/styled': specifier: ^11.8.1 - version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + version: 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@mui/utils': specifier: ^5.16.6 || ^6.0.0 - version: 5.16.6(@types/react@18.3.12)(react@18.3.1) + version: 5.16.13(@types/react@19.0.2)(react@19.0.0) '@mui/x-internals': specifier: workspace:* version: link:../x-internals/build @@ -1495,23 +1492,23 @@ importers: version: 15.8.1 react: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1 + version: 19.0.0 react-dom: specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 - version: 18.3.1(react@18.3.1) + version: 19.0.0(react@19.0.0) react-transition-group: specifier: ^4.4.5 - version: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) devDependencies: '@mui/internal-test-utils': - specifier: ^1.0.17 - version: 1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.0.24 + version: 1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/system': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) '@types/prop-types': specifier: ^15.7.13 version: 15.7.13 @@ -1524,16 +1521,16 @@ importers: devDependencies: '@babel/runtime': specifier: ^7.25.7 - version: 7.25.7 + version: 7.26.0 '@emotion/cache': specifier: ^11.13.1 - version: 11.13.1 + version: 11.14.0 '@emotion/react': specifier: ^11.13.3 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@mui/material': - specifier: ^5.16.7 - version: 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^5.16.13 + version: 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mui/x-charts': specifier: workspace:* version: link:../packages/x-charts/build @@ -1563,7 +1560,7 @@ importers: version: 1.44.1 '@react-spring/web': specifier: ^9.7.5 - version: 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/chai': specifier: ^4.3.20 version: 4.3.20 @@ -1577,8 +1574,8 @@ importers: specifier: ^15.7.13 version: 15.7.13 '@types/react': - specifier: ^18.3.12 - version: 18.3.12 + specifier: ^19.0.2 + version: 19.0.2 '@types/semver': specifier: ^7.5.8 version: 7.5.8 @@ -1598,14 +1595,14 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) react-router-dom: specifier: ^6.27.0 - version: 6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) semver: specifier: ^7.6.3 version: 7.6.3 @@ -1623,7 +1620,7 @@ importers: version: 3.1.1(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0))(vitest@2.1.2) '@emotion/react': specifier: ^11.13.3 - version: 11.13.3(@types/react@18.3.12)(react@18.3.1) + version: 11.14.0(@types/react@19.0.2)(react@19.0.0) '@mui/x-charts': specifier: workspace:* version: link:../../packages/x-charts/build @@ -1634,8 +1631,8 @@ importers: specifier: ^6.5.0 version: 6.5.0 '@testing-library/react': - specifier: ^16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^16.1.0 + version: 16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) @@ -1644,22 +1641,22 @@ importers: version: 4.3.2(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0)) '@vitejs/plugin-react-swc': specifier: ^3.7.1 - version: 3.7.1(@swc/helpers@0.5.5)(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0)) + version: 3.7.1(@swc/helpers@0.5.15)(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0)) '@vitest/ui': specifier: 2.1.2 version: 2.1.2(vitest@2.1.2) jsdom: - specifier: ^24.1.3 - version: 24.1.3 + specifier: ^25.0.1 + version: 25.0.1 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) vitest: specifier: 2.1.2 - version: 2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@24.1.3)(terser@5.27.0) + version: 2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@25.0.1)(terser@5.27.0) packages: @@ -1770,8 +1767,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/code-frame@7.25.7': - resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} '@babel/compat-data@7.25.8': @@ -1782,12 +1779,12 @@ packages: resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.7': - resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.25.7': - resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} engines: {node: '>=6.9.0'} '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': @@ -1798,8 +1795,8 @@ packages: resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.25.7': - resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1815,26 +1812,26 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-member-expression-to-functions@7.25.7': - resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.25.7': - resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.7': - resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.25.7': - resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.25.7': - resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} engines: {node: '>=6.9.0'} '@babel/helper-remap-async-to-generator@7.25.7': @@ -1843,30 +1840,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.25.7': - resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} + '@babel/helper-replace-supers@7.25.9': + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.25.7': - resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.25.7': - resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.25.7': - resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.7': - resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.7': - resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} '@babel/helper-wrap-function@7.25.7': @@ -1877,10 +1870,6 @@ packages: resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.7': - resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} - engines: {node: '>=6.9.0'} - '@babel/node@7.25.7': resolution: {integrity: sha512-SLrRogiTuneH3mZeZQtWBECyVRtznezYdnH4UjatZjHrk/QP+GH9bqsToCWp23pPeA20NO1/p8kECzWt5TTpUA==} engines: {node: '>=6.9.0'} @@ -1888,8 +1877,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/parser@7.25.8': - resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==} + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} engines: {node: '>=6.0.0'} hasBin: true @@ -1959,14 +1948,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.25.7': - resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.7': - resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2121,8 +2110,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.25.7': - resolution: {integrity: sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==} + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2301,8 +2290,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.25.7': - resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==} + '@babel/plugin-transform-typescript@7.26.3': + resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2354,14 +2343,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.25.7': - resolution: {integrity: sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==} + '@babel/preset-typescript@7.26.0': + resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/register@7.25.7': - resolution: {integrity: sha512-qHTd2Rhn/rKhSUwdY6+n98FmwXN+N+zxSVx3zWqRe9INyvTpv+aQ5gDV2+43ACd3VtMBzPPljbb0gZb8u5ma6Q==} + '@babel/register@7.25.9': + resolution: {integrity: sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2370,24 +2359,20 @@ packages: resolution: {integrity: sha512-xdsLBlDCJIZzwH1fBJ7GJu+bRFO0Sqv10WotmwMu83Joep1erPcWbTr84rZD42kPzSjtmrFgshdWHKfQTWOsng==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.25.7': - resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.26.0': resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.7': - resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.7': - resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.8': - resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -2433,11 +2418,11 @@ packages: '@emnapi/runtime@1.2.0': resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} - '@emotion/babel-plugin@11.12.0': - resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} - '@emotion/cache@11.13.1': - resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==} + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} '@emotion/hash@0.9.2': resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} @@ -2454,8 +2439,8 @@ packages: '@emotion/memoize@0.9.0': resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} - '@emotion/react@11.13.3': - resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} + '@emotion/react@11.14.0': + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -2463,8 +2448,8 @@ packages: '@types/react': optional: true - '@emotion/serialize@1.3.1': - resolution: {integrity: sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==} + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} '@emotion/server@11.11.0': resolution: {integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==} @@ -2493,13 +2478,13 @@ packages: '@emotion/unitless@0.8.1': resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} - '@emotion/use-insertion-effect-with-fallbacks@1.1.0': - resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==} + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} peerDependencies: react: '>=16.8.0' - '@emotion/utils@1.4.0': - resolution: {integrity: sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==} + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} @@ -2990,8 +2975,8 @@ packages: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.1': @@ -3015,22 +3000,22 @@ packages: resolution: {integrity: sha512-wi72R01tgjBjzG2kjRyTHl4yCTKDfDMIXRyKz9E/FBa9SkFvUOAE4bdyY9MhEsRZmSWL7+CYE8Flv/HScRpBbA==} engines: {node: '>=18.0.0'} - '@mui/base@5.0.0-beta.40': - resolution: {integrity: sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==} + '@mui/base@5.0.0-beta.40-0': + resolution: {integrity: sha512-hG3atoDUxlvEy+0mqdMpWd04wca8HKr2IHjW/fAjlkCHQolSLazhZM46vnHjOf15M4ESu25mV/3PgjczyjVM4w==} engines: {node: '>=12.0.0'} peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/core-downloads-tracker@5.16.7': - resolution: {integrity: sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==} + '@mui/core-downloads-tracker@5.16.13': + resolution: {integrity: sha512-xe5RwI0Q2O709Bd2Y7l1W1NIwNmln0y+xaGk5VgX3vDJbkQEqzdfTFZ73e0CkEZgJwyiWgk5HY0l8R4nysOxjw==} - '@mui/docs@6.1.6': - resolution: {integrity: sha512-RSDuaanoDUHYSAjm+Stia9MvDHVElw0cFC4lo/Ekw8cZ22ke90KB6YKE7hqnqr2+knUfBvOcQxLJrJfkLElyiQ==} + '@mui/docs@6.3.0': + resolution: {integrity: sha512-JA3gVXUgstlb+RtacUx+x+oqdYP5+FNb4mQVuDu+nNfGYtb4gMjakZYriW0dBWw2jq/n9YXHjabf4QFil8HKfg==} engines: {node: '>=14.0.0'} peerDependencies: '@mui/base': '*' @@ -3040,19 +3025,19 @@ packages: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 chai: ^4.4.1 csstype: ^3.1.3 - next: ^13.5.1 || ^14 + next: ^13.5.1 || ^14 || ^15.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/icons-material@5.16.7': - resolution: {integrity: sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q==} + '@mui/icons-material@5.16.13': + resolution: {integrity: sha512-aWyOgGDEqj37m3K4F6qUfn7JrEccwiDynJtGQMFbxp94EqyGwO13TKcZ4O8aHdwW3tG63hpbION8KyUoBWI4JQ==} engines: {node: '>=12.0.0'} peerDependencies: '@mui/material': ^5.0.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true @@ -3065,27 +3050,27 @@ packages: '@mui/internal-docs-utils@1.0.14': resolution: {integrity: sha512-jb8RyzoGkV8zvTJndB4An95WCasbDwmDiTibw2YQaUh3+4XiAX3jS2XUB9ab3BxMv3TDCCywL5g0viB1bxQVBw==} - '@mui/internal-markdown@1.0.22': - resolution: {integrity: sha512-js8VF3uDbHjV3gByPVZBcVF0sGkKM22MhFoxKw+W0nGMj6cy1+68Jg3jspFz38diGRqv4lElz9rL31YjY45U9w==} + '@mui/internal-markdown@1.0.23': + resolution: {integrity: sha512-TX8RQR2w36NSWCWWWR0828bXUjYCn9RXJ4gq2/+95O67iIAQPwST0ZsIGAqIqjQU116oPefMbdID9nMAFrIV2A==} '@mui/internal-scripts@1.0.24': resolution: {integrity: sha512-omDYril4RiR8PSmPWkja16BjNyGkcj7N9sK1Ul9pSVpKSw8LF4BUxLOkF5NzAfDxNQgoZp+7DJPWBm9c/hmC+A==} - '@mui/internal-test-utils@1.0.17': - resolution: {integrity: sha512-tLOlGMIkDIUnExfl+3LoaV60PWniOjfv44C5gCVW6PDhg0O0P5T1E2vM1zvOwm4T7xM+6IKY9E5BKcEUsdpqaQ==} + '@mui/internal-test-utils@1.0.24': + resolution: {integrity: sha512-+5FmCTcyBirtjG13nb72KOWhLf6fv98M57BSdnGoItEeJdLUpjLqh4DTVg3S0DP8tzNPSz+aQomJpsID2edHOQ==} peerDependencies: - react: ^18.2.0 - react-dom: ^18.2.0 + react: ^19.0.0 + react-dom: ^19.0.0 - '@mui/joy@5.0.0-beta.48': - resolution: {integrity: sha512-OhTvjuGl9I5IvpBr0BQyDehIW/xb2yteW6YglHJMdOb/279nItn76X1NBtPV9ImldNlBjReGwvpOXmBTTGER9w==} + '@mui/joy@5.0.0-beta.51': + resolution: {integrity: sha512-0M+aSSm291CnVLIdQP1di538zD/kekRYSzm+5hWattpGiXvUAYRQMKV4XFcs/dCsr0tkMpVT3dIdmbu6YP2r7g==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/react': optional: true @@ -3094,16 +3079,16 @@ packages: '@types/react': optional: true - '@mui/lab@5.0.0-alpha.173': - resolution: {integrity: sha512-Gt5zopIWwxDgGy/MXcp6GueD84xFFugFai4hYiXY0zowJpTVnIrTQCQXV004Q7rejJ7aaCntX9hpPJqCrioshA==} + '@mui/lab@5.0.0-alpha.175': + resolution: {integrity: sha512-AvM0Nvnnj7vHc9+pkkQkoE1i+dEbr6gsMdnSfy7X4w3Ljgcj1yrjZhIt3jGTCLzyKVLa6uve5eLluOcGkvMqUA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 '@mui/material': '>=5.15.0' - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/react': optional: true @@ -3112,16 +3097,16 @@ packages: '@types/react': optional: true - '@mui/material-nextjs@5.16.6': - resolution: {integrity: sha512-Y64ybP5Pmy+GCUcu3SuMnc25CqFwBQkRn6XNXyhvc1mhR48Iq0oFKjoO5ncqfhm58OwPClIRW2tecP/PTdGNJw==} + '@mui/material-nextjs@5.16.13': + resolution: {integrity: sha512-sCx257xcigd9IPNqK5IMBeCCNukgcSKsmZKO2GwvGRu2sGE+TcZjzBwONIEnW3AKBGE/EqjFkyjc1maJ0TBHQw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/cache': ^11.11.0 '@emotion/server': ^11.11.0 '@mui/material': ^5.0.0 - '@types/react': ^17.0.0 || ^18.0.0 - next: ^13.0.0 || ^14.0.0 - react: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + next: ^13.0.0 || ^14.0.0 || ^15.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/cache': optional: true @@ -3130,15 +3115,15 @@ packages: '@types/react': optional: true - '@mui/material@5.16.7': - resolution: {integrity: sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==} + '@mui/material@5.16.13': + resolution: {integrity: sha512-FhLDkDPYDzvrWCHFsdXzRArhS4AdYufU8d69rmLL+bwhodPcbm2C7cS8Gq5VR32PsW6aKZb58gvAgvEVaiiJbA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/react': optional: true @@ -3147,52 +3132,52 @@ packages: '@types/react': optional: true - '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/7aa841466a01b745012e59e9d201ed50807a022e': - resolution: {tarball: https://codeload.github.com/mui/material-ui/tar.gz/7aa841466a01b745012e59e9d201ed50807a022e} - version: 6.1.8 - engines: {pnpm: 9.13.2} + '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/356d5dffbcbc1c18b5ab8060a173ea7a3e90b58c': + resolution: {tarball: https://codeload.github.com/mui/material-ui/tar.gz/356d5dffbcbc1c18b5ab8060a173ea7a3e90b58c} + version: 6.2.0 + engines: {pnpm: 9.14.4} - '@mui/private-theming@5.16.6': - resolution: {integrity: sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==} + '@mui/private-theming@5.16.13': + resolution: {integrity: sha512-+s0FklvDvO7j0yBZn19DIIT3rLfub2fWvXGtMX49rG/xHfDFcP7fbWbZKHZMMP/2/IoTRDrZCbY1iP0xZlmuJA==} engines: {node: '>=12.0.0'} peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/styled-engine@5.16.6': - resolution: {integrity: sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==} + '@mui/styled-engine@5.16.13': + resolution: {integrity: sha512-2XNHEG8/o1ucSLhTA9J+HIIXjzlnEc0OV7kneeUQ5JukErPYT2zc6KYBDLjlKWrzQyvnQzbiffjjspgHUColZg==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.4.1 '@emotion/styled': ^11.3.0 - react: ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/react': optional: true '@emotion/styled': optional: true - '@mui/styles@5.16.7': - resolution: {integrity: sha512-FfXhHP/2MlqH+vLs2tIHMeCChmqSRgkOALVNLKkPrDsvtoq5J8OraOutCn1scpvRjr9mO8ZhW6jKx2t/vUDxtQ==} + '@mui/styles@5.16.13': + resolution: {integrity: sha512-cz/i2npBmy3PfZ94OH7vHyToDXai3Xlo7DjerO7N2C1E/Xv6oh6cRX5EyQyj4z3IzWS4hXOBoInRiWN3iG/95Q==} engines: {node: '>=12.0.0'} peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/system@5.16.7': - resolution: {integrity: sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==} + '@mui/system@5.16.13': + resolution: {integrity: sha512-JnO3VH3yNoAmgyr44/2jiS1tcNwshwAqAaG5fTEEjHQbkuZT/mvPYj2GC1cON0zEQ5V03xrCNl/D+gU9AXibpw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/react': optional: true @@ -3201,20 +3186,20 @@ packages: '@types/react': optional: true - '@mui/types@7.2.15': - resolution: {integrity: sha512-nbo7yPhtKJkdf9kcVOF8JZHPZTmqXjJ/tI0bdWgHg5tp9AnIN4Y7f7wm9T+0SyGYJk76+GYZ8Q5XaTYAsUHN0Q==} + '@mui/types@7.2.20': + resolution: {integrity: sha512-straFHD7L8v05l/N5vcWk+y7eL9JF0C2mtph/y4BPm3gn2Eh61dDwDB65pa8DLss3WJfDXYC7Kx5yjP0EmXpgw==} peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/utils@5.16.6': - resolution: {integrity: sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==} + '@mui/utils@5.16.13': + resolution: {integrity: sha512-35kLiShnDPByk57Mz4PP66fQUodCFiOD92HfpW6dK9lc7kjhZsKHRKeYPgWuwEHeXwYsCSFtBCW4RZh/8WT+TQ==} engines: {node: '>=12.0.0'} peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true @@ -3231,62 +3216,56 @@ packages: resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==} engines: {node: '>=18.0.0'} - '@next/env@14.2.15': - resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} + '@next/env@15.1.3': + resolution: {integrity: sha512-Q1tXwQCGWyA3ehMph3VO+E6xFPHDKdHFYosadt0F78EObYxPio0S09H9UGYznDe6Wc8eLKLG89GqcFJJDiK5xw==} '@next/eslint-plugin-next@14.2.15': resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==} - '@next/swc-darwin-arm64@14.2.15': - resolution: {integrity: sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==} + '@next/swc-darwin-arm64@15.1.3': + resolution: {integrity: sha512-aZtmIh8jU89DZahXQt1La0f2EMPt/i7W+rG1sLtYJERsP7GRnNFghsciFpQcKHcGh4dUiyTB5C1X3Dde/Gw8gg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.15': - resolution: {integrity: sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==} + '@next/swc-darwin-x64@15.1.3': + resolution: {integrity: sha512-aw8901rjkVBK5mbq5oV32IqkJg+CQa6aULNlN8zyCWSsePzEG3kpDkAFkkTOh3eJ0p95KbkLyWBzslQKamXsLA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.2.15': - resolution: {integrity: sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==} + '@next/swc-linux-arm64-gnu@15.1.3': + resolution: {integrity: sha512-YbdaYjyHa4fPK4GR4k2XgXV0p8vbU1SZh7vv6El4bl9N+ZSiMfbmqCuCuNU1Z4ebJMumafaz6UCC2zaJCsdzjw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.15': - resolution: {integrity: sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==} + '@next/swc-linux-arm64-musl@15.1.3': + resolution: {integrity: sha512-qgH/aRj2xcr4BouwKG3XdqNu33SDadqbkqB6KaZZkozar857upxKakbRllpqZgWl/NDeSCBYPmUAZPBHZpbA0w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.15': - resolution: {integrity: sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==} + '@next/swc-linux-x64-gnu@15.1.3': + resolution: {integrity: sha512-uzafnTFwZCPN499fNVnS2xFME8WLC9y7PLRs/yqz5lz1X/ySoxfaK2Hbz74zYUdEg+iDZPd8KlsWaw9HKkLEVw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.15': - resolution: {integrity: sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==} + '@next/swc-linux-x64-musl@15.1.3': + resolution: {integrity: sha512-el6GUFi4SiDYnMTTlJJFMU+GHvw0UIFnffP1qhurrN1qJV3BqaSRUjkDUgVV44T6zpw1Lc6u+yn0puDKHs+Sbw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.2.15': - resolution: {integrity: sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==} + '@next/swc-win32-arm64-msvc@15.1.3': + resolution: {integrity: sha512-6RxKjvnvVMM89giYGI1qye9ODsBQpHSHVo8vqA8xGhmRPZHDQUE4jcDbhBwK0GnFMqBnu+XMg3nYukNkmLOLWw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.15': - resolution: {integrity: sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@next/swc-win32-x64-msvc@14.2.15': - resolution: {integrity: sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==} + '@next/swc-win32-x64-msvc@15.1.3': + resolution: {integrity: sha512-VId/f5blObG7IodwC5Grf+aYP0O8Saz1/aeU3YcWqNdIUAmFQY3VEPKPaIzfv32F/clvanOb2K2BR5DtDs6XyQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3808,43 +3787,40 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@sinonjs/commons@2.0.0': - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@11.2.2': - resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + '@sinonjs/fake-timers@13.0.5': + resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - '@sinonjs/samsam@8.0.0': - resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + '@sinonjs/samsam@8.0.2': + resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} - '@sinonjs/text-encoding@0.7.2': - resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} + '@sinonjs/text-encoding@0.7.3': + resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} - '@slack/bolt@4.1.0': - resolution: {integrity: sha512-7XlTziPVLQn8RXNuOTzsJh/wrkX4YUZr1UpX25MpfDdMpp28Y4TrtIvYDh6GV90uNscdHJhOJcpqLq6ibqfGfg==} + '@slack/bolt@4.2.0': + resolution: {integrity: sha512-KQGUkC37t6DUR+FVglHmcUrMpdCLbY9wpZXfjW6CUNmQnINits+EeOrVN/5xPcISKJcBIhqgrarLpwU9tpESTw==} engines: {node: '>=18', npm: '>=8.6.0'} '@slack/logger@4.0.0': resolution: {integrity: sha512-Wz7QYfPAlG/DR+DfABddUZeNgoeY7d1J39OCR2jR+v7VBsB8ezulDK5szTnDDPDwLH5IWhLvXIHlCFZV7MSKgA==} engines: {node: '>= 18', npm: '>= 8.6.0'} - '@slack/oauth@3.0.1': - resolution: {integrity: sha512-TuR9PI6bYKX6qHC7FQI4keMnhj45TNfSNQtTU3mtnHUX4XLM2dYLvRkUNADyiLTle2qu2rsOQtCIsZJw6H0sDA==} + '@slack/oauth@3.0.2': + resolution: {integrity: sha512-MdPS8AP9n3u/hBeqRFu+waArJLD/q+wOSZ48ktMTwxQLc6HJyaWPf8soqAyS/b0D6IlvI5TxAdyRyyv3wQ5IVw==} engines: {node: '>=18', npm: '>=8.6.0'} - '@slack/socket-mode@2.0.2': - resolution: {integrity: sha512-WSLBnGY9eE19jx6QLIP78oFpxNVU74soDIP0dupi35MFY6WfLBAikbuy4Y/rR4v9eJ7MNnd5/BdQNETgv32F8Q==} + '@slack/socket-mode@2.0.3': + resolution: {integrity: sha512-aY1AhQd3HAgxLYC2Mz47dXtW6asjyYp8bJ24MWalg+qFWPaXj8VBYi+5w3rfGqBW5IxlIhs3vJTEQtIBrqQf5A==} engines: {node: '>= 18', npm: '>= 8.6.0'} '@slack/types@2.13.0': resolution: {integrity: sha512-OAQVtKYIgBVNRmgIoiTjorGPTlgfcfstU3XYYCBA+czlB9aGcKb9MQc+6Jovi4gq3S98yP/GPBZsJSI/2mHKDQ==} engines: {node: '>= 12.13.0', npm: '>= 6.12.0'} - '@slack/web-api@7.7.0': - resolution: {integrity: sha512-DtRyjgQi0mObA2uC6H8nL2OhAISKDhvtOXgRjGRBnBhiaWb6df5vPmKHsOHjpweYALBMHtiqE5ajZFkDW/ag8Q==} + '@slack/web-api@7.8.0': + resolution: {integrity: sha512-d4SdG+6UmGdzWw38a4sN3lF/nTEzsDxhzU13wm10ejOpPehtmRoqBKnPztQUfFiWbNvSb4czkWYJD4kt+5+Fuw==} engines: {node: '>= 18', npm: '>= 8.6.0'} '@socket.io/component-emitter@3.1.0': @@ -3922,8 +3898,8 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.5': - resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} '@swc/types@0.1.13': resolution: {integrity: sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==} @@ -3939,15 +3915,15 @@ packages: resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/react@16.0.1': - resolution: {integrity: sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==} + '@testing-library/react@16.1.0': + resolution: {integrity: sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 - '@types/react': ^18.0.0 - '@types/react-dom': ^18.0.0 - react: ^18.0.0 - react-dom: ^18.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true @@ -3987,9 +3963,6 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} - '@types/chai-dom@1.11.3': resolution: {integrity: sha512-EUEZI7uID4ewzxnU7DJXtyvykhQuwe+etJ1wwOiJyQRTH/ifMWKX+ghiXkxCUvNJ6IQDodf0JXhuP6zZcy2qXQ==} @@ -3999,9 +3972,6 @@ packages: '@types/chance@1.1.6': resolution: {integrity: sha512-V+pm3stv1Mvz8fSKJJod6CglNGVqEQ6OyuqitoDkWywEODM/eJd1eSuIp9xt6DrX8BWZ2eDSIzbw1tPCUTvGbQ==} - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/cookie@0.4.1': resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} @@ -4053,12 +4023,6 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/express-serve-static-core@4.17.42': - resolution: {integrity: sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==} - - '@types/express@4.17.21': - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} - '@types/format-util@1.0.4': resolution: {integrity: sha512-xrCYOdHh5zA3LUrn6CvspYwlzSWxPso11Lx32WnAG6KvLCRecKZ/Rh21PLXUkzUFsQmrGcx/traJAFjR6dVS5Q==} @@ -4074,9 +4038,6 @@ packages: '@types/html-minifier-terser@6.1.0': resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - '@types/http-errors@2.0.4': - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -4107,12 +4068,6 @@ packages: '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - - '@types/mime@3.0.4': - resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - '@types/minimatch@3.0.5': resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -4143,14 +4098,10 @@ packages: '@types/prop-types@15.7.13': resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - '@types/qs@6.9.11': - resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} - - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - - '@types/react-dom@18.3.1': - resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-dom@19.0.2': + resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} + peerDependencies: + '@types/react': ^19.0.0 '@types/react-router-dom@5.3.3': resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} @@ -4158,14 +4109,11 @@ packages: '@types/react-router@5.1.20': resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - '@types/react-test-renderer@18.3.0': - resolution: {integrity: sha512-HW4MuEYxfDbOHQsVlY/XtOvNHftCVEPhJF2pQXXwcUiUF+Oyb0usgp48HSgpK5rt8m9KZb22yqOeZm+rrVG8gw==} - '@types/react-transition-group@4.4.11': resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==} - '@types/react@18.3.12': - resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + '@types/react@19.0.2': + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} '@types/requestidlecallback@0.3.7': resolution: {integrity: sha512-5/EwNH3H/+M2zxATq9UidyD7rCq3WhK5Te/XhdhqP270QoGInVkoNBj6kK2Ah5slkZewkX8XJb7WDaYhmJu+eg==} @@ -4176,12 +4124,6 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/send@0.17.4': - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} - - '@types/serve-static@1.15.5': - resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} - '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -4481,8 +4423,8 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} aggregate-error@3.1.0: @@ -4723,8 +4665,8 @@ packages: resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} engines: {node: '>=4'} - axios@1.7.5: - resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -5378,8 +5320,8 @@ packages: resolution: {integrity: sha512-kAijbny3GmdOi9k+QT6DGIXqFvL96aksNlGr4Rhk9qXDZYWUojU4bRc3IHWxdaLNOqgEZHuXoe5Wl2l7dxLW5g==} engines: {node: '>=10.0.0'} - cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + cssstyle@4.1.0: + resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==} engines: {node: '>=18'} csstype@3.1.3: @@ -5520,6 +5462,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -5628,6 +5579,10 @@ packages: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} + engines: {node: '>=0.3.1'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -6094,8 +6049,8 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - execa@9.5.1: - resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} + execa@9.5.2: + resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} engines: {node: ^18.19.0 || >=20.5.0} expand-tilde@2.0.2: @@ -6268,8 +6223,8 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} format-util@1.0.5: @@ -6453,6 +6408,10 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + glob@11.0.0: resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} engines: {node: 20 || >=22} @@ -6466,11 +6425,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - glob@9.3.5: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} @@ -6664,8 +6618,8 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - https-proxy-agent@7.0.5: - resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} human-signals@2.1.0: @@ -7051,6 +7005,9 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.0.1: resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} engines: {node: 20 || >=22} @@ -7100,8 +7057,8 @@ packages: resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} engines: {node: '>=12.0.0'} - jsdom@24.1.3: - resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} peerDependencies: canvas: ^2.11.2 @@ -7114,6 +7071,11 @@ packages: engines: {node: '>=6'} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} @@ -7575,8 +7537,8 @@ packages: resolution: {integrity: sha512-wgp8yesWjFBL7bycA3hxwHRdsZGJhjhyP1dSxKVKrza0EPFYtn+mHtkVy6dvP1kGSjovyG5B8yNP6Frj0UFUJg==} engines: {node: '>=18'} - marked@15.0.3: - resolution: {integrity: sha512-Ai0cepvl2NHnTcO9jYDtcOEtVBNVYR31XnEA3BndO7f5As1wzpcOceSUM8FDkNLJNIODcLpDTWay/qQhqbuMvg==} + marked@15.0.4: + resolution: {integrity: sha512-TCHvDqmb3ZJ4PWG7VEGVgtefA5/euFmsIhxtD0XsBxI39gUSKL81mIRFdt0AiNQozUahd4ke98ZdirExd/vSEw==} engines: {node: '>= 18'} hasBin: true @@ -7758,8 +7720,8 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} minimist-options@4.1.0: @@ -7818,9 +7780,9 @@ packages: engines: {node: '>=10'} hasBin: true - mocha@10.7.3: - resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} - engines: {node: '>= 14.0.0'} + mocha@11.0.1: + resolution: {integrity: sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true modify-values@1.0.1: @@ -7895,26 +7857,29 @@ packages: nested-error-stacks@2.1.1: resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} - next@14.2.15: - resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==} - engines: {node: '>=18.17.0'} + next@15.1.3: + resolution: {integrity: sha512-5igmb8N8AEhWDYzogcJvtcRDU6n4cMGtBklxKD4biYv4LXN8+awc/bbQ2IM2NQHdVPgJ6XumYXfo3hBtErg1DA==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': optional: true '@playwright/test': optional: true + babel-plugin-react-compiler: + optional: true sass: optional: true - nise@6.0.0: - resolution: {integrity: sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==} + nise@6.1.1: + resolution: {integrity: sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==} no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -8036,8 +8001,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nwsapi@2.2.12: - resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} + nwsapi@2.2.16: + resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} nx@17.3.0: resolution: {integrity: sha512-CoY0qUrO8xErbA/v/bbfDGs+KaD9MCO7PReqmIeyrtDNwFl6vnb+U2MpBxCsRP+YH2Oa8hI8Lu+kcnPktx2v6A==} @@ -8266,8 +8231,8 @@ packages: resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} engines: {node: '>=8'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} pacote@18.0.6: resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==} @@ -8329,8 +8294,8 @@ packages: parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -8369,9 +8334,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-scurry@2.0.0: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} @@ -8380,11 +8345,8 @@ packages: path-to-regexp@2.2.1: resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} - path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - - path-to-regexp@8.1.0: - resolution: {integrity: sha512-Bqn3vc8CMHty6zuD+tG23s6v2kwxslHEhTj4eYaVKGIEB+YX/2wd0/rgXLFD9G9id9KCtbVy/3ZgmvZjpa0UdQ==} + path-to-regexp@8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} engines: {node: '>=16'} path-type@3.0.0: @@ -8409,8 +8371,8 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} - picocolors@1.1.0: - resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -8468,8 +8430,8 @@ packages: engines: {node: '>=16'} hasBin: true - playwright-core@1.47.2: - resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} + playwright-core@1.49.1: + resolution: {integrity: sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==} engines: {node: '>=18'} hasBin: true @@ -8478,8 +8440,8 @@ packages: engines: {node: '>=16'} hasBin: true - playwright@1.47.2: - resolution: {integrity: sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==} + playwright@1.49.1: + resolution: {integrity: sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==} engines: {node: '>=18'} hasBin: true @@ -8614,9 +8576,6 @@ packages: pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -8636,9 +8595,6 @@ packages: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -8677,10 +8633,10 @@ packages: engines: {node: '>=8.10.0'} hasBin: true - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: - react: ^18.3.1 + react: ^19.0.0 react-hook-form@7.53.0: resolution: {integrity: sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ==} @@ -8688,8 +8644,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-is@19.0.0: + resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==} react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} @@ -8726,8 +8682,8 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} read-cmd-shim@4.0.0: @@ -8963,9 +8919,6 @@ packages: resolution: {integrity: sha512-dIM5zVoG8xhC6rnSN8uoAgFARwTE7BQs8YwHEvK0VCmfxQXMaOuA1uiR1IPwsW7JyK5iTt7Od/TC9StasS2NPQ==} engines: {node: '>= 0.10'} - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - rrweb-cssom@0.7.1: resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} @@ -9007,8 +8960,8 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} @@ -9118,8 +9071,8 @@ packages: simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sinon@18.0.1: - resolution: {integrity: sha512-a2N2TDY1uGviajJ6r4D1CyRAkzE9NNVlYOV1wX5xQDuAk0ONgzgRl0EjCQuRCPxOwp13ghsMwt9Gdldujs39qw==} + sinon@19.0.2: + resolution: {integrity: sha512-euuToqM+PjO4UgXeLETsfQiuoyPXlqFezr6YZDFwHR3t4qaX0fZUe1MfPMznTL5f8BWrVS89KduLdMUsxFCO6g==} sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} @@ -9342,13 +9295,13 @@ packages: react: '>= 16.8.0' react-dom: '>= 16.8.0' - styled-jsx@5.1.1: - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' peerDependenciesMeta: '@babel/core': optional: true @@ -9505,6 +9458,13 @@ packages: resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} engines: {node: '>=14.0.0'} + tldts-core@6.1.70: + resolution: {integrity: sha512-RNnIXDB1FD4T9cpQRErEqw6ZpjLlGdMOitdV+0xtbsnwr4YFka1zpc7D4KD+aAn8oSG5JyFrdasZTE04qDE9Yg==} + + tldts@6.1.70: + resolution: {integrity: sha512-/W1YVgYVJd9ZDjey5NXadNh0mJXkiUMUue9Zebd0vpdo1sU+H4zFFTaJ1RKD4N6KFoHfcXy6l+Vu7bh+bdWCzA==} + hasBin: true + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -9513,10 +9473,6 @@ packages: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -9529,9 +9485,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@5.0.0: + resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==} + engines: {node: '>=16'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -9580,6 +9536,9 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} @@ -9760,10 +9719,6 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -9791,9 +9746,6 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - url-template@2.0.8: resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} @@ -9988,8 +9940,8 @@ packages: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - whatwg-url@14.0.0: - resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + whatwg-url@14.1.0: + resolution: {integrity: sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w==} engines: {node: '>=18'} whatwg-url@5.0.0: @@ -10335,12 +10287,12 @@ snapshots: '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 '@argos-ci/api-client@0.6.0': dependencies: - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) openapi-fetch: 0.11.2 transitivePeerDependencies: - supports-color @@ -10349,9 +10301,9 @@ snapshots: dependencies: '@argos-ci/api-client': 0.6.0 '@argos-ci/util': 2.1.1 - axios: 1.7.5(debug@4.3.6) + axios: 1.7.9(debug@4.4.0) convict: 6.2.4 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) fast-glob: 3.3.2 sharp: 0.33.5 tmp: 0.2.3 @@ -10374,68 +10326,70 @@ snapshots: '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 chokidar: 3.6.0 - '@babel/code-frame@7.25.7': + '@babel/code-frame@7.26.2': dependencies: - '@babel/highlight': 7.25.7 - picocolors: 1.1.0 + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 '@babel/compat-data@7.25.8': {} '@babel/core@7.25.8': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.8) '@babel/helpers': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 convert-source-map: 2.0.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.25.7': + '@babel/generator@7.26.3': dependencies: - '@babel/types': 7.25.8 - '@jridgewell/gen-mapping': 0.3.5 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.0.2 + jsesc: 3.1.0 - '@babel/helper-annotate-as-pure@7.25.7': + '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.26.3 '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helper-compilation-targets@7.25.7': dependencies: '@babel/compat-data': 7.25.8 - '@babel/helper-validator-option': 7.25.7 + '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.8)': + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-member-expression-to-functions': 7.25.7 - '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.8) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.26.4 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -10443,7 +10397,7 @@ snapshots: '@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.9 regexpu-core: 6.1.1 semver: 6.3.1 @@ -10451,138 +10405,123 @@ snapshots: dependencies: '@babel/core': 7.25.8 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - debug: 4.3.6(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.4.0(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.25.7': + '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.25.7': + '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-simple-access': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.25.7': + '@babel/helper-optimise-call-expression@7.25.9': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.26.3 - '@babel/helper-plugin-utils@7.25.7': {} + '@babel/helper-plugin-utils@7.25.9': {} '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-wrap-function': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.8)': + '@babel/helper-replace-supers@7.25.9(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-member-expression-to-functions': 7.25.7 - '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/traverse': 7.25.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.25.7': - dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.25.7': + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.25.7': {} + '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-validator-identifier@7.25.7': {} + '@babel/helper-validator-identifier@7.25.9': {} - '@babel/helper-validator-option@7.25.7': {} + '@babel/helper-validator-option@7.25.9': {} '@babel/helper-wrap-function@7.25.7': dependencies: - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 - - '@babel/highlight@7.25.7': - dependencies: - '@babel/helper-validator-identifier': 7.25.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 '@babel/node@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/register': 7.25.7(@babel/core@7.25.8) + '@babel/register': 7.25.9(@babel/core@7.25.8) commander: 6.2.1 core-js: 3.35.1 node-environment-flags: 1.0.6 regenerator-runtime: 0.14.1 v8flags: 3.2.0 - '@babel/parser@7.25.8': + '@babel/parser@7.26.3': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.26.3 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8) transitivePeerDependencies: - supports-color @@ -10590,16 +10529,16 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -10610,58 +10549,58 @@ snapshots: '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.8)': + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.8)': + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-async-generator-functions@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8) transitivePeerDependencies: - supports-color @@ -10669,37 +10608,37 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-class-properties@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-class-static-block@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-classes@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.8) + '@babel/traverse': 7.26.4 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -10707,60 +10646,60 @@ snapshots: '@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/template': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-dynamic-import@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-export-namespace-from@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-flow-strip-types@7.24.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.8) '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color @@ -10768,63 +10707,62 @@ snapshots: dependencies: '@babel/core': 7.25.8 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/plugin-transform-json-strings@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-literals@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-logical-assignment-operators@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.8)': + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-simple-access': 7.25.7 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -10832,87 +10770,87 @@ snapshots: dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-nullish-coalescing-operator@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-numeric-separator@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-object-rest-spread@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.25.8) transitivePeerDependencies: - supports-color '@babel/plugin-transform-optional-catch-binding@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-optional-chaining@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-private-property-in-object@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-constant-elements@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-display-name@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-jsx-development@7.25.7(@babel/core@7.25.8)': dependencies: @@ -10924,46 +10862,46 @@ snapshots: '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - '@babel/types': 7.25.8 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.8) + '@babel/types': 7.26.3 transitivePeerDependencies: - supports-color '@babel/plugin-transform-react-pure-annotations@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 regenerator-transform: 0.15.2 '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-runtime@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.25.8) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.8) babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.25.8) @@ -10974,72 +10912,72 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-spread@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 transitivePeerDependencies: - supports-color '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.8)': + '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.25.8) transitivePeerDependencies: - supports-color '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/preset-env@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/compat-data': 7.25.8 '@babel/core': 7.25.8 '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.25.8) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.25.8) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.25.8) @@ -11072,7 +11010,7 @@ snapshots: '@babel/plugin-transform-logical-assignment-operators': 7.25.8(@babel/core@7.25.8) '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.25.8) '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.8) @@ -11110,22 +11048,22 @@ snapshots: '@babel/preset-flow@7.24.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.25.8) '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/types': 7.25.8 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.26.3 esutils: 2.0.3 '@babel/preset-react@7.25.7(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-transform-react-display-name': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-react-jsx-development': 7.25.7(@babel/core@7.25.8) @@ -11133,18 +11071,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.25.7(@babel/core@7.25.8)': + '@babel/preset-typescript@7.26.0(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.8) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.25.8) + '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.25.8) transitivePeerDependencies: - supports-color - '@babel/register@7.25.7(@babel/core@7.25.8)': + '@babel/register@7.25.9(@babel/core@7.25.8)': dependencies: '@babel/core': 7.25.8 clone-deep: 4.0.1 @@ -11158,45 +11096,40 @@ snapshots: core-js: 2.6.12 regenerator-runtime: 0.14.1 - '@babel/runtime@7.25.7': - dependencies: - regenerator-runtime: 0.14.1 - '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.25.7': + '@babel/template@7.25.9': dependencies: - '@babel/code-frame': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 - '@babel/traverse@7.25.7': + '@babel/traverse@7.26.4': dependencies: - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 - debug: 4.3.6(supports-color@8.1.1) + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.8': + '@babel/types@7.26.3': dependencies: - '@babel/helper-string-parser': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 '@bcoe/v8-coverage@0.2.3': {} '@codspeed/core@3.1.1': dependencies: - axios: 1.7.5(debug@4.3.6) + axios: 1.7.9(debug@4.4.0) find-up: 6.3.0 - form-data: 4.0.0 + form-data: 4.0.1 node-gyp-build: 4.8.1 transitivePeerDependencies: - debug @@ -11205,7 +11138,7 @@ snapshots: dependencies: '@codspeed/core': 3.1.1 vite: 5.3.4(@types/node@20.16.11)(terser@5.27.0) - vitest: 2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@24.1.3)(terser@5.27.0) + vitest: 2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@25.0.1)(terser@5.27.0) transitivePeerDependencies: - debug @@ -11215,32 +11148,32 @@ snapshots: '@docsearch/css@3.6.2': {} - '@docsearch/react@3.6.2(@algolia/client-search@4.22.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.13.0)': + '@docsearch/react@3.6.2(@algolia/client-search@4.22.1)(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.13.0)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) '@docsearch/css': 3.6.2 algoliasearch: 4.22.1 optionalDependencies: - '@types/react': 18.3.12 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@types/react': 19.0.2 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' '@emnapi/runtime@1.2.0': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 optional: true - '@emotion/babel-plugin@11.12.0': + '@emotion/babel-plugin@11.13.5': dependencies: - '@babel/helper-module-imports': 7.25.7 - '@babel/runtime': 7.25.7 + '@babel/helper-module-imports': 7.25.9 + '@babel/runtime': 7.26.0 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 - '@emotion/serialize': 1.3.1 + '@emotion/serialize': 1.3.3 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 @@ -11250,11 +11183,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@emotion/cache@11.13.1': + '@emotion/cache@11.14.0': dependencies: '@emotion/memoize': 0.9.0 '@emotion/sheet': 1.4.0 - '@emotion/utils': 1.4.0 + '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 stylis: 4.2.0 @@ -11272,51 +11205,51 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1)': + '@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@emotion/babel-plugin': 11.12.0 - '@emotion/cache': 11.13.1 - '@emotion/serialize': 1.3.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) - '@emotion/utils': 1.4.0 + '@babel/runtime': 7.26.0 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0) + '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 hoist-non-react-statics: 3.3.2 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 transitivePeerDependencies: - supports-color - '@emotion/serialize@1.3.1': + '@emotion/serialize@1.3.3': dependencies: '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 '@emotion/unitless': 0.10.0 - '@emotion/utils': 1.4.0 + '@emotion/utils': 1.4.2 csstype: 3.1.3 '@emotion/server@11.11.0': dependencies: - '@emotion/utils': 1.4.0 + '@emotion/utils': 1.4.2 html-tokenize: 2.0.1 multipipe: 1.0.2 through: 2.3.8 '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1)': + '@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@emotion/babel-plugin': 11.12.0 + '@babel/runtime': 7.26.0 + '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.3.0 - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) - '@emotion/serialize': 1.3.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) - '@emotion/utils': 1.4.0 - react: 18.3.1 + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.0.0) + '@emotion/utils': 1.4.2 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 transitivePeerDependencies: - supports-color @@ -11324,11 +11257,11 @@ snapshots: '@emotion/unitless@0.8.1': {} - '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1)': + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 - '@emotion/utils@1.4.0': {} + '@emotion/utils@1.4.2': {} '@emotion/weak-memoize@0.4.0': {} @@ -11489,7 +11422,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -11532,11 +11465,11 @@ snapshots: '@floating-ui/core': 1.6.0 '@floating-ui/utils': 0.2.1 - '@floating-ui/react-dom@2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.0.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/dom': 1.6.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@floating-ui/utils@0.2.1': {} @@ -11566,7 +11499,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -11677,7 +11610,7 @@ snapshots: dependencies: '@sinclair/typebox': 0.27.8 - '@jridgewell/gen-mapping@0.3.5': + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 @@ -11689,7 +11622,7 @@ snapshots: '@jridgewell/source-map@0.3.5': dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/sourcemap-codec@1.5.0': {} @@ -11699,12 +11632,12 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.5.0 - '@lerna/create@8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.3)': + '@lerna/create@8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.15))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.3)': dependencies: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5))) + '@nx/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -11743,7 +11676,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)) + nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -11782,48 +11715,48 @@ snapshots: - supports-color - typescript - '@mui/base@5.0.0-beta.40(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/base@5.0.0-beta.40-0(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@floating-ui/react-dom': 2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/types': 7.2.15(@types/react@18.3.12) - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@babel/runtime': 7.26.0 + '@floating-ui/react-dom': 2.0.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mui/types': 7.2.20(@types/react@19.0.2) + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) '@popperjs/core': 2.11.8 clsx: 2.1.1 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@mui/core-downloads-tracker@5.16.7': {} + '@mui/core-downloads-tracker@5.16.13': {} - '@mui/docs@6.1.6(53xkipdzpp66uriexrip26qzlm)': + '@mui/docs@6.3.0(mmytrcjsoe6rad3zypitgdphum)': dependencies: '@babel/runtime': 7.26.0 - '@mui/base': 5.0.0-beta.40(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/icons-material': 5.16.7(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@mui/internal-markdown': 1.0.22 - '@mui/material': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/system': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + '@mui/base': 5.0.0-beta.40-0(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mui/icons-material': 5.16.13(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@mui/internal-markdown': 1.0.23 + '@mui/material': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mui/system': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) chai: 5.1.1 clipboard-copy: 4.0.1 clsx: 2.1.1 csstype: 3.1.3 - next: 14.2.15(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.1.3(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nprogress: 0.2.0 prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@mui/icons-material@5.16.7(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react@18.3.1)': + '@mui/icons-material@5.16.13(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/material': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 + '@babel/runtime': 7.26.0 + '@mui/material': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 '@mui/internal-babel-plugin-resolve-imports@1.0.18(@babel/core@7.25.8)': dependencies: @@ -11835,20 +11768,20 @@ snapshots: rimraf: 6.0.1 typescript: 5.6.3 - '@mui/internal-markdown@1.0.22': + '@mui/internal-markdown@1.0.23': dependencies: '@babel/runtime': 7.26.0 lodash: 4.17.21 - marked: 15.0.3 + marked: 15.0.4 prismjs: 1.29.0 '@mui/internal-scripts@1.0.24': dependencies: '@babel/core': 7.25.8 '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.8) - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/types': 7.25.8 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.8) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.25.8) + '@babel/types': 7.26.3 '@mui/internal-docs-utils': 1.0.14 doctrine: 3.0.0 lodash: 4.17.21 @@ -11857,30 +11790,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@mui/internal-test-utils@1.0.17(@babel/core@7.25.8)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/internal-test-utils@1.0.24(@babel/core@7.25.8)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/register': 7.25.7(@babel/core@7.25.8) - '@babel/runtime': 7.25.7 - '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.25.8) + '@babel/preset-typescript': 7.26.0(@babel/core@7.25.8) + '@babel/register': 7.25.9(@babel/core@7.25.8) + '@babel/runtime': 7.26.0 + '@emotion/cache': 11.14.0 + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) '@testing-library/dom': 10.4.0 - '@testing-library/react': 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@testing-library/react': 16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) chai: 4.5.0 chai-dom: 1.12.0(chai@4.5.0) dom-accessibility-api: 0.7.0 format-util: 1.0.5 fs-extra: 11.2.0 - jsdom: 24.1.3 + jsdom: 25.0.1 lodash: 4.17.21 - mocha: 10.7.3 - playwright: 1.47.2 + mocha: 11.0.1 + playwright: 1.49.1 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - sinon: 18.0.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + sinon: 19.0.2 transitivePeerDependencies: - '@babel/core' - '@types/react' @@ -11890,78 +11823,78 @@ snapshots: - supports-color - utf-8-validate - '@mui/joy@5.0.0-beta.48(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/joy@5.0.0-beta.51(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/base': 5.0.0-beta.40(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@mui/types': 7.2.15(@types/react@18.3.12) - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@babel/runtime': 7.26.0 + '@mui/base': 5.0.0-beta.40-0(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mui/core-downloads-tracker': 5.16.13 + '@mui/system': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@mui/types': 7.2.20(@types/react@19.0.2) + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) clsx: 2.1.1 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@types/react': 18.3.12 - - '@mui/lab@5.0.0-alpha.173(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@mui/base': 5.0.0-beta.40(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/material': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mui/system': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@mui/types': 7.2.15(@types/react@18.3.12) - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) + '@emotion/styled': 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + + '@mui/lab@5.0.0-alpha.175(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@babel/runtime': 7.26.0 + '@mui/base': 5.0.0-beta.40-0(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mui/material': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mui/system': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@mui/types': 7.2.20(@types/react@19.0.2) + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) clsx: 2.1.1 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@types/react': 18.3.12 + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) + '@emotion/styled': 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 - '@mui/material-nextjs@5.16.6(@emotion/cache@11.13.1)(@emotion/server@11.11.0)(@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.12)(next@14.2.15(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@mui/material-nextjs@5.16.13(@emotion/cache@11.14.0)(@emotion/server@11.11.0)(@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@types/react@19.0.2)(next@15.1.3(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/material': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next: 14.2.15(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 + '@babel/runtime': 7.26.0 + '@mui/material': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 15.1.3(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@emotion/cache': 11.13.1 + '@emotion/cache': 11.14.0 '@emotion/server': 11.11.0 - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@mui/material@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/material@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/core-downloads-tracker': 5.16.7 - '@mui/system': 5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@mui/types': 7.2.15(@types/react@18.3.12) - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@babel/runtime': 7.26.0 + '@mui/core-downloads-tracker': 5.16.13 + '@mui/system': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@mui/types': 7.2.20(@types/react@19.0.2) + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) '@popperjs/core': 2.11.8 '@types/react-transition-group': 4.4.11 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is: 18.3.1 - react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-is: 19.0.0 + react-transition-group: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) optionalDependencies: - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@types/react': 18.3.12 + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) + '@emotion/styled': 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 - '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/7aa841466a01b745012e59e9d201ed50807a022e(encoding@0.1.13)': + '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/356d5dffbcbc1c18b5ab8060a173ea7a3e90b58c(encoding@0.1.13)': dependencies: '@googleapis/sheets': 9.3.1(encoding@0.1.13) '@netlify/functions': 2.8.2 - '@slack/bolt': 4.1.0 - execa: 9.5.1 + '@slack/bolt': 4.2.0 + execa: 9.5.2 google-auth-library: 9.15.0(encoding@0.1.13) transitivePeerDependencies: - bufferutil @@ -11970,33 +11903,33 @@ snapshots: - supports-color - utf-8-validate - '@mui/private-theming@5.16.6(@types/react@18.3.12)(react@18.3.1)': + '@mui/private-theming@5.16.13(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@babel/runtime': 7.26.0 + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@mui/styled-engine@5.16.6(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(react@18.3.1)': + '@mui/styled-engine@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@emotion/cache': 11.13.1 + '@babel/runtime': 7.26.0 + '@emotion/cache': 11.14.0 csstype: 3.1.3 prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) + '@emotion/styled': 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) - '@mui/styles@5.16.7(@types/react@18.3.12)(react@18.3.1)': + '@mui/styles@5.16.13(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 '@emotion/hash': 0.9.2 - '@mui/private-theming': 5.16.6(@types/react@18.3.12)(react@18.3.1) - '@mui/types': 7.2.15(@types/react@18.3.12) - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@mui/private-theming': 5.16.13(@types/react@19.0.2)(react@19.0.0) + '@mui/types': 7.2.20(@types/react@19.0.2) + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) clsx: 2.1.1 csstype: 3.1.3 hoist-non-react-statics: 3.3.2 @@ -12009,41 +11942,41 @@ snapshots: jss-plugin-rule-value-function: 10.10.0 jss-plugin-vendor-prefixer: 10.10.0 prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@mui/system@5.16.7(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1)': + '@mui/system@5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/private-theming': 5.16.6(@types/react@18.3.12)(react@18.3.1) - '@mui/styled-engine': 5.16.6(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1))(react@18.3.1) - '@mui/types': 7.2.15(@types/react@18.3.12) - '@mui/utils': 5.16.6(@types/react@18.3.12)(react@18.3.1) + '@babel/runtime': 7.26.0 + '@mui/private-theming': 5.16.13(@types/react@19.0.2)(react@19.0.0) + '@mui/styled-engine': 5.16.13(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@emotion/styled@11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0))(react@19.0.0) + '@mui/types': 7.2.20(@types/react@19.0.2) + '@mui/utils': 5.16.13(@types/react@19.0.2)(react@19.0.0) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@emotion/react': 11.13.3(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@types/react': 18.3.12 + '@emotion/react': 11.14.0(@types/react@19.0.2)(react@19.0.0) + '@emotion/styled': 11.13.0(@emotion/react@11.14.0(@types/react@19.0.2)(react@19.0.0))(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 - '@mui/types@7.2.15(@types/react@18.3.12)': + '@mui/types@7.2.20(@types/react@19.0.2)': optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@mui/utils@5.16.6(@types/react@18.3.12)(react@18.3.1)': + '@mui/utils@5.16.13(@types/react@19.0.2)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 - '@mui/types': 7.2.15(@types/react@18.3.12) + '@babel/runtime': 7.26.0 + '@mui/types': 7.2.20(@types/react@19.0.2) '@types/prop-types': 15.7.13 clsx: 2.1.1 prop-types: 15.8.1 - react: 18.3.1 - react-is: 18.3.1 + react: 19.0.0 + react-is: 19.0.0 optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 '@netlify/functions@2.8.2': dependencies: @@ -12056,37 +11989,34 @@ snapshots: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 - '@next/env@14.2.15': {} + '@next/env@15.1.3': {} '@next/eslint-plugin-next@14.2.15': dependencies: glob: 10.3.10 - '@next/swc-darwin-arm64@14.2.15': - optional: true - - '@next/swc-darwin-x64@14.2.15': + '@next/swc-darwin-arm64@15.1.3': optional: true - '@next/swc-linux-arm64-gnu@14.2.15': + '@next/swc-darwin-x64@15.1.3': optional: true - '@next/swc-linux-arm64-musl@14.2.15': + '@next/swc-linux-arm64-gnu@15.1.3': optional: true - '@next/swc-linux-x64-gnu@14.2.15': + '@next/swc-linux-arm64-musl@15.1.3': optional: true - '@next/swc-linux-x64-musl@14.2.15': + '@next/swc-linux-x64-gnu@15.1.3': optional: true - '@next/swc-win32-arm64-msvc@14.2.15': + '@next/swc-linux-x64-musl@15.1.3': optional: true - '@next/swc-win32-ia32-msvc@14.2.15': + '@next/swc-win32-arm64-msvc@15.1.3': optional: true - '@next/swc-win32-x64-msvc@14.2.15': + '@next/swc-win32-x64-msvc@15.1.3': optional: true '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': @@ -12106,9 +12036,9 @@ snapshots: '@npmcli/agent@2.2.0': dependencies: - agent-base: 7.1.0 + agent-base: 7.1.3 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 lru-cache: 10.4.3 socks-proxy-agent: 8.0.2 transitivePeerDependencies: @@ -12134,7 +12064,7 @@ snapshots: json-parse-even-better-errors: 3.0.2 json-stringify-nice: 1.1.4 lru-cache: 10.4.3 - minimatch: 9.0.4 + minimatch: 9.0.5 nopt: 7.2.1 npm-install-checks: 6.3.0 npm-package-arg: 11.0.2 @@ -12180,8 +12110,8 @@ snapshots: '@npmcli/map-workspaces@3.0.6': dependencies: '@npmcli/name-from-folder': 2.0.0 - glob: 10.3.10 - minimatch: 9.0.4 + glob: 10.4.5 + minimatch: 9.0.5 read-package-json-fast: 3.0.2 '@npmcli/metavuln-calculator@7.1.1': @@ -12202,7 +12132,7 @@ snapshots: '@npmcli/package-json@5.2.0': dependencies: '@npmcli/git': 5.0.4 - glob: 10.3.10 + glob: 10.4.5 hosted-git-info: 7.0.2 json-parse-even-better-errors: 3.0.2 normalize-package-data: 6.0.2 @@ -12233,31 +12163,31 @@ snapshots: - bluebird - supports-color - '@nrwl/devkit@17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)))': + '@nrwl/devkit@17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)))': dependencies: - '@nx/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5))) + '@nx/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15))) transitivePeerDependencies: - nx - '@nrwl/tao@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5))': + '@nrwl/tao@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15))': dependencies: - nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)) - tslib: 2.6.2 + nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)) + tslib: 2.8.1 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug - '@nx/devkit@17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)))': + '@nx/devkit@17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)))': dependencies: - '@nrwl/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5))) + '@nrwl/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15))) ejs: 3.1.9 enquirer: 2.3.6 ignore: 5.3.1 - nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)) + nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)) semver: 7.5.3 tmp: 0.2.3 - tslib: 2.6.2 + tslib: 2.8.1 yargs-parser: 21.1.1 '@nx/nx-darwin-arm64@17.3.0': @@ -12586,37 +12516,37 @@ snapshots: '@popperjs/core@2.11.8': {} - '@react-spring/animated@9.7.5(react@18.3.1)': + '@react-spring/animated@9.7.5(react@19.0.0)': dependencies: - '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/shared': 9.7.5(react@19.0.0) '@react-spring/types': 9.7.5 - react: 18.3.1 + react: 19.0.0 - '@react-spring/core@9.7.5(react@18.3.1)': + '@react-spring/core@9.7.5(react@19.0.0)': dependencies: - '@react-spring/animated': 9.7.5(react@18.3.1) - '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/animated': 9.7.5(react@19.0.0) + '@react-spring/shared': 9.7.5(react@19.0.0) '@react-spring/types': 9.7.5 - react: 18.3.1 + react: 19.0.0 '@react-spring/rafz@9.7.5': {} - '@react-spring/shared@9.7.5(react@18.3.1)': + '@react-spring/shared@9.7.5(react@19.0.0)': dependencies: '@react-spring/rafz': 9.7.5 '@react-spring/types': 9.7.5 - react: 18.3.1 + react: 19.0.0 '@react-spring/types@9.7.5': {} - '@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-spring/web@9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@react-spring/animated': 9.7.5(react@18.3.1) - '@react-spring/core': 9.7.5(react@18.3.1) - '@react-spring/shared': 9.7.5(react@18.3.1) + '@react-spring/animated': 9.7.5(react@19.0.0) + '@react-spring/core': 9.7.5(react@19.0.0) + '@react-spring/shared': 9.7.5(react@19.0.0) '@react-spring/types': 9.7.5 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@remix-run/router@1.20.0': {} @@ -12708,37 +12638,32 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@sinonjs/commons@2.0.0': - dependencies: - type-detect: 4.0.8 - '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@11.2.2': + '@sinonjs/fake-timers@13.0.5': dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/samsam@8.0.0': + '@sinonjs/samsam@8.0.2': dependencies: - '@sinonjs/commons': 2.0.0 + '@sinonjs/commons': 3.0.1 lodash.get: 4.4.2 type-detect: 4.1.0 - '@sinonjs/text-encoding@0.7.2': {} + '@sinonjs/text-encoding@0.7.3': {} - '@slack/bolt@4.1.0': + '@slack/bolt@4.2.0': dependencies: '@slack/logger': 4.0.0 - '@slack/oauth': 3.0.1 - '@slack/socket-mode': 2.0.2 + '@slack/oauth': 3.0.2 + '@slack/socket-mode': 2.0.3 '@slack/types': 2.13.0 - '@slack/web-api': 7.7.0 - '@types/express': 4.17.21 - axios: 1.7.5(debug@4.3.6) + '@slack/web-api': 7.8.0 + axios: 1.7.9(debug@4.4.0) express: 5.0.1 - path-to-regexp: 8.1.0 + path-to-regexp: 8.2.0 raw-body: 3.0.0 tsscmp: 1.0.6 transitivePeerDependencies: @@ -12751,10 +12676,10 @@ snapshots: dependencies: '@types/node': 20.16.11 - '@slack/oauth@3.0.1': + '@slack/oauth@3.0.2': dependencies: '@slack/logger': 4.0.0 - '@slack/web-api': 7.7.0 + '@slack/web-api': 7.8.0 '@types/jsonwebtoken': 9.0.7 '@types/node': 20.16.11 jsonwebtoken: 9.0.2 @@ -12762,10 +12687,10 @@ snapshots: transitivePeerDependencies: - debug - '@slack/socket-mode@2.0.2': + '@slack/socket-mode@2.0.3': dependencies: '@slack/logger': 4.0.0 - '@slack/web-api': 7.7.0 + '@slack/web-api': 7.8.0 '@types/node': 20.16.11 '@types/ws': 8.5.13 eventemitter3: 5.0.1 @@ -12777,15 +12702,15 @@ snapshots: '@slack/types@2.13.0': {} - '@slack/web-api@7.7.0': + '@slack/web-api@7.8.0': dependencies: '@slack/logger': 4.0.0 '@slack/types': 2.13.0 '@types/node': 20.16.11 '@types/retry': 0.12.0 - axios: 1.7.5(debug@4.3.6) + axios: 1.7.9(debug@4.4.0) eventemitter3: 5.0.1 - form-data: 4.0.0 + form-data: 4.0.1 is-electron: 2.2.2 is-stream: 2.0.1 p-queue: 6.6.2 @@ -12826,7 +12751,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.7.35': optional: true - '@swc/core@1.7.35(@swc/helpers@0.5.5)': + '@swc/core@1.7.35(@swc/helpers@0.5.15)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.13 @@ -12841,14 +12766,13 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.7.35 '@swc/core-win32-ia32-msvc': 1.7.35 '@swc/core-win32-x64-msvc': 1.7.35 - '@swc/helpers': 0.5.5 + '@swc/helpers': 0.5.15 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.5': + '@swc/helpers@0.5.15': dependencies: - '@swc/counter': 0.1.3 - tslib: 2.6.2 + tslib: 2.8.1 '@swc/types@0.1.13': dependencies: @@ -12858,8 +12782,8 @@ snapshots: '@testing-library/dom@10.4.0': dependencies: - '@babel/code-frame': 7.25.7 - '@babel/runtime': 7.25.7 + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -12877,15 +12801,15 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 '@testing-library/dom': 10.4.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': dependencies: @@ -12898,35 +12822,30 @@ snapshots: '@tufjs/models@2.0.0': dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.4 + minimatch: 9.0.5 '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.25.8 + '@babel/types': 7.26.3 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.25.8 - '@babel/types': 7.25.8 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.25.8 - - '@types/body-parser@1.19.5': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 20.16.11 + '@babel/types': 7.26.3 '@types/chai-dom@1.11.3': dependencies: @@ -12936,10 +12855,6 @@ snapshots: '@types/chance@1.1.6': {} - '@types/connect@3.4.38': - dependencies: - '@types/node': 20.16.11 - '@types/cookie@0.4.1': {} '@types/cors@2.8.17': @@ -12987,20 +12902,6 @@ snapshots: '@types/estree@1.0.5': {} - '@types/express-serve-static-core@4.17.42': - dependencies: - '@types/node': 20.16.11 - '@types/qs': 6.9.11 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 - - '@types/express@4.17.21': - dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.42 - '@types/qs': 6.9.11 - '@types/serve-static': 1.15.5 - '@types/format-util@1.0.4': {} '@types/fs-extra@11.0.4': @@ -13014,8 +12915,6 @@ snapshots: '@types/html-minifier-terser@6.1.0': {} - '@types/http-errors@2.0.4': {} - '@types/istanbul-lib-coverage@2.0.6': {} '@types/jscodeshift@0.12.0': @@ -13050,10 +12949,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/mime@1.3.5': {} - - '@types/mime@3.0.4': {} - '@types/minimatch@3.0.5': {} '@types/minimist@1.2.5': {} @@ -13080,36 +12975,27 @@ snapshots: '@types/prop-types@15.7.13': {} - '@types/qs@6.9.11': {} - - '@types/range-parser@1.2.7': {} - - '@types/react-dom@18.3.1': + '@types/react-dom@19.0.2(@types/react@19.0.2)': dependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 '@types/react-router-dom@5.3.3': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.12 + '@types/react': 19.0.2 '@types/react-router': 5.1.20 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.12 - - '@types/react-test-renderer@18.3.0': - dependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 '@types/react-transition-group@4.4.11': dependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.2 - '@types/react@18.3.12': + '@types/react@19.0.2': dependencies: - '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/requestidlecallback@0.3.7': {} @@ -13118,17 +13004,6 @@ snapshots: '@types/semver@7.5.8': {} - '@types/send@0.17.4': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 20.16.11 - - '@types/serve-static@1.15.5': - dependencies: - '@types/http-errors': 2.0.4 - '@types/mime': 3.0.4 - '@types/node': 20.16.11 - '@types/sinon@17.0.3': dependencies: '@types/sinonjs__fake-timers': 8.1.5 @@ -13141,11 +13016,11 @@ snapshots: '@types/unist@3.0.3': {} - '@types/webpack-bundle-analyzer@4.7.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0))': + '@types/webpack-bundle-analyzer@4.7.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0))': dependencies: '@types/node': 20.16.11 tapable: 2.2.1 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -13186,7 +13061,7 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: typescript: 5.6.3 @@ -13207,7 +13082,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: @@ -13223,7 +13098,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -13237,10 +13112,10 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.4 + minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: @@ -13286,9 +13161,9 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react-swc@3.7.1(@swc/helpers@0.5.5)(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0))': + '@vitejs/plugin-react-swc@3.7.1(@swc/helpers@0.5.15)(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0))': dependencies: - '@swc/core': 1.7.35(@swc/helpers@0.5.5) + '@swc/core': 1.7.35(@swc/helpers@0.5.15) vite: 5.3.4(@types/node@20.16.11)(terser@5.27.0) transitivePeerDependencies: - '@swc/helpers' @@ -13347,7 +13222,7 @@ snapshots: sirv: 2.0.4 tinyglobby: 0.2.6 tinyrainbow: 1.2.0 - vitest: 2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@24.1.3)(terser@5.27.0) + vitest: 2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@25.0.1)(terser@5.27.0) '@vitest/utils@2.1.2': dependencies: @@ -13433,17 +13308,17 @@ snapshots: '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0))(webpack@5.95.0)': dependencies: - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0))(webpack@5.95.0)': dependencies: - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0))(webpack@5.95.0)': dependencies: - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) '@xtuc/ieee754@1.2.0': {} @@ -13455,7 +13330,7 @@ snapshots: '@yarnpkg/parsers@3.0.0-rc.46': dependencies: js-yaml: 3.14.1 - tslib: 2.6.2 + tslib: 2.8.1 '@zeit/schemas@2.36.0': {} @@ -13500,15 +13375,11 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color - agent-base@7.1.0: - dependencies: - debug: 4.3.6(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + agent-base@7.1.3: {} aggregate-error@3.1.0: dependencies: @@ -13763,11 +13634,11 @@ snapshots: ast-types@0.14.2: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 ast-types@0.16.1: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 async-retry@1.2.3: dependencies: @@ -13785,7 +13656,7 @@ snapshots: caniuse-lite: 1.0.30001667 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.1.0 + picocolors: 1.1.1 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -13795,10 +13666,10 @@ snapshots: axe-core@4.10.0: {} - axios@1.7.5(debug@4.3.6): + axios@1.7.9(debug@4.4.0): dependencies: - follow-redirects: 1.15.6(debug@4.3.6) - form-data: 4.0.0 + follow-redirects: 1.15.6(debug@4.4.0) + form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -13810,11 +13681,11 @@ snapshots: '@babel/core': 7.25.8 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) babel-plugin-istanbul@7.0.0: dependencies: - '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-plugin-utils': 7.25.9 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 6.0.2 @@ -13824,7 +13695,7 @@ snapshots: babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 cosmiconfig: 7.1.0 resolve: 1.22.8 @@ -13838,9 +13709,9 @@ snapshots: babel-plugin-optimize-clsx@2.6.2: dependencies: - '@babel/generator': 7.25.7 - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 + '@babel/generator': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 find-cache-dir: 3.3.2 lodash: 4.17.21 object-hash: 2.2.0 @@ -13871,7 +13742,7 @@ snapshots: babel-plugin-preval@5.1.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 '@types/babel__core': 7.20.5 babel-plugin-macros: 3.1.0 require-from-string: 2.0.2 @@ -14047,7 +13918,7 @@ snapshots: dependencies: '@npmcli/fs': 3.1.1 fs-minipass: 3.0.3 - glob: 10.3.10 + glob: 10.4.5 lru-cache: 10.4.3 minipass: 7.1.2 minipass-collect: 2.0.1 @@ -14078,7 +13949,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.2 + tslib: 2.8.1 camelcase-keys@6.2.2: dependencies: @@ -14322,7 +14193,7 @@ snapshots: dependencies: schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) compression@1.7.4: dependencies: @@ -14537,7 +14408,7 @@ snapshots: css-vendor@2.0.8: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 is-in-browser: 1.1.3 css-what@6.1.0: {} @@ -14548,9 +14419,9 @@ snapshots: cssjanus@2.1.0: {} - cssstyle@4.0.1: + cssstyle@4.1.0: dependencies: - rrweb-cssom: 0.6.0 + rrweb-cssom: 0.7.1 csstype@3.1.3: {} @@ -14609,7 +14480,7 @@ snapshots: chalk: 2.4.2 commander: 2.20.3 core-js: 3.35.1 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) fast-json-patch: 3.1.1 get-stdin: 6.0.0 http-proxy-agent: 5.0.0 @@ -14649,7 +14520,7 @@ snapshots: data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 - whatwg-url: 14.0.0 + whatwg-url: 14.1.0 data-view-buffer@1.0.1: dependencies: @@ -14671,13 +14542,13 @@ snapshots: date-fns-jalali@2.30.0-0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 date-fns-jalali@4.1.0-0: {} date-fns@2.30.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 date-fns@4.1.0: {} @@ -14701,9 +14572,13 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.6(supports-color@8.1.1): + debug@4.3.6: dependencies: ms: 2.1.2 + + debug@4.4.0(supports-color@8.1.1): + dependencies: + ms: 2.1.3 optionalDependencies: supports-color: 8.1.1 @@ -14807,6 +14682,8 @@ snapshots: diff@5.2.0: {} + diff@7.0.0: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -14831,7 +14708,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 csstype: 3.1.3 dom-serialize@2.2.1: @@ -14862,7 +14739,7 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 dot-prop@5.3.0: dependencies: @@ -14922,7 +14799,7 @@ snapshots: base64id: 2.0.0 cookie: 0.4.2 cors: 2.8.5 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.3.6 engine.io-parser: 5.2.1 ws: 8.11.0 transitivePeerDependencies: @@ -15197,7 +15074,7 @@ snapshots: lodash: 4.17.21 resolve: 2.0.0-next.5 semver: 5.7.2 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) transitivePeerDependencies: - supports-color @@ -15254,7 +15131,7 @@ snapshots: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint: 8.57.1 espree: 10.1.0 @@ -15306,7 +15183,7 @@ snapshots: eslint-plugin-react-compiler@0.0.0-experimental-9ed098e-20240725(eslint@8.57.1): dependencies: '@babel/core': 7.25.8 - '@babel/parser': 7.25.8 + '@babel/parser': 7.26.3 '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.25.8) eslint: 8.57.1 hermes-parser: 0.20.1 @@ -15383,7 +15260,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -15445,8 +15322,8 @@ snapshots: estree-to-babel@3.2.1: dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 c8: 7.14.0 transitivePeerDependencies: - supports-color @@ -15501,7 +15378,7 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@9.5.1: + execa@9.5.2: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -15530,7 +15407,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.1 cookie-signature: 1.2.2 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.3.6 depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 @@ -15715,9 +15592,9 @@ snapshots: flow-parser@0.227.0: {} - follow-redirects@1.15.6(debug@4.3.6): + follow-redirects@1.15.6(debug@4.4.0): optionalDependencies: - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) for-each@0.3.3: dependencies: @@ -15733,7 +15610,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - form-data@4.0.0: + form-data@4.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -15806,7 +15683,7 @@ snapshots: gaxios@6.1.1(encoding@0.1.13): dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 is-stream: 2.0.1 node-fetch: 2.7.0(encoding@0.1.13) transitivePeerDependencies: @@ -15924,9 +15801,18 @@ snapshots: dependencies: foreground-child: 3.3.0 jackspeak: 2.3.6 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 - path-scurry: 1.10.1 + path-scurry: 1.11.1 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 glob@11.0.0: dependencies: @@ -15934,7 +15820,7 @@ snapshots: jackspeak: 4.0.1 minimatch: 10.0.1 minipass: 7.1.2 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 path-scurry: 2.0.0 glob@5.0.15: @@ -15954,20 +15840,12 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - glob@9.3.5: dependencies: fs.realpath: 1.0.0 minimatch: 8.0.4 minipass: 4.2.8 - path-scurry: 1.10.1 + path-scurry: 1.11.1 globals@11.12.0: {} @@ -16112,7 +15990,7 @@ snapshots: hoist-non-react-statics@3.3.2: dependencies: - react-is: 18.3.1 + react-is: 19.0.0 homedir-polyfill@1.0.3: dependencies: @@ -16160,7 +16038,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) htmlparser2@6.1.0: dependencies: @@ -16183,21 +16061,21 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.0 - debug: 4.3.6(supports-color@8.1.1) + agent-base: 7.1.3 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.6) + follow-redirects: 1.15.6(debug@4.4.0) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -16205,14 +16083,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.5: + https-proxy-agent@7.0.6: dependencies: - agent-base: 7.1.0 - debug: 4.3.6(supports-color@8.1.1) + agent-base: 7.1.3 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -16240,7 +16118,7 @@ snapshots: ignore-walk@6.0.4: dependencies: - minimatch: 9.0.4 + minimatch: 9.0.5 ignore@5.3.1: {} @@ -16509,7 +16387,7 @@ snapshots: istanbul-lib-instrument@6.0.2: dependencies: '@babel/core': 7.25.8 - '@babel/parser': 7.25.8 + '@babel/parser': 7.26.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -16533,7 +16411,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -16575,6 +16453,12 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.1: dependencies: '@isaacs/cliui': 8.0.2 @@ -16619,20 +16503,20 @@ snapshots: jscodeshift@17.0.0(@babel/preset-env@7.25.8(@babel/core@7.25.8)): dependencies: '@babel/core': 7.25.8 - '@babel/parser': 7.25.8 + '@babel/parser': 7.26.3 '@babel/plugin-transform-class-properties': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.25.8) '@babel/plugin-transform-nullish-coalescing-operator': 7.25.8(@babel/core@7.25.8) '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8) '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.25.8) '@babel/preset-flow': 7.24.7(@babel/core@7.25.8) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/register': 7.25.7(@babel/core@7.25.8) + '@babel/preset-typescript': 7.26.0(@babel/core@7.25.8) + '@babel/register': 7.25.9(@babel/core@7.25.8) flow-parser: 0.227.0 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 - picocolors: 1.1.0 + picocolors: 1.1.1 recast: 0.23.9 temp: 0.9.4 write-file-atomic: 5.0.1 @@ -16643,27 +16527,27 @@ snapshots: jsdoc-type-pratt-parser@4.1.0: {} - jsdom@24.1.3: + jsdom@25.0.1: dependencies: - cssstyle: 4.0.1 + cssstyle: 4.1.0 data-urls: 5.0.0 decimal.js: 10.4.3 - form-data: 4.0.0 + form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.5 + https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.12 - parse5: 7.1.2 + nwsapi: 2.2.16 + parse5: 7.2.1 rrweb-cssom: 0.7.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 + tough-cookie: 5.0.0 w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 - whatwg-url: 14.0.0 + whatwg-url: 14.1.0 ws: 8.18.0 xml-name-validator: 5.0.0 transitivePeerDependencies: @@ -16673,6 +16557,8 @@ snapshots: jsesc@3.0.2: {} + jsesc@3.1.0: {} + json-bigint@1.0.0: dependencies: bignumber.js: 9.1.2 @@ -16734,46 +16620,46 @@ snapshots: jss-plugin-camel-case@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 hyphenate-style-name: 1.0.4 jss: 10.10.0 jss-plugin-default-unit@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 jss: 10.10.0 jss-plugin-global@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 jss: 10.10.0 jss-plugin-nested@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 jss: 10.10.0 tiny-warning: 1.0.3 jss-plugin-props-sort@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 jss: 10.10.0 jss-plugin-rule-value-function@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 jss: 10.10.0 tiny-warning: 1.0.3 jss-plugin-template@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 jss: 10.10.0 tiny-warning: 1.0.3 jss-plugin-vendor-prefixer@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 css-vendor: 2.0.8 jss: 10.10.0 @@ -16784,7 +16670,7 @@ snapshots: jss@10.10.0: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 csstype: 3.1.3 is-in-browser: 1.1.3 tiny-warning: 1.0.3 @@ -16854,8 +16740,8 @@ snapshots: karma-webpack@5.0.1(webpack@5.95.0): dependencies: glob: 7.2.3 - minimatch: 9.0.4 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + minimatch: 9.0.5 + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) webpack-merge: 4.2.2 karma@6.4.4: @@ -16906,13 +16792,13 @@ snapshots: dependencies: readable-stream: 2.3.8 - lerna@8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13): + lerna@8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.15))(babel-plugin-macros@3.1.0)(encoding@0.1.13): dependencies: - '@lerna/create': 8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.3) + '@lerna/create': 8.1.8(@swc/core@1.7.35(@swc/helpers@0.5.15))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.6.3) '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5))) + '@nx/devkit': 17.3.0(nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -16957,7 +16843,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)) + nx: 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -17166,7 +17052,7 @@ snapshots: log4js@6.9.1: dependencies: date-format: 4.0.14 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) flatted: 3.3.1 rfdc: 1.3.1 streamroller: 3.1.5 @@ -17189,7 +17075,7 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 lru-cache@10.4.3: {} @@ -17260,9 +17146,9 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 - markdown-to-jsx@7.5.0(react@18.3.1): + markdown-to-jsx@7.5.0(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 markdownlint-cli2-formatter-default@0.0.5(markdownlint-cli2@0.14.0): dependencies: @@ -17284,7 +17170,7 @@ snapshots: markdown-it: 14.1.0 markdownlint-micromark: 0.1.10 - marked@15.0.3: {} + marked@15.0.4: {} mdast-util-from-markdown@2.0.1: dependencies: @@ -17475,7 +17361,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -17547,7 +17433,7 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -17604,16 +17490,16 @@ snapshots: mkdirp@1.0.4: {} - mocha@10.7.3: + mocha@11.0.1: dependencies: ansi-colors: 4.1.3 browser-stdout: 1.3.1 chokidar: 3.6.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) diff: 5.2.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 8.1.0 + glob: 10.4.5 he: 1.2.0 js-yaml: 4.1.0 log-symbols: 4.1.0 @@ -17691,45 +17577,45 @@ snapshots: nested-error-stacks@2.1.1: {} - next@14.2.15(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@15.1.3(@babel/core@7.25.8)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@next/env': 14.2.15 - '@swc/helpers': 0.5.5 + '@next/env': 15.1.3 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001667 - graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@19.0.0) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.15 - '@next/swc-darwin-x64': 14.2.15 - '@next/swc-linux-arm64-gnu': 14.2.15 - '@next/swc-linux-arm64-musl': 14.2.15 - '@next/swc-linux-x64-gnu': 14.2.15 - '@next/swc-linux-x64-musl': 14.2.15 - '@next/swc-win32-arm64-msvc': 14.2.15 - '@next/swc-win32-ia32-msvc': 14.2.15 - '@next/swc-win32-x64-msvc': 14.2.15 + '@next/swc-darwin-arm64': 15.1.3 + '@next/swc-darwin-x64': 15.1.3 + '@next/swc-linux-arm64-gnu': 15.1.3 + '@next/swc-linux-arm64-musl': 15.1.3 + '@next/swc-linux-x64-gnu': 15.1.3 + '@next/swc-linux-x64-musl': 15.1.3 + '@next/swc-win32-arm64-msvc': 15.1.3 + '@next/swc-win32-x64-msvc': 15.1.3 '@opentelemetry/api': 1.8.0 '@playwright/test': 1.44.1 + sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - nise@6.0.0: + nise@6.1.1: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/text-encoding': 0.7.2 + '@sinonjs/fake-timers': 13.0.5 + '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 - path-to-regexp: 6.2.1 + path-to-regexp: 8.2.0 no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.2 + tslib: 2.8.1 node-cleanup@2.1.2: {} @@ -17760,7 +17646,7 @@ snapshots: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 10.3.10 + glob: 10.4.5 graceful-fs: 4.2.11 make-fetch-happen: 13.0.0 nopt: 7.2.1 @@ -17867,15 +17753,15 @@ snapshots: dependencies: boolbase: 1.0.0 - nwsapi@2.2.12: {} + nwsapi@2.2.16: {} - nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)): + nx@17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)): dependencies: - '@nrwl/tao': 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.5)) + '@nrwl/tao': 17.3.0(@swc/core@1.7.35(@swc/helpers@0.5.15)) '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.7.5(debug@4.3.6) + axios: 1.7.9(debug@4.4.0) chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -17902,7 +17788,7 @@ snapshots: tar-stream: 2.2.0 tmp: 0.2.3 tsconfig-paths: 4.2.0 - tslib: 2.6.2 + tslib: 2.8.1 yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: @@ -17916,7 +17802,7 @@ snapshots: '@nx/nx-linux-x64-musl': 17.3.0 '@nx/nx-win32-arm64-msvc': 17.3.0 '@nx/nx-win32-x64-msvc': 17.3.0 - '@swc/core': 1.7.35(@swc/helpers@0.5.5) + '@swc/core': 1.7.35(@swc/helpers@0.5.15) transitivePeerDependencies: - debug @@ -18181,7 +18067,7 @@ snapshots: lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 - package-json-from-dist@1.0.0: {} + package-json-from-dist@1.0.1: {} pacote@18.0.6: dependencies: @@ -18211,7 +18097,7 @@ snapshots: param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 parent-module@1.0.1: dependencies: @@ -18245,7 +18131,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -18266,7 +18152,7 @@ snapshots: dependencies: parse-path: 7.0.0 - parse5@7.1.2: + parse5@7.2.1: dependencies: entities: 4.5.0 @@ -18275,7 +18161,7 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 path-exists@3.0.0: {} @@ -18293,7 +18179,7 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 minipass: 7.1.2 @@ -18305,9 +18191,7 @@ snapshots: path-to-regexp@2.2.1: {} - path-to-regexp@6.2.1: {} - - path-to-regexp@8.1.0: {} + path-to-regexp@8.2.0: {} path-type@3.0.0: dependencies: @@ -18323,7 +18207,7 @@ snapshots: pathval@2.0.0: {} - picocolors@1.1.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -18361,7 +18245,7 @@ snapshots: playwright-core@1.44.1: {} - playwright-core@1.47.2: {} + playwright-core@1.49.1: {} playwright@1.44.1: dependencies: @@ -18369,9 +18253,9 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - playwright@1.47.2: + playwright@1.49.1: dependencies: - playwright-core: 1.47.2 + playwright-core: 1.49.1 optionalDependencies: fsevents: 2.3.2 @@ -18387,19 +18271,19 @@ snapshots: postcss@8.4.31: dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 + picocolors: 1.1.1 source-map-js: 1.2.1 postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 + picocolors: 1.1.1 source-map-js: 1.2.1 postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 + picocolors: 1.1.1 source-map-js: 1.2.1 prelude-ls@1.1.2: {} @@ -18421,13 +18305,13 @@ snapshots: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 - react-is: 18.3.1 + react-is: 19.0.0 pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.3.1 + react-is: 19.0.0 pretty-ms@9.0.0: dependencies: @@ -18439,10 +18323,10 @@ snapshots: find-up: 5.0.0 ignore: 5.3.1 mri: 1.2.0 - picocolors: 1.1.0 + picocolors: 1.1.1 picomatch: 3.0.1 prettier: 3.3.3 - tslib: 2.6.2 + tslib: 2.8.1 prettyjson@1.2.5: dependencies: @@ -18484,7 +18368,7 @@ snapshots: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - react-is: 18.3.1 + react-is: 19.0.0 protocols@2.0.1: {} @@ -18497,8 +18381,6 @@ snapshots: pseudomap@1.0.2: {} - psl@1.9.0: {} - punycode.js@2.3.1: {} punycode@1.4.1: {} @@ -18511,8 +18393,6 @@ snapshots: dependencies: side-channel: 1.0.6 - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} quick-lru@4.0.1: {} @@ -18551,8 +18431,8 @@ snapshots: react-docgen@5.4.3: dependencies: '@babel/core': 7.25.8 - '@babel/generator': 7.25.7 - '@babel/runtime': 7.25.7 + '@babel/generator': 7.26.3 + '@babel/runtime': 7.26.0 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -18563,55 +18443,52 @@ snapshots: transitivePeerDependencies: - supports-color - react-dom@18.3.1(react@18.3.1): + react-dom@19.0.0(react@19.0.0): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.0.0 + scheduler: 0.25.0 - react-hook-form@7.53.0(react@18.3.1): + react-hook-form@7.53.0(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 - react-is@18.3.1: {} + react-is@19.0.0: {} react-refresh@0.14.2: {} - react-router-dom@6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@6.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@remix-run/router': 1.20.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.27.0(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-router: 6.27.0(react@19.0.0) - react-router@6.27.0(react@18.3.1): + react-router@6.27.0(react@19.0.0): dependencies: '@remix-run/router': 1.20.0 - react: 18.3.1 + react: 19.0.0 - react-runner@1.0.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-runner@1.0.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) sucrase: 3.35.0 - react-simple-code-editor@0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-simple-code-editor@0.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-transition-group@4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + react@19.0.0: {} read-cmd-shim@4.0.0: {} @@ -18690,7 +18567,7 @@ snapshots: ast-types: 0.14.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.6.2 + tslib: 2.8.1 recast@0.23.9: dependencies: @@ -18698,7 +18575,7 @@ snapshots: esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.6.2 + tslib: 2.8.1 rechoir@0.8.0: dependencies: @@ -18730,7 +18607,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 regexp.prototype.flags@1.5.2: dependencies: @@ -18869,7 +18746,7 @@ snapshots: rimraf@6.0.1: dependencies: glob: 11.0.0 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 robust-predicates@3.0.2: {} @@ -18901,17 +18778,15 @@ snapshots: is-promise: 4.0.0 methods: 1.1.2 parseurl: 1.3.3 - path-to-regexp: 8.1.0 + path-to-regexp: 8.2.0 setprototypeof: 1.2.0 utils-merge: 1.0.1 - rrweb-cssom@0.6.0: {} - rrweb-cssom@0.7.1: {} rtl-css-js@1.16.1: dependencies: - '@babel/runtime': 7.25.7 + '@babel/runtime': 7.26.0 run-async@2.4.1: {} @@ -18921,7 +18796,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 safe-array-concat@1.1.2: dependencies: @@ -18950,9 +18825,7 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.25.0: {} schema-utils@3.3.0: dependencies: @@ -18981,7 +18854,7 @@ snapshots: send@1.1.0: dependencies: - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) destroy: 1.2.0 encodeurl: 2.0.0 escape-html: 1.0.3 @@ -19126,13 +18999,13 @@ snapshots: dependencies: is-arrayish: 0.3.2 - sinon@18.0.1: + sinon@19.0.2: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/samsam': 8.0.0 - diff: 5.2.0 - nise: 6.0.0 + '@sinonjs/fake-timers': 13.0.5 + '@sinonjs/samsam': 8.0.2 + diff: 7.0.0 + nise: 6.1.1 supports-color: 7.2.0 sirv@2.0.4: @@ -19163,7 +19036,7 @@ snapshots: socket.io-parser@4.2.4: dependencies: '@socket.io/component-emitter': 3.1.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -19172,7 +19045,7 @@ snapshots: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.3.6 engine.io: 6.5.4 socket.io-adapter: 2.5.2 socket.io-parser: 4.2.4 @@ -19183,8 +19056,8 @@ snapshots: socks-proxy-agent@8.0.2: dependencies: - agent-base: 7.1.0 - debug: 4.3.6(supports-color@8.1.1) + agent-base: 7.1.3 + debug: 4.4.0(supports-color@8.1.1) socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -19276,7 +19149,7 @@ snapshots: streamroller@3.1.5: dependencies: date-format: 4.0.14 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -19287,7 +19160,7 @@ snapshots: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) string-width@4.2.3: dependencies: @@ -19385,7 +19258,7 @@ snapshots: minimist: 1.2.8 through: 2.3.8 - styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + styled-components@6.1.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@emotion/is-prop-valid': 1.2.2 '@emotion/unitless': 0.8.1 @@ -19393,16 +19266,16 @@ snapshots: css-to-react-native: 3.2.0 csstype: 3.1.3 postcss: 8.4.38 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) shallowequal: 1.1.0 stylis: 4.3.2 tslib: 2.6.2 - styled-jsx@5.1.1(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@18.3.1): + styled-jsx@5.1.6(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@19.0.0): dependencies: client-only: 0.0.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: '@babel/core': 7.25.8 babel-plugin-macros: 3.1.0 @@ -19420,9 +19293,9 @@ snapshots: sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 commander: 4.1.1 - glob: 10.3.10 + glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -19456,7 +19329,7 @@ snapshots: synckit@0.9.1: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.2 + tslib: 2.8.1 tapable@0.1.10: {} @@ -19486,16 +19359,16 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.6.3 - terser-webpack-plugin@5.3.10(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack@5.95.0): + terser-webpack-plugin@5.3.10(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.27.0 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) optionalDependencies: - '@swc/core': 1.7.35(@swc/helpers@0.5.5) + '@swc/core': 1.7.35(@swc/helpers@0.5.15) terser@5.27.0: dependencies: @@ -19553,14 +19426,18 @@ snapshots: tinyspy@3.0.0: {} + tldts-core@6.1.70: {} + + tldts@6.1.70: + dependencies: + tldts-core: 6.1.70 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 tmp@0.2.3: {} - to-fast-properties@2.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -19569,12 +19446,9 @@ snapshots: totalist@3.0.1: {} - tough-cookie@4.1.4: + tough-cookie@5.0.0: dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 + tldts: 6.1.70 tr46@0.0.3: {} @@ -19615,6 +19489,8 @@ snapshots: tslib@2.6.2: {} + tslib@2.8.1: {} + tsscmp@1.0.6: {} tsutils@3.21.0(typescript@5.6.3): @@ -19632,7 +19508,7 @@ snapshots: tuf-js@2.2.0: dependencies: '@tufjs/models': 2.0.0 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) make-fetch-happen: 13.0.0 transitivePeerDependencies: - supports-color @@ -19794,8 +19670,6 @@ snapshots: universalify@0.1.2: {} - universalify@0.2.0: {} - universalify@2.0.1: {} unpipe@1.0.0: {} @@ -19819,7 +19693,7 @@ snapshots: dependencies: browserslist: 4.24.0 escalade: 3.1.2 - picocolors: 1.1.0 + picocolors: 1.1.1 update-check@1.5.4: dependencies: @@ -19830,11 +19704,6 @@ snapshots: dependencies: punycode: 2.3.1 - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - url-template@2.0.8: {} urlpattern-polyfill@8.0.2: {} @@ -19893,7 +19762,7 @@ snapshots: vite-node@2.1.2(@types/node@20.16.11)(terser@5.27.0): dependencies: cac: 6.7.14 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 vite: 5.3.4(@types/node@20.16.11)(terser@5.27.0) transitivePeerDependencies: @@ -19916,7 +19785,7 @@ snapshots: fsevents: 2.3.3 terser: 5.27.0 - vitest@2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@24.1.3)(terser@5.27.0): + vitest@2.1.2(@types/node@20.16.11)(@vitest/ui@2.1.2)(jsdom@25.0.1)(terser@5.27.0): dependencies: '@vitest/expect': 2.1.2 '@vitest/mocker': 2.1.2(@vitest/spy@2.1.2)(vite@5.3.4(@types/node@20.16.11)(terser@5.27.0)) @@ -19926,7 +19795,7 @@ snapshots: '@vitest/spy': 2.1.2 '@vitest/utils': 2.1.2 chai: 5.1.1 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.4.0(supports-color@8.1.1) magic-string: 0.30.11 pathe: 1.1.2 std-env: 3.7.0 @@ -19940,7 +19809,7 @@ snapshots: optionalDependencies: '@types/node': 20.16.11 '@vitest/ui': 2.1.2(vitest@2.1.2) - jsdom: 24.1.3 + jsdom: 25.0.1 transitivePeerDependencies: - less - lightningcss @@ -19983,7 +19852,7 @@ snapshots: gzip-size: 6.0.0 html-escaper: 2.0.2 opener: 1.5.2 - picocolors: 1.1.0 + picocolors: 1.1.1 sirv: 2.0.4 ws: 7.5.9 transitivePeerDependencies: @@ -20004,7 +19873,7 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) + webpack: 5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)) webpack-merge: 5.10.0 optionalDependencies: webpack-bundle-analyzer: 4.10.2 @@ -20021,7 +19890,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)): + webpack@5.95.0(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0)): dependencies: '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 @@ -20043,7 +19912,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.35(@swc/helpers@0.5.15))(webpack@5.95.0) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: @@ -20059,7 +19928,7 @@ snapshots: whatwg-mimetype@4.0.0: {} - whatwg-url@14.0.0: + whatwg-url@14.1.0: dependencies: tr46: 5.0.0 webidl-conversions: 7.0.0 diff --git a/renovate.json b/renovate.json index 02e78b1b6f12d..ed4ebc459c5f5 100644 --- a/renovate.json +++ b/renovate.json @@ -36,14 +36,7 @@ }, { "groupName": "React", - "matchPackageNames": [ - "react", - "react-dom", - "react-is", - "react-test-renderer", - "@types/react", - "@types/react-dom" - ] + "matchPackageNames": ["react", "react-dom", "react-is", "@types/react", "@types/react-dom"] }, { "groupName": "React router", diff --git a/test/package.json b/test/package.json index bfdebd1b08fdf..98aa6f0b05dc7 100644 --- a/test/package.json +++ b/test/package.json @@ -9,7 +9,7 @@ "@babel/runtime": "^7.25.7", "@emotion/cache": "^11.13.1", "@emotion/react": "^11.13.3", - "@mui/material": "^5.16.7", + "@mui/material": "^5.16.13", "@mui/x-charts": "workspace:*", "@mui/x-charts-pro": "workspace:*", "@mui/x-charts-vendor": "workspace:*", @@ -24,15 +24,15 @@ "@types/karma": "^6.3.8", "@types/moment-jalaali": "^0.7.9", "@types/prop-types": "^15.7.13", - "@types/react": "^18.3.12", + "@types/react": "^19.0.2", "@types/semver": "^7.5.8", "chai": "^4.5.0", "dayjs": "^1.11.13", "moment": "^2.30.1", "moment-jalaali": "^0.10.1", "prop-types": "^15.8.1", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-router-dom": "^6.27.0", "semver": "^7.6.3", "stylis": "^4.3.4", diff --git a/test/performance-charts/package.json b/test/performance-charts/package.json index fe5e946b99811..9e3148fc46d17 100644 --- a/test/performance-charts/package.json +++ b/test/performance-charts/package.json @@ -12,14 +12,14 @@ "@mui/x-charts": "workspace:*", "@mui/x-charts-pro": "workspace:*", "@testing-library/jest-dom": "^6.5.0", - "@testing-library/react": "^16.0.1", + "@testing-library/react": "^16.1.0", "@testing-library/user-event": "^14.5.2", "@vitejs/plugin-react": "^4.3.2", "@vitejs/plugin-react-swc": "^3.7.1", "@vitest/ui": "2.1.2", - "jsdom": "^24.1.3", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "jsdom": "^25.0.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "vitest": "2.1.2" } } diff --git a/test/tsconfig.json b/test/tsconfig.json index 49092d4a09070..28bcc756d16e2 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -9,7 +9,8 @@ "dayjs/plugin/utc.d.ts", "mocha", "moment-timezone" - ] + ], + "skipLibCheck": true }, "include": ["e2e/**/*", "e2e-website/**/*", "regressions/**/*"], "exclude": ["regressions/build/**/*", "regressions/screenshots/**/*"] diff --git a/test/utils/describeConformance.ts b/test/utils/describeConformance.ts index 85129ca7a1714..676226a48cd66 100644 --- a/test/utils/describeConformance.ts +++ b/test/utils/describeConformance.ts @@ -5,7 +5,7 @@ import { import { ThemeProvider, createTheme } from '@mui/material/styles'; export function describeConformance( - minimalElement: React.ReactElement, + minimalElement: React.ReactElement, getOptions: () => ConformanceOptions, ) { function getOptionsWithDefaults() { diff --git a/test/utils/describeSlotsConformance.tsx b/test/utils/describeSlotsConformance.tsx index 0d638bfa8fb08..b596722026360 100644 --- a/test/utils/describeSlotsConformance.tsx +++ b/test/utils/describeSlotsConformance.tsx @@ -5,7 +5,7 @@ import { MuiRenderResult } from '@mui/internal-test-utils/createRenderer'; interface DescribeSlotsConformanceParams { getElement: (params: { slotName: string; props: any }) => React.ReactElement; - render: (node: React.ReactElement) => MuiRenderResult; + render: (node: React.ReactElement) => MuiRenderResult; slots: { [slotName: string]: { className: string } }; } diff --git a/test/utils/helperFn.ts b/test/utils/helperFn.ts index 068d37943e5d3..7d56f6d752be4 100644 --- a/test/utils/helperFn.ts +++ b/test/utils/helperFn.ts @@ -140,9 +140,7 @@ export function getColumnHeaderCell(colIndex: number, rowIndex?: number): HTMLEl } export function getColumnHeadersTextContent() { - return Array.from(document.querySelectorAll('[role="columnheader"]')).map( - (node) => node!.textContent, - ); + return screen.queryAllByRole('columnheader').map((node) => node!.textContent); } export function getRowsFieldContent(field: string) { diff --git a/test/utils/pickers/createPickerRenderer.tsx b/test/utils/pickers/createPickerRenderer.tsx index 25da543cf517d..9a353651b344e 100644 --- a/test/utils/pickers/createPickerRenderer.tsx +++ b/test/utils/pickers/createPickerRenderer.tsx @@ -46,7 +46,7 @@ export function createPickerRenderer({ return { clock, - render(node: React.ReactElement, options?: Omit) { + render(node: React.ReactElement, options?: Omit) { return clientRender(node, { ...options, wrapper: Wrapper }); }, adapter, diff --git a/test/utils/pickers/describePicker/describePicker.types.ts b/test/utils/pickers/describePicker/describePicker.types.ts index 342ec13c02cc8..08ac8e3247634 100644 --- a/test/utils/pickers/describePicker/describePicker.types.ts +++ b/test/utils/pickers/describePicker/describePicker.types.ts @@ -5,5 +5,5 @@ export interface DescribePickerOptions { fieldType: 'single-input' | 'multi-input'; variant: 'mobile' | 'desktop' | 'static'; hasNoView?: boolean; - render: (node: React.ReactElement) => MuiRenderResult; + render: (node: React.ReactElement) => MuiRenderResult; } diff --git a/test/utils/pickers/describeValidation/describeValidation.types.ts b/test/utils/pickers/describeValidation/describeValidation.types.ts index 66d1f7720def2..68f894ae312bc 100644 --- a/test/utils/pickers/describeValidation/describeValidation.types.ts +++ b/test/utils/pickers/describeValidation/describeValidation.types.ts @@ -4,7 +4,7 @@ import { DateOrTimeView } from '@mui/x-date-pickers/models'; import { PickerComponentFamily } from '../describe.types'; export interface DescribeValidationInputOptions { - render: (node: React.ReactElement) => MuiRenderResult; + render: (node: React.ReactElement) => MuiRenderResult; // TODO: Export `Clock` from monorepo clock: ReturnType['clock']; after?: () => void; diff --git a/test/utils/pickers/describeValue/describeValue.types.ts b/test/utils/pickers/describeValue/describeValue.types.ts index 27332ec2b7192..dfea89df71394 100644 --- a/test/utils/pickers/describeValue/describeValue.types.ts +++ b/test/utils/pickers/describeValue/describeValue.types.ts @@ -10,7 +10,7 @@ import { PickerComponentFamily } from '../describe.types'; interface DescribeValueBaseOptions { componentFamily: C; - render: (node: React.ReactElement) => MuiRenderResult; + render: (node: React.ReactElement) => MuiRenderResult; assertRenderedValue: (expectedValue: TValue) => void; values: [TValue, TValue]; emptyValue: TValue; diff --git a/test/utils/pickers/fields.tsx b/test/utils/pickers/fields.tsx index 7fbed5eda3d81..744e9bdbce64e 100644 --- a/test/utils/pickers/fields.tsx +++ b/test/utils/pickers/fields.tsx @@ -88,7 +88,7 @@ export const buildFieldInteractions =

({ props, { hook, componentFamily = 'field', direction = 'ltr' } = {}, ) => { - let fieldRef: React.RefObject> = { current: null }; + let fieldRef: React.RefObject | null> = { current: null }; function WrappedComponent(propsFromRender: any) { fieldRef = React.useRef>(null); diff --git a/test/utils/tree-view/describeTreeView/describeTreeView.types.ts b/test/utils/tree-view/describeTreeView/describeTreeView.types.ts index b470f885df767..e64f78b0fd2b9 100644 --- a/test/utils/tree-view/describeTreeView/describeTreeView.types.ts +++ b/test/utils/tree-view/describeTreeView/describeTreeView.types.ts @@ -139,7 +139,7 @@ export type DescribeTreeViewRenderer DescribeTreeViewRendererReturnValue; export type DescribeTreeViewJSXRenderer = ( - element: React.ReactElement, + element: React.ReactElement, ) => DescribeTreeViewRendererUtils; type TreeViewComponentName = 'RichTreeView' | 'RichTreeViewPro' | 'SimpleTreeView';