diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 942c4e9584b74..000d98c93ec67 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 + uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 with: languages: typescript # If you wish to specify custom queries, you can do so here or in a config file. @@ -29,4 +29,4 @@ jobs: # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 + uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 900a104519fb8..252d4ba7cce10 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -44,6 +44,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload to code-scanning - uses: github/codeql-action/upload-sarif@ea9e4e37992a54ee68a9622e985e60c8e8f12d9f # v3.27.4 + uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 with: sarif_file: results.sarif diff --git a/docs/data/data-grid/localization/data.json b/docs/data/data-grid/localization/data.json index f7718fbf0dafd..6f04a8ae96ec8 100644 --- a/docs/data/data-grid/localization/data.json +++ b/docs/data/data-grid/localization/data.json @@ -3,280 +3,280 @@ "languageTag": "ar-SD", "importName": "arSD", "localeName": "Arabic (Sudan)", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/arSD.ts" }, { "languageTag": "be-BY", "importName": "beBY", "localeName": "Belarusian", - "missingKeysCount": 45, - "totalKeysCount": 133, + "missingKeysCount": 44, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/beBY.ts" }, { "languageTag": "bg-BG", "importName": "bgBG", "localeName": "Bulgarian", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/bgBG.ts" }, { "languageTag": "zh-HK", "importName": "zhHK", "localeName": "Chinese (Hong Kong)", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/zhHK.ts" }, { "languageTag": "zh-CN", "importName": "zhCN", "localeName": "Chinese (Simplified)", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/zhCN.ts" }, { "languageTag": "zh-TW", "importName": "zhTW", "localeName": "Chinese (Taiwan)", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/zhTW.ts" }, { "languageTag": "hr-HR", "importName": "hrHR", "localeName": "Croatian", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/hrHR.ts" }, { "languageTag": "cs-CZ", "importName": "csCZ", "localeName": "Czech", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/csCZ.ts" }, { "languageTag": "da-DK", "importName": "daDK", "localeName": "Danish", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/daDK.ts" }, { "languageTag": "nl-NL", "importName": "nlNL", "localeName": "Dutch", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/nlNL.ts" }, { "languageTag": "fi-FI", "importName": "fiFI", "localeName": "Finnish", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/fiFI.ts" }, { "languageTag": "fr-FR", "importName": "frFR", "localeName": "French", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/frFR.ts" }, { "languageTag": "de-DE", "importName": "deDE", "localeName": "German", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/deDE.ts" }, { "languageTag": "el-GR", "importName": "elGR", "localeName": "Greek", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/elGR.ts" }, { "languageTag": "he-IL", "importName": "heIL", "localeName": "Hebrew", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/heIL.ts" }, { "languageTag": "hu-HU", "importName": "huHU", "localeName": "Hungarian", - "missingKeysCount": 17, - "totalKeysCount": 133, + "missingKeysCount": 16, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/huHU.ts" }, { "languageTag": "is-IS", "importName": "isIS", "localeName": "Icelandic", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/isIS.ts" }, { "languageTag": "it-IT", "importName": "itIT", "localeName": "Italian", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/itIT.ts" }, { "languageTag": "ja-JP", "importName": "jaJP", "localeName": "Japanese", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/jaJP.ts" }, { "languageTag": "ko-KR", "importName": "koKR", "localeName": "Korean", - "missingKeysCount": 46, - "totalKeysCount": 133, + "missingKeysCount": 45, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/koKR.ts" }, { "languageTag": "nb-NO", "importName": "nbNO", "localeName": "Norwegian (Bokmål)", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/nbNO.ts" }, { "languageTag": "nn-NO", "importName": "nnNO", "localeName": "Norwegian (Nynorsk)", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/nnNO.ts" }, { "languageTag": "fa-IR", "importName": "faIR", "localeName": "Persian", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/faIR.ts" }, { "languageTag": "pl-PL", "importName": "plPL", "localeName": "Polish", - "missingKeysCount": 22, - "totalKeysCount": 133, + "missingKeysCount": 21, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/plPL.ts" }, { "languageTag": "pt-PT", "importName": "ptPT", "localeName": "Portuguese", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 0, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/ptPT.ts" }, { "languageTag": "pt-BR", "importName": "ptBR", "localeName": "Portuguese (Brazil)", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 0, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/ptBR.ts" }, { "languageTag": "ro-RO", "importName": "roRO", "localeName": "Romanian", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/roRO.ts" }, { "languageTag": "ru-RU", "importName": "ruRU", "localeName": "Russian", - "missingKeysCount": 15, - "totalKeysCount": 133, + "missingKeysCount": 14, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/ruRU.ts" }, { "languageTag": "sk-SK", "importName": "skSK", "localeName": "Slovak", - "missingKeysCount": 16, - "totalKeysCount": 133, + "missingKeysCount": 15, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/skSK.ts" }, { "languageTag": "es-ES", "importName": "esES", "localeName": "Spanish", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 0, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/esES.ts" }, { "languageTag": "sv-SE", "importName": "svSE", "localeName": "Swedish", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/svSE.ts" }, { "languageTag": "tr-TR", "importName": "trTR", "localeName": "Turkish", - "missingKeysCount": 13, - "totalKeysCount": 133, + "missingKeysCount": 12, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/trTR.ts" }, { "languageTag": "uk-UA", "importName": "ukUA", "localeName": "Ukrainian", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/ukUA.ts" }, { "languageTag": "ur-PK", "importName": "urPK", "localeName": "Urdu (Pakistan)", - "missingKeysCount": 19, - "totalKeysCount": 133, + "missingKeysCount": 18, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/urPK.ts" }, { "languageTag": "vi-VN", "importName": "viVN", "localeName": "Vietnamese", - "missingKeysCount": 11, - "totalKeysCount": 133, + "missingKeysCount": 10, + "totalKeysCount": 132, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/viVN.ts" } ] diff --git a/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.js b/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.js new file mode 100644 index 0000000000000..9d01cdcaf506a --- /dev/null +++ b/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.js @@ -0,0 +1,49 @@ +import * as React from 'react'; +import { DataGrid } from '@mui/x-data-grid'; + +function useData(rowLength, columnLength) { + const [data, setData] = React.useState({ columns: [], rows: [] }); + + React.useEffect(() => { + const rows = []; + + for (let i = 0; i < rowLength; i += 1) { + const row = { + id: i, + }; + + for (let j = 1; j <= columnLength; j += 1) { + row[`price${j}M`] = `${i.toString()}, ${j} `; + } + + rows.push(row); + } + + const columns = []; + + for (let j = 1; j <= columnLength; j += 1) { + columns.push({ field: `price${j}M`, headerName: `${j}M`, width: 55 }); + } + + setData({ + rows, + columns, + }); + }, [rowLength, columnLength]); + + return data; +} + +export default function VirtualizeColumnsWithAutoRowHeight() { + const data = useData(100, 100); + + return ( +
+ 'auto'} + virtualizeColumnsWithAutoRowHeight + /> +
+ ); +} diff --git a/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.tsx b/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.tsx new file mode 100644 index 0000000000000..1a76b22ee5c97 --- /dev/null +++ b/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.tsx @@ -0,0 +1,59 @@ +import * as React from 'react'; +import { DataGrid, GridColDef, GridRowId } from '@mui/x-data-grid'; + +export interface DataRowModel { + id: GridRowId; + [price: string]: number | string; +} + +export interface GridData { + columns: GridColDef[]; + rows: DataRowModel[]; +} + +function useData(rowLength: number, columnLength: number) { + const [data, setData] = React.useState({ columns: [], rows: [] }); + + React.useEffect(() => { + const rows: DataRowModel[] = []; + + for (let i = 0; i < rowLength; i += 1) { + const row: DataRowModel = { + id: i, + }; + + for (let j = 1; j <= columnLength; j += 1) { + row[`price${j}M`] = `${i.toString()}, ${j} `; + } + + rows.push(row); + } + + const columns: GridColDef[] = []; + + for (let j = 1; j <= columnLength; j += 1) { + columns.push({ field: `price${j}M`, headerName: `${j}M`, width: 55 }); + } + + setData({ + rows, + columns, + }); + }, [rowLength, columnLength]); + + return data; +} + +export default function VirtualizeColumnsWithAutoRowHeight() { + const data = useData(100, 100); + + return ( +
+ 'auto'} + virtualizeColumnsWithAutoRowHeight + /> +
+ ); +} diff --git a/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.tsx.preview b/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.tsx.preview new file mode 100644 index 0000000000000..1f3efbd9e944e --- /dev/null +++ b/docs/data/data-grid/row-height/VirtualizeColumnsWithAutoRowHeight.tsx.preview @@ -0,0 +1,5 @@ + 'auto'} + virtualizeColumnsWithAutoRowHeight +/> \ No newline at end of file diff --git a/docs/data/data-grid/row-height/row-height.md b/docs/data/data-grid/row-height/row-height.md index 0d5790977d894..fa5a34a72a4c5 100644 --- a/docs/data/data-grid/row-height/row-height.md +++ b/docs/data/data-grid/row-height/row-height.md @@ -54,7 +54,6 @@ This side effect happens because a row height estimation is used while a row is You can configure the estimated value used by passing a function to the `getEstimatedRowHeight` prop. If not provided, the default row height of `52px` is used as estimation. It's recommended to pass this prop if the content deviates too much from the default value. -Note that, due to the implementation adopted, the virtualization of the columns is also disabled to force all columns to be rendered at the same time. ```tsx 'auto'} getEstimatedRowHeight={() => 200} /> @@ -78,6 +77,17 @@ Add padding to the cells to increase the space between the content and the cell ::: +### Column virtualization + +By default, the virtualization of the columns is disabled to force all columns to be rendered at the same time and calculate the row height correctly. +However, this can lead to poor performance when rendering a lot of columns. + +If you need column virtualization, you can set the `virtualizeColumnsWithAutoRowHeight` prop to `true`. +With this approach, the Data Grid measures the row height based on the visible columns. +However, the row height might change during horizontal scrolling. + +{{"demo": "VirtualizeColumnsWithAutoRowHeight.js", "bg": "inline" }} + ## Row density Give your users the option to change the default row density to match their preferences—compact, standard, or comfortable. diff --git a/docs/data/data-grid/virtualization/virtualization.md b/docs/data/data-grid/virtualization/virtualization.md index 46efb8f1de521..3dc949818c958 100644 --- a/docs/data/data-grid/virtualization/virtualization.md +++ b/docs/data/data-grid/virtualization/virtualization.md @@ -31,7 +31,12 @@ By default, columns coming under 150 pixels region are rendered outside of the v {{"demo": "ColumnVirtualizationGrid.js", "bg": "inline"}} -You can disable column virtualization by calling `apiRef.current.unstable_setColumnVirtualization(false)`, or by setting the column buffer to the number of total columns. +You can disable column virtualization by calling `apiRef.current.unstable_setColumnVirtualization(false)`, or by setting the [`columnBufferPx`](/x/api/data-grid/data-grid/#data-grid-prop-columnBufferPx) to a high value. + +:::info +Column virtualization is disabled when dynamic row height is enabled. +See [dynamic row height and column virtualization](/x/react-data-grid/row-height/#column-virtualization) to learn more. +::: ## Disable virtualization diff --git a/docs/data/migration/migration-charts-v7/migration-charts-v7.md b/docs/data/migration/migration-charts-v7/migration-charts-v7.md index 5fe6c6f9c75e0..a9dda433ea29c 100644 --- a/docs/data/migration/migration-charts-v7/migration-charts-v7.md +++ b/docs/data/migration/migration-charts-v7/migration-charts-v7.md @@ -38,10 +38,10 @@ You can either run it on a specific file, folder, or your entire codebase when c ```bash -// Charts specific +# Charts-specific npx @mui/x-codemod@latest v8.0.0/charts/preset-safe -// Target the other packages as well +# Target the other packages as well npx @mui/x-codemod@latest v8.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-data-grid-v5/migration-data-grid-v5.md b/docs/data/migration/migration-data-grid-v5/migration-data-grid-v5.md index 2ed5e027a87fd..4c96cc025e119 100644 --- a/docs/data/migration/migration-data-grid-v5/migration-data-grid-v5.md +++ b/docs/data/migration/migration-data-grid-v5/migration-data-grid-v5.md @@ -30,9 +30,10 @@ The `preset-safe` codemod will automatically adjust the bulk of your code to acc You can either run it on a specific file, folder, or your entire codebase when choosing the `` argument. ```bash -// Data Grid specific +# Data Grid specific npx @mui/x-codemod@latest v6.0.0/data-grid/preset-safe -// Target Date and Time Pickers as well + +# Target Date and Time Pickers as well npx @mui/x-codemod@latest v6.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-data-grid-v6/migration-data-grid-v6.md b/docs/data/migration/migration-data-grid-v6/migration-data-grid-v6.md index fd145877d6b2d..da8288a8a8c3b 100644 --- a/docs/data/migration/migration-data-grid-v6/migration-data-grid-v6.md +++ b/docs/data/migration/migration-data-grid-v6/migration-data-grid-v6.md @@ -62,10 +62,10 @@ You can either run it on a specific file, folder, or your entire codebase when c ```bash -// Data Grid specific +# Data Grid specific npx @mui/x-codemod@latest v7.0.0/data-grid/preset-safe -// Target other MUI X components as well +# Target other MUI X components as well npx @mui/x-codemod@latest v7.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-pickers-v5/migration-pickers-v5.md b/docs/data/migration/migration-pickers-v5/migration-pickers-v5.md index 08e32ca9a96bc..eb49f8db9948e 100644 --- a/docs/data/migration/migration-pickers-v5/migration-pickers-v5.md +++ b/docs/data/migration/migration-pickers-v5/migration-pickers-v5.md @@ -30,9 +30,10 @@ The `preset-safe` codemod will automatically adjust the bulk of your code to acc You can either run it on a specific file, folder, or your entire codebase when choosing the `` argument. ```bash -// Date and Time Pickers specific +# Date and Time Pickers specific npx @mui/x-codemod@latest v6.0.0/pickers/preset-safe -// Target Data Grid as well + +# Target Data Grid as well npx @mui/x-codemod@latest v6.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-pickers-v6/migration-pickers-v6.md b/docs/data/migration/migration-pickers-v6/migration-pickers-v6.md index bfd68f5aa8442..2cc32ad2fbd6c 100644 --- a/docs/data/migration/migration-pickers-v6/migration-pickers-v6.md +++ b/docs/data/migration/migration-pickers-v6/migration-pickers-v6.md @@ -56,10 +56,10 @@ You can either run it on a specific file, folder, or your entire codebase when c ```bash -// Date and Time Pickers specific +# Date and Time Pickers specific npx @mui/x-codemod@latest v7.0.0/pickers/preset-safe -// Target other MUI X components as well +# Target other MUI X components as well npx @mui/x-codemod@latest v7.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-pickers-v7/migration-pickers-v7.md b/docs/data/migration/migration-pickers-v7/migration-pickers-v7.md index 5ab0f1392e684..7bf73fde6c0ca 100644 --- a/docs/data/migration/migration-pickers-v7/migration-pickers-v7.md +++ b/docs/data/migration/migration-pickers-v7/migration-pickers-v7.md @@ -34,10 +34,10 @@ You can either run it on a specific file, folder, or your entire codebase when c ```bash -// Date and Time Pickers specific +# Date and Time Pickers specific npx @mui/x-codemod@latest v8.0.0/pickers/preset-safe -// Target the other packages as well +# Target the other packages as well npx @mui/x-codemod@latest v8.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-tree-view-v6/migration-tree-view-v6.md b/docs/data/migration/migration-tree-view-v6/migration-tree-view-v6.md index 8660e528c0c06..3b848ccd33bb4 100644 --- a/docs/data/migration/migration-tree-view-v6/migration-tree-view-v6.md +++ b/docs/data/migration/migration-tree-view-v6/migration-tree-view-v6.md @@ -36,10 +36,10 @@ You can either run it on a specific file, folder, or your entire codebase when c ```bash -// Tree View specific +# Tree View specific npx @mui/x-codemod@latest v7.0.0/tree-view/preset-safe -// Target other MUI X components as well +# Target other MUI X components as well npx @mui/x-codemod@latest v7.0.0/preset-safe ``` diff --git a/docs/data/migration/migration-tree-view-v7/migration-tree-view-v7.md b/docs/data/migration/migration-tree-view-v7/migration-tree-view-v7.md index 4420a0b036ae0..c4df67ad1b562 100644 --- a/docs/data/migration/migration-tree-view-v7/migration-tree-view-v7.md +++ b/docs/data/migration/migration-tree-view-v7/migration-tree-view-v7.md @@ -34,10 +34,10 @@ You can either run it on a specific file, folder, or your entire codebase when c ```bash -// Tree View specific +# Tree View specific npx @mui/x-codemod@latest v8.0.0/tree-view/preset-safe -// Target the other packages as well +# Target the other packages as well npx @mui/x-codemod@latest v8.0.0/preset-safe ``` diff --git a/docs/data/pages.ts b/docs/data/pages.ts index e3810ebd70049..7da1e4479c8e0 100644 --- a/docs/data/pages.ts +++ b/docs/data/pages.ts @@ -90,7 +90,6 @@ const pages: MuiPage[] = [ { pathname: '/x/react-data-grid/filtering/header-filters', plan: 'pro', - newFeature: true, }, { pathname: '/x/react-data-grid/filtering-recipes', title: 'Recipes' }, ], @@ -100,7 +99,7 @@ const pages: MuiPage[] = [ pathname: '/x/react-data-grid/selection', children: [ { pathname: '/x/react-data-grid/row-selection' }, - { pathname: '/x/react-data-grid/cell-selection', plan: 'premium', newFeature: true }, + { pathname: '/x/react-data-grid/cell-selection', plan: 'premium' }, ], }, { pathname: '/x/react-data-grid/virtualization' }, @@ -128,7 +127,7 @@ const pages: MuiPage[] = [ { pathname: '/x/react-data-grid/aggregation', plan: 'premium' }, { pathname: '/x/react-data-grid/pivoting', plan: 'premium', planned: true }, { pathname: '/x/react-data-grid/export' }, - { pathname: '/x/react-data-grid/clipboard', title: 'Copy and paste', newFeature: true }, + { pathname: '/x/react-data-grid/clipboard', title: 'Copy and paste' }, { pathname: '/x/react-data-grid/scrolling' }, { @@ -349,7 +348,6 @@ const pages: MuiPage[] = [ { pathname: '/x/react-date-pickers/date-time-range-picker', title: 'Date Time Range Picker', - newFeature: true, }, { pathname: '/x/react-date-pickers/date-time-range-field', @@ -419,7 +417,6 @@ const pages: MuiPage[] = [ { pathname: '/x/react-charts-group', title: 'Charts', - newFeature: true, children: [ { pathname: '/x/react-charts', title: 'Overview' }, { pathname: '/x/react-charts/getting-started' }, @@ -469,7 +466,6 @@ const pages: MuiPage[] = [ pathname: '/x/react-charts/heatmap', title: 'Heatmap', plan: 'pro', - unstable: true, }, { pathname: '/x/react-charts/main-features', @@ -488,7 +484,6 @@ const pages: MuiPage[] = [ pathname: '/x/react-charts/zoom-and-pan', title: 'Zoom and pan', plan: 'pro', - unstable: true, }, ], }, @@ -534,7 +529,6 @@ const pages: MuiPage[] = [ { pathname: '/x/react-tree-view-group', title: 'Tree View', - newFeature: true, children: [ { pathname: '/x/react-tree-view', title: 'Overview' }, { pathname: '/x/react-tree-view/getting-started' }, @@ -558,8 +552,8 @@ const pages: MuiPage[] = [ { pathname: '/x/react-tree-view/rich-tree-view/expansion' }, { pathname: '/x/react-tree-view/rich-tree-view/customization' }, { pathname: '/x/react-tree-view/rich-tree-view/focus' }, - { pathname: '/x/react-tree-view/rich-tree-view/editing' }, - { pathname: '/x/react-tree-view/rich-tree-view/ordering', plan: 'pro' }, + { pathname: '/x/react-tree-view/rich-tree-view/editing', newFeature: true }, + { pathname: '/x/react-tree-view/rich-tree-view/ordering', plan: 'pro', newFeature: true }, ], }, { diff --git a/docs/pages/x/api/data-grid/data-grid-premium.json b/docs/pages/x/api/data-grid/data-grid-premium.json index 478161ccf9672..1f5926d0df760 100644 --- a/docs/pages/x/api/data-grid/data-grid-premium.json +++ b/docs/pages/x/api/data-grid/data-grid-premium.json @@ -656,7 +656,8 @@ } }, "unstable_listView": { "type": { "name": "bool" } }, - "unstable_rowSpanning": { "type": { "name": "bool" }, "default": "false" } + "unstable_rowSpanning": { "type": { "name": "bool" }, "default": "false" }, + "virtualizeColumnsWithAutoRowHeight": { "type": { "name": "bool" }, "default": "false" } }, "name": "DataGridPremium", "imports": [ diff --git a/docs/pages/x/api/data-grid/data-grid-pro.json b/docs/pages/x/api/data-grid/data-grid-pro.json index 2852fe9fa58eb..68cdcb294447d 100644 --- a/docs/pages/x/api/data-grid/data-grid-pro.json +++ b/docs/pages/x/api/data-grid/data-grid-pro.json @@ -587,7 +587,8 @@ } }, "unstable_listView": { "type": { "name": "bool" } }, - "unstable_rowSpanning": { "type": { "name": "bool" }, "default": "false" } + "unstable_rowSpanning": { "type": { "name": "bool" }, "default": "false" }, + "virtualizeColumnsWithAutoRowHeight": { "type": { "name": "bool" }, "default": "false" } }, "name": "DataGridPro", "imports": [ diff --git a/docs/pages/x/api/data-grid/data-grid.json b/docs/pages/x/api/data-grid/data-grid.json index a601729893981..d681d91e252e8 100644 --- a/docs/pages/x/api/data-grid/data-grid.json +++ b/docs/pages/x/api/data-grid/data-grid.json @@ -485,7 +485,8 @@ }, "additionalInfo": { "sx": true } }, - "unstable_rowSpanning": { "type": { "name": "bool" }, "default": "false" } + "unstable_rowSpanning": { "type": { "name": "bool" }, "default": "false" }, + "virtualizeColumnsWithAutoRowHeight": { "type": { "name": "bool" }, "default": "false" } }, "name": "DataGrid", "imports": [ diff --git a/docs/translations/api-docs/data-grid/data-grid-premium/data-grid-premium.json b/docs/translations/api-docs/data-grid/data-grid-premium/data-grid-premium.json index f32970f0f23a9..f28eb0895d65d 100644 --- a/docs/translations/api-docs/data-grid/data-grid-premium/data-grid-premium.json +++ b/docs/translations/api-docs/data-grid/data-grid-premium/data-grid-premium.json @@ -669,6 +669,9 @@ }, "unstable_rowSpanning": { "description": "If true, the Data Grid will auto span the cells over the rows having the same value." + }, + "virtualizeColumnsWithAutoRowHeight": { + "description": "If true, the Data Grid enables column virtualization when getRowHeight is set to () => 'auto'. By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. For datasets with a large number of columns, this can cause performance issues. The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally." } }, "classDescriptions": { diff --git a/docs/translations/api-docs/data-grid/data-grid-pro/data-grid-pro.json b/docs/translations/api-docs/data-grid/data-grid-pro/data-grid-pro.json index c946f52e992b8..c39f3dd3c28e0 100644 --- a/docs/translations/api-docs/data-grid/data-grid-pro/data-grid-pro.json +++ b/docs/translations/api-docs/data-grid/data-grid-pro/data-grid-pro.json @@ -607,6 +607,9 @@ }, "unstable_rowSpanning": { "description": "If true, the Data Grid will auto span the cells over the rows having the same value." + }, + "virtualizeColumnsWithAutoRowHeight": { + "description": "If true, the Data Grid enables column virtualization when getRowHeight is set to () => 'auto'. By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. For datasets with a large number of columns, this can cause performance issues. The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally." } }, "classDescriptions": { diff --git a/docs/translations/api-docs/data-grid/data-grid/data-grid.json b/docs/translations/api-docs/data-grid/data-grid/data-grid.json index dc476f3453732..d0a980e2258c4 100644 --- a/docs/translations/api-docs/data-grid/data-grid/data-grid.json +++ b/docs/translations/api-docs/data-grid/data-grid/data-grid.json @@ -487,6 +487,9 @@ }, "unstable_rowSpanning": { "description": "If true, the Data Grid will auto span the cells over the rows having the same value." + }, + "virtualizeColumnsWithAutoRowHeight": { + "description": "If true, the Data Grid enables column virtualization when getRowHeight is set to () => 'auto'. By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. For datasets with a large number of columns, this can cause performance issues. The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally." } }, "classDescriptions": { diff --git a/package.json b/package.json index 31622c265acb6..d8fa45b27fdd5 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "devDependencies": { "@actions/core": "^1.11.1", "@actions/github": "^6.0.0", - "@argos-ci/core": "^2.10.0", + "@argos-ci/core": "^2.11.0", "@babel/cli": "^7.25.9", "@babel/core": "^7.26.0", "@babel/node": "^7.26.0", @@ -95,7 +95,7 @@ "@mui/internal-markdown": "^1.0.20", "@mui/internal-test-utils": "^1.0.21", "@mui/material": "^5.16.7", - "@mui/monorepo": "github:mui/material-ui#a0ffee42815b110e14107249f193b7505d1761e5", + "@mui/monorepo": "github:mui/material-ui#f706939f7ce7fd90d8d4436515d752daff7395c6", "@mui/utils": "^5.16.6", "@next/eslint-plugin-next": "15.0.3", "@octokit/plugin-retry": "^7.1.2", @@ -108,8 +108,8 @@ "@types/fs-extra": "^11.0.4", "@types/karma": "^6.3.9", "@types/lodash": "^4.17.13", - "@types/mocha": "^10.0.9", - "@types/node": "^20.17.6", + "@types/mocha": "^10.0.10", + "@types/node": "^20.17.7", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-test-renderer": "^18.3.0", @@ -152,7 +152,7 @@ "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110", "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-testing-library": "^6.4.0", + "eslint-plugin-testing-library": "^7.0.0", "fast-glob": "^3.3.2", "format-util": "^1.0.5", "fs-extra": "^11.2.0", @@ -189,7 +189,7 @@ "string-replace-loader": "^3.1.0", "terser-webpack-plugin": "^5.3.10", "tsx": "^4.19.2", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "unist-util-visit": "^5.0.0", "util": "^0.12.5", "webpack": "^5.96.1", @@ -199,11 +199,11 @@ }, "resolutions": { "react-is": "^18.3.1", - "@types/node": "^20.17.6" + "@types/node": "^20.17.7" }, - "packageManager": "pnpm@9.13.2", + "packageManager": "pnpm@9.14.2", "engines": { - "pnpm": "9.13.2" + "pnpm": "9.14.2" }, "pnpm": { "patchedDependencies": { diff --git a/packages/rsc-builder/package.json b/packages/rsc-builder/package.json index 84bffc3bad89d..9775f3113923e 100644 --- a/packages/rsc-builder/package.json +++ b/packages/rsc-builder/package.json @@ -8,7 +8,7 @@ "yargs": "^17.7.2" }, "devDependencies": { - "@types/mocha": "^10.0.9", - "@types/node": "^20.17.6" + "@types/mocha": "^10.0.10", + "@types/node": "^20.17.7" } } diff --git a/packages/x-codemod/README.md b/packages/x-codemod/README.md index 05de183880cf5..1537575f518eb 100644 --- a/packages/x-codemod/README.md +++ b/packages/x-codemod/README.md @@ -39,9 +39,10 @@ Examples: To pass more options directly to jscodeshift, use `--jscodeshift=...`. For example: ```bash -// single option +# single option npx @mui/x-codemod@next --jscodeshift=--run-in-band -// multiple options + +# multiple options npx @mui/x-codemod@next --jscodeshift=--cpus=1 --jscodeshift=--print --jscodeshift=--dry --jscodeshift=--verbose=2 ``` diff --git a/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx b/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx index 0f05ca94e442d..0566094f468a3 100644 --- a/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx +++ b/packages/x-data-grid-premium/src/DataGridPremium/DataGridPremium.tsx @@ -1127,6 +1127,14 @@ DataGridPremiumRaw.propTypes = { * @default false */ unstable_rowSpanning: PropTypes.bool, + /** + * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`. + * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. + * For datasets with a large number of columns, this can cause performance issues. + * The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally. + * @default false + */ + virtualizeColumnsWithAutoRowHeight: PropTypes.bool, } as any; interface DataGridPremiumComponent { diff --git a/packages/x-data-grid-premium/src/tests/rowSelection.DataGridPremium.test.tsx b/packages/x-data-grid-premium/src/tests/rowSelection.DataGridPremium.test.tsx index 88bb7b1dd69e0..69a67346684e3 100644 --- a/packages/x-data-grid-premium/src/tests/rowSelection.DataGridPremium.test.tsx +++ b/packages/x-data-grid-premium/src/tests/rowSelection.DataGridPremium.test.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { act, createRenderer, fireEvent } from '@mui/internal-test-utils'; import { getCell } from 'test/utils/helperFn'; +import { spy } from 'sinon'; import { expect } from 'chai'; import { DataGridPremium, @@ -68,6 +69,19 @@ describe(' - Row selection', () => { ); } + it('should auto select parents when controlling row selection model', () => { + const onRowSelectionModelChange = spy(); + render( + , + ); + + expect(onRowSelectionModelChange.lastCall.args[0]).to.deep.equal([ + 3, + 4, + 'auto-generated-row-category1/Cat B', + ]); + }); + it('should select all the children when selecting a parent', () => { render(); diff --git a/packages/x-data-grid-pro/src/DataGridPro/DataGridPro.tsx b/packages/x-data-grid-pro/src/DataGridPro/DataGridPro.tsx index cf10a788ce68c..206d7489f3ddc 100644 --- a/packages/x-data-grid-pro/src/DataGridPro/DataGridPro.tsx +++ b/packages/x-data-grid-pro/src/DataGridPro/DataGridPro.tsx @@ -1026,4 +1026,12 @@ DataGridProRaw.propTypes = { * @default false */ unstable_rowSpanning: PropTypes.bool, + /** + * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`. + * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. + * For datasets with a large number of columns, this can cause performance issues. + * The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally. + * @default false + */ + virtualizeColumnsWithAutoRowHeight: PropTypes.bool, } as any; 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 ad5d41c588c75..c9e93334b13a4 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 @@ -534,6 +534,18 @@ describe(' - Row selection', () => { ); } + it('should not auto select parents when controlling row selection model', () => { + const onRowSelectionModelChange = spy(); + render( + , + ); + + expect(onRowSelectionModelChange.callCount).to.equal(0); + }); + it('should select the parent only when selecting it', () => { render(); @@ -695,6 +707,19 @@ describe(' - Row selection', () => { ); } + it('should auto select parents when controlling row selection model', () => { + const onRowSelectionModelChange = spy(); + render( + , + ); + + expect(onRowSelectionModelChange.callCount).to.equal(2); // Dev mode calls twice + 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(); diff --git a/packages/x-data-grid/src/DataGrid/DataGrid.tsx b/packages/x-data-grid/src/DataGrid/DataGrid.tsx index ccda733ed0deb..2c33f6ec8e70c 100644 --- a/packages/x-data-grid/src/DataGrid/DataGrid.tsx +++ b/packages/x-data-grid/src/DataGrid/DataGrid.tsx @@ -821,4 +821,12 @@ DataGridRaw.propTypes = { * @default false */ unstable_rowSpanning: PropTypes.bool, + /** + * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`. + * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. + * For datasets with a large number of columns, this can cause performance issues. + * The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally. + * @default false + */ + virtualizeColumnsWithAutoRowHeight: PropTypes.bool, } as any; diff --git a/packages/x-data-grid/src/components/cell/GridCell.tsx b/packages/x-data-grid/src/components/cell/GridCell.tsx index f81ba9e89e3d5..54511abba199e 100644 --- a/packages/x-data-grid/src/components/cell/GridCell.tsx +++ b/packages/x-data-grid/src/components/cell/GridCell.tsx @@ -343,6 +343,7 @@ const GridCell = React.forwardRef(function GridCe padding: 0, opacity: 0, width: 0, + height: 0, border: 0, }; } diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarColumnsButton.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarColumnsButton.tsx index 58feb8f10f10c..bd93594271972 100644 --- a/packages/x-data-grid/src/components/toolbar/GridToolbarColumnsButton.tsx +++ b/packages/x-data-grid/src/components/toolbar/GridToolbarColumnsButton.tsx @@ -57,8 +57,8 @@ const GridToolbarColumnsButton = React.forwardRef } - {...buttonProps} onClick={showColumns} {...rootProps.slotProps?.baseButton} + {...buttonProps} > {apiRef.current.getLocaleText('toolbarColumns')} diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx index d6c952c6f543c..585e9ff849431 100644 --- a/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx +++ b/packages/x-data-grid/src/components/toolbar/GridToolbarDensitySelector.tsx @@ -110,8 +110,8 @@ const GridToolbarDensitySelector = React.forwardRef< {apiRef.current.getLocaleText('toolbarDensity')} diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarExportContainer.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarExportContainer.tsx index df889bd02870b..0a06d9e234ec0 100644 --- a/packages/x-data-grid/src/components/toolbar/GridToolbarExportContainer.tsx +++ b/packages/x-data-grid/src/components/toolbar/GridToolbarExportContainer.tsx @@ -59,8 +59,8 @@ const GridToolbarExportContainer = React.forwardRef< {apiRef.current.getLocaleText('toolbarExport')} diff --git a/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx b/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx index 5f7bbb6f473f7..29a4a8c637f63 100644 --- a/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx +++ b/packages/x-data-grid/src/components/toolbar/GridToolbarFilterButton.tsx @@ -8,6 +8,7 @@ import { } from '@mui/utils'; import { ButtonProps } from '@mui/material/Button'; import { TooltipProps } from '@mui/material/Tooltip'; +import { BadgeProps } from '@mui/material/Badge'; import { gridColumnLookupSelector } from '../../hooks/features/columns/gridColumnsSelector'; import { useGridSelector } from '../../hooks/utils/useGridSelector'; import { gridFilterActiveItemsSelector } from '../../hooks/features/filter/gridFilterSelector'; @@ -46,7 +47,11 @@ export interface GridToolbarFilterButtonProps { * The props used for each slot inside. * @default {} */ - slotProps?: { button?: Partial; tooltip?: Partial }; + slotProps?: { + button?: Partial; + tooltip?: Partial; + badge?: Partial; + }; } const GridToolbarFilterButton = React.forwardRef( @@ -54,6 +59,7 @@ const GridToolbarFilterButton = React.forwardRef + } - {...buttonProps} onClick={toggleFilter} {...rootProps.slotProps?.baseButton} + {...buttonProps} > {apiRef.current.getLocaleText('toolbarFilters')} diff --git a/packages/x-data-grid/src/constants/dataGridPropsDefaultValues.ts b/packages/x-data-grid/src/constants/dataGridPropsDefaultValues.ts index 689aa164e7a09..4c69790cebb67 100644 --- a/packages/x-data-grid/src/constants/dataGridPropsDefaultValues.ts +++ b/packages/x-data-grid/src/constants/dataGridPropsDefaultValues.ts @@ -59,4 +59,5 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES: DataGridPropsWithDefaultValues = { sortingOrder: ['asc' as const, 'desc' as const, null], throttleRowsMs: 0, unstable_rowSpanning: false, + virtualizeColumnsWithAutoRowHeight: false, }; diff --git a/packages/x-data-grid/src/constants/localeTextConstants.ts b/packages/x-data-grid/src/constants/localeTextConstants.ts index e1084f796c1e1..ceaafee36c5ab 100644 --- a/packages/x-data-grid/src/constants/localeTextConstants.ts +++ b/packages/x-data-grid/src/constants/localeTextConstants.ts @@ -34,7 +34,6 @@ export const GRID_DEFAULT_LOCALE_TEXT: GridLocaleText = { toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', toolbarPromptControlLabel: 'Prompt input', - toolbarPromptControlDeleteIconLabel: 'Clear', toolbarPromptControlRecordButtonDefaultLabel: 'Record', toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/hooks/core/useGridRefs.ts b/packages/x-data-grid/src/hooks/core/useGridRefs.ts index 815c7f56e3281..98e266fda316d 100644 --- a/packages/x-data-grid/src/hooks/core/useGridRefs.ts +++ b/packages/x-data-grid/src/hooks/core/useGridRefs.ts @@ -5,7 +5,7 @@ export const useGridRefs = ( apiRef: React.MutableRefObject, ) => { 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/features/rowSelection/useGridRowSelection.ts b/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelection.ts index 7fc8dd13d2ccf..2b67af5958ab7 100644 --- a/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelection.ts +++ b/packages/x-data-grid/src/hooks/features/rowSelection/useGridRowSelection.ts @@ -450,12 +450,8 @@ export const useGridRowSelection = ( /* * EVENTS */ - const isFirstRender = React.useRef(true); const removeOutdatedSelection = React.useCallback( (sortModelUpdated = false) => { - if (isFirstRender.current) { - return; - } const currentSelection = gridRowSelectionStateSelector(apiRef.current.state); const rowsLookup = gridRowsLookupSelector(apiRef); const filteredRowsLookup = gridFilteredRowsLookupSelector(apiRef); @@ -786,10 +782,4 @@ export const useGridRowSelection = ( React.useEffect(() => { runIfRowSelectionIsEnabled(removeOutdatedSelection); }, [removeOutdatedSelection, runIfRowSelectionIsEnabled]); - - React.useEffect(() => { - if (isFirstRender.current) { - isFirstRender.current = false; - } - }, []); }; 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 86435660917e7..679b05f8bbbbb 100644 --- a/packages/x-data-grid/src/hooks/features/virtualization/useGridVirtualScroller.tsx +++ b/packages/x-data-grid/src/hooks/features/virtualization/useGridVirtualScroller.tsx @@ -6,8 +6,8 @@ import { } from '@mui/utils'; import useLazyRef from '@mui/utils/useLazyRef'; import useTimeout from '@mui/utils/useTimeout'; -import { useResizeObserver } from '@mui/x-internals/useResizeObserver'; import { useRtl } from '@mui/system/RtlProvider'; +import reactMajor from '@mui/x-internals/reactMajor'; import type { GridPrivateApiCommunity } from '../../../models/api/gridApiCommunity'; import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext'; import { useGridRootProps } from '../../utils/useGridRootProps'; @@ -33,6 +33,7 @@ import type { GridRowEntry, GridRowId, } from '../../../models'; +import { DataGridProcessedProps } from '../../../models/props/DataGridProps'; import { selectedIdsLookupSelector } from '../rowSelection/gridRowSelectionSelector'; import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector'; import { getFirstNonSpannedColumnToRender } from '../columns/gridColumnsUtils'; @@ -135,7 +136,57 @@ export const useGridVirtualScroller = () => { const columnsTotalWidth = dimensions.columnsTotalWidth; const hasColSpan = useGridSelector(apiRef, gridHasColSpanSelector); - useResizeObserver(mainRef, () => apiRef.current.resize()); + const mainRefCallback = React.useCallback( + (node: HTMLDivElement | null) => { + mainRef.current = node; + + if (!node) { + return undefined; + } + + const initialRect = node.getBoundingClientRect(); + let lastSize = { + width: initialRect.width, + height: initialRect.height, + }; + + apiRef.current.publishEvent('resize', lastSize); + + if (typeof ResizeObserver === 'undefined') { + return undefined; + } + + const observer = new ResizeObserver((entries) => { + const entry = entries[0]; + if (!entry) { + return; + } + + const newSize = { + width: entry.contentRect.width, + height: entry.contentRect.height, + }; + + if (newSize.width === lastSize.width && newSize.height === lastSize.height) { + return; + } + + apiRef.current.publishEvent('resize', newSize); + lastSize = newSize; + }); + + observer.observe(node); + + if (reactMajor >= 19) { + return () => { + mainRef.current = null; + observer.disconnect(); + }; + } + return undefined; + }, + [apiRef, mainRef], + ); /* * Scroll context logic @@ -549,11 +600,6 @@ export const useGridVirtualScroller = () => { apiRef.current.publishEvent('virtualScrollerContentSizeChange'); }, [apiRef, contentSize]); - useEnhancedEffect(() => { - // FIXME: Is this really necessary? - apiRef.current.resize(); - }, [apiRef, rowsMeta.currentPageTotalHeight]); - useEnhancedEffect(() => { // TODO a scroll reset should not be necessary if (enabledForColumns) { @@ -596,7 +642,7 @@ export const useGridVirtualScroller = () => { setPanels, getRows, getContainerProps: () => ({ - ref: mainRef, + ref: mainRefCallback, }), getScrollerProps: () => ({ ref: scrollerRef, @@ -640,6 +686,7 @@ type RenderContextInputs = { visibleColumns: ReturnType; hiddenCellsOriginMap: ReturnType; listView: boolean; + virtualizeColumnsWithAutoRowHeight: DataGridProcessedProps['virtualizeColumnsWithAutoRowHeight']; }; function inputsSelector( @@ -677,6 +724,7 @@ function inputsSelector( visibleColumns, hiddenCellsOriginMap, listView: rootProps.unstable_listView ?? false, + virtualizeColumnsWithAutoRowHeight: rootProps.virtualizeColumnsWithAutoRowHeight, }; } @@ -740,12 +788,14 @@ function computeRenderContext( lastSize: inputs.lastRowHeight, }); - for (let i = firstRowToRender; i < lastRowToRender && !hasRowWithAutoHeight; i += 1) { - const row = inputs.rows[i]; - hasRowWithAutoHeight = inputs.apiRef.current.rowHasAutoHeight(row.id); + if (!inputs.virtualizeColumnsWithAutoRowHeight) { + for (let i = firstRowToRender; i < lastRowToRender && !hasRowWithAutoHeight; i += 1) { + const row = inputs.rows[i]; + hasRowWithAutoHeight = inputs.apiRef.current.rowHasAutoHeight(row.id); + } } - if (!hasRowWithAutoHeight) { + if (!hasRowWithAutoHeight || inputs.virtualizeColumnsWithAutoRowHeight) { firstColumnIndex = binarySearch(realLeft, inputs.columnPositions, { atStart: true, lastPosition: inputs.columnsTotalWidth, diff --git a/packages/x-data-grid/src/locales/arSD.ts b/packages/x-data-grid/src/locales/arSD.ts index f3feffb41c752..6bf6384234824 100644 --- a/packages/x-data-grid/src/locales/arSD.ts +++ b/packages/x-data-grid/src/locales/arSD.ts @@ -36,7 +36,6 @@ const arSDGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/beBY.ts b/packages/x-data-grid/src/locales/beBY.ts index 0e0154b1b8566..e08dcc017c49c 100644 --- a/packages/x-data-grid/src/locales/beBY.ts +++ b/packages/x-data-grid/src/locales/beBY.ts @@ -59,7 +59,6 @@ const beBYGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/bgBG.ts b/packages/x-data-grid/src/locales/bgBG.ts index 90a521efee20c..06eadc68a47bb 100644 --- a/packages/x-data-grid/src/locales/bgBG.ts +++ b/packages/x-data-grid/src/locales/bgBG.ts @@ -35,7 +35,6 @@ const bgBGGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/csCZ.ts b/packages/x-data-grid/src/locales/csCZ.ts index f6112b47e9717..43ed7268aaf42 100644 --- a/packages/x-data-grid/src/locales/csCZ.ts +++ b/packages/x-data-grid/src/locales/csCZ.ts @@ -43,7 +43,6 @@ const csCZGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/daDK.ts b/packages/x-data-grid/src/locales/daDK.ts index 001669e2c8da1..6e05df468d412 100644 --- a/packages/x-data-grid/src/locales/daDK.ts +++ b/packages/x-data-grid/src/locales/daDK.ts @@ -36,7 +36,6 @@ const daDKGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/deDE.ts b/packages/x-data-grid/src/locales/deDE.ts index 9e1b1cf3be959..64e680eb5428b 100644 --- a/packages/x-data-grid/src/locales/deDE.ts +++ b/packages/x-data-grid/src/locales/deDE.ts @@ -36,7 +36,6 @@ const deDEGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/elGR.ts b/packages/x-data-grid/src/locales/elGR.ts index 6e3c8d0f02d94..db548b4bc7ad1 100644 --- a/packages/x-data-grid/src/locales/elGR.ts +++ b/packages/x-data-grid/src/locales/elGR.ts @@ -36,7 +36,6 @@ const elGRGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/esES.ts b/packages/x-data-grid/src/locales/esES.ts index 25ee23998fbae..24b78720d0cec 100644 --- a/packages/x-data-grid/src/locales/esES.ts +++ b/packages/x-data-grid/src/locales/esES.ts @@ -32,16 +32,16 @@ const esESGrid: Partial = { toolbarQuickFilterDeleteIconLabel: 'Limpiar', // Prompt toolbar field - // toolbarPromptControlPlaceholder: 'Type a prompt…', - // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', - // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', - // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', - // toolbarPromptControlRecordButtonDefaultLabel: 'Record', - // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', - // toolbarPromptControlSendActionLabel: 'Send', - // toolbarPromptControlSendActionAriaLabel: 'Send prompt', - // toolbarPromptControlErrorMessage: 'An error occurred while processing the request. Please try again with a different prompt.', + toolbarPromptControlPlaceholder: 'Escriba un prompt…', + toolbarPromptControlWithRecordingPlaceholder: 'Escriba o grabe un prompt…', + toolbarPromptControlRecordingPlaceholder: 'Esperando por un prompt…', + toolbarPromptControlLabel: 'Introduzca un prompt', + toolbarPromptControlRecordButtonDefaultLabel: 'Grabar', + toolbarPromptControlRecordButtonActiveLabel: 'Parar de grabar', + toolbarPromptControlSendActionLabel: 'Enviar', + toolbarPromptControlSendActionAriaLabel: 'Enviar prompt', + toolbarPromptControlErrorMessage: + 'Ocurrió un error mientras se procesaba la petición. Por favor, intente de nuevo con otro prompt.', // Export selector toolbar button text toolbarExport: 'Exportar', @@ -55,7 +55,7 @@ const esESGrid: Partial = { columnsManagementNoColumns: 'Sin columnas', columnsManagementShowHideAllText: 'Mostrar/Ocultar todas', columnsManagementReset: 'Restablecer', - // columnsManagementDeleteIconLabel: 'Clear', + columnsManagementDeleteIconLabel: 'Limpiar', // Filter panel text filterPanelAddFilter: 'Agregar filtro', diff --git a/packages/x-data-grid/src/locales/faIR.ts b/packages/x-data-grid/src/locales/faIR.ts index d653346b0f035..05256edba0f1e 100644 --- a/packages/x-data-grid/src/locales/faIR.ts +++ b/packages/x-data-grid/src/locales/faIR.ts @@ -36,7 +36,6 @@ const faIRGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/fiFI.ts b/packages/x-data-grid/src/locales/fiFI.ts index 0abd2ed8a27e9..4bcd709021b26 100644 --- a/packages/x-data-grid/src/locales/fiFI.ts +++ b/packages/x-data-grid/src/locales/fiFI.ts @@ -36,7 +36,6 @@ const fiFIGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/frFR.ts b/packages/x-data-grid/src/locales/frFR.ts index 865b161b884e9..be535568d8eec 100644 --- a/packages/x-data-grid/src/locales/frFR.ts +++ b/packages/x-data-grid/src/locales/frFR.ts @@ -36,7 +36,6 @@ const frFRGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/heIL.ts b/packages/x-data-grid/src/locales/heIL.ts index 8a6806ba7d1cf..9385edd8fd399 100644 --- a/packages/x-data-grid/src/locales/heIL.ts +++ b/packages/x-data-grid/src/locales/heIL.ts @@ -36,7 +36,6 @@ const heILGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/hrHR.ts b/packages/x-data-grid/src/locales/hrHR.ts index edace0c4ba789..6c1028ad172a4 100644 --- a/packages/x-data-grid/src/locales/hrHR.ts +++ b/packages/x-data-grid/src/locales/hrHR.ts @@ -43,7 +43,6 @@ const hrHRGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/huHU.ts b/packages/x-data-grid/src/locales/huHU.ts index 89ebf8fab800d..f7fbf11010570 100644 --- a/packages/x-data-grid/src/locales/huHU.ts +++ b/packages/x-data-grid/src/locales/huHU.ts @@ -35,7 +35,6 @@ const huHUGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/isIS.ts b/packages/x-data-grid/src/locales/isIS.ts index 83c81b2b2e8a9..409e8ec548c59 100644 --- a/packages/x-data-grid/src/locales/isIS.ts +++ b/packages/x-data-grid/src/locales/isIS.ts @@ -36,7 +36,6 @@ const isISGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/itIT.ts b/packages/x-data-grid/src/locales/itIT.ts index 259bc49e693e5..967f96f2e4340 100644 --- a/packages/x-data-grid/src/locales/itIT.ts +++ b/packages/x-data-grid/src/locales/itIT.ts @@ -36,7 +36,6 @@ const itITGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/jaJP.ts b/packages/x-data-grid/src/locales/jaJP.ts index 2a53da98b87fe..82774b9a22716 100644 --- a/packages/x-data-grid/src/locales/jaJP.ts +++ b/packages/x-data-grid/src/locales/jaJP.ts @@ -35,7 +35,6 @@ const jaJPGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/koKR.ts b/packages/x-data-grid/src/locales/koKR.ts index 66a4d2d7014fc..e717071bf0e1a 100644 --- a/packages/x-data-grid/src/locales/koKR.ts +++ b/packages/x-data-grid/src/locales/koKR.ts @@ -35,7 +35,6 @@ const koKRGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/nbNO.ts b/packages/x-data-grid/src/locales/nbNO.ts index 87cc4d26f459c..87baf3f7a9287 100644 --- a/packages/x-data-grid/src/locales/nbNO.ts +++ b/packages/x-data-grid/src/locales/nbNO.ts @@ -36,7 +36,6 @@ const nbNOGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/nlNL.ts b/packages/x-data-grid/src/locales/nlNL.ts index 981f449015951..f710c2b2f9975 100644 --- a/packages/x-data-grid/src/locales/nlNL.ts +++ b/packages/x-data-grid/src/locales/nlNL.ts @@ -36,7 +36,6 @@ const nlNLGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/nnNO.ts b/packages/x-data-grid/src/locales/nnNO.ts index 987e6b5617781..73184bcb1e773 100644 --- a/packages/x-data-grid/src/locales/nnNO.ts +++ b/packages/x-data-grid/src/locales/nnNO.ts @@ -36,7 +36,6 @@ const nnNOGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/plPL.ts b/packages/x-data-grid/src/locales/plPL.ts index b9e6467e20179..cc5de7359d39a 100644 --- a/packages/x-data-grid/src/locales/plPL.ts +++ b/packages/x-data-grid/src/locales/plPL.ts @@ -35,7 +35,6 @@ const plPLGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/ptBR.ts b/packages/x-data-grid/src/locales/ptBR.ts index df742838bff80..7d8e46afeb343 100644 --- a/packages/x-data-grid/src/locales/ptBR.ts +++ b/packages/x-data-grid/src/locales/ptBR.ts @@ -32,16 +32,16 @@ const ptBRGrid: Partial = { toolbarQuickFilterDeleteIconLabel: 'Limpar', // Prompt toolbar field - // toolbarPromptControlPlaceholder: 'Type a prompt…', - // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', - // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', - // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', - // toolbarPromptControlRecordButtonDefaultLabel: 'Record', - // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', - // toolbarPromptControlSendActionLabel: 'Send', - // toolbarPromptControlSendActionAriaLabel: 'Send prompt', - // toolbarPromptControlErrorMessage: 'An error occurred while processing the request. Please try again with a different prompt.', + toolbarPromptControlPlaceholder: 'Digite um prompt…', + toolbarPromptControlWithRecordingPlaceholder: 'Digite ou grave um prompt…', + toolbarPromptControlRecordingPlaceholder: 'Ouvindo o prompt…', + toolbarPromptControlLabel: 'Entrada de prompt', + toolbarPromptControlRecordButtonDefaultLabel: 'Gravar', + toolbarPromptControlRecordButtonActiveLabel: 'Parar gravação', + toolbarPromptControlSendActionLabel: 'Enviar', + toolbarPromptControlSendActionAriaLabel: 'Enviar prompt', + toolbarPromptControlErrorMessage: + 'Ocorreu um erro ao processar a solicitação. Por favor, tente novamente com um prompt diferente.', // Export selector toolbar button text toolbarExport: 'Exportar', @@ -55,7 +55,7 @@ const ptBRGrid: Partial = { columnsManagementNoColumns: 'Nenhuma coluna', columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas', columnsManagementReset: 'Redefinir', - // columnsManagementDeleteIconLabel: 'Clear', + columnsManagementDeleteIconLabel: 'Limpar', // Filter panel text filterPanelAddFilter: 'Adicionar filtro', diff --git a/packages/x-data-grid/src/locales/ptPT.ts b/packages/x-data-grid/src/locales/ptPT.ts index ee6f9ae387f3f..25607c37c96cb 100644 --- a/packages/x-data-grid/src/locales/ptPT.ts +++ b/packages/x-data-grid/src/locales/ptPT.ts @@ -32,16 +32,16 @@ const ptPTGrid: Partial = { toolbarQuickFilterDeleteIconLabel: 'Claro', // Prompt toolbar field - // toolbarPromptControlPlaceholder: 'Type a prompt…', - // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', - // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', - // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', - // toolbarPromptControlRecordButtonDefaultLabel: 'Record', - // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', - // toolbarPromptControlSendActionLabel: 'Send', - // toolbarPromptControlSendActionAriaLabel: 'Send prompt', - // toolbarPromptControlErrorMessage: 'An error occurred while processing the request. Please try again with a different prompt.', + toolbarPromptControlPlaceholder: 'Digite um prompt…', + toolbarPromptControlWithRecordingPlaceholder: 'Digite ou grave um prompt…', + toolbarPromptControlRecordingPlaceholder: 'Ouvindo o prompt…', + toolbarPromptControlLabel: 'Entrada de prompt', + toolbarPromptControlRecordButtonDefaultLabel: 'Gravar', + toolbarPromptControlRecordButtonActiveLabel: 'Parar gravação', + toolbarPromptControlSendActionLabel: 'Enviar', + toolbarPromptControlSendActionAriaLabel: 'Enviar prompt', + toolbarPromptControlErrorMessage: + 'Ocorreu um erro ao processar a solicitação. Por favor, tente novamente com um prompt diferente.', // Export selector toolbar button text toolbarExport: 'Exportar', @@ -55,7 +55,7 @@ const ptPTGrid: Partial = { columnsManagementNoColumns: 'Sem colunas', columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas', columnsManagementReset: 'Repor', - // columnsManagementDeleteIconLabel: 'Clear', + columnsManagementDeleteIconLabel: 'Limpar', // Filter panel text filterPanelAddFilter: 'Adicionar filtro', diff --git a/packages/x-data-grid/src/locales/roRO.ts b/packages/x-data-grid/src/locales/roRO.ts index 96201ac0c8f86..778b94e1b1725 100644 --- a/packages/x-data-grid/src/locales/roRO.ts +++ b/packages/x-data-grid/src/locales/roRO.ts @@ -36,7 +36,6 @@ const roROGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/ruRU.ts b/packages/x-data-grid/src/locales/ruRU.ts index 26e2df5b2b3b5..e735fb745ec07 100644 --- a/packages/x-data-grid/src/locales/ruRU.ts +++ b/packages/x-data-grid/src/locales/ruRU.ts @@ -60,7 +60,6 @@ const ruRUGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/skSK.ts b/packages/x-data-grid/src/locales/skSK.ts index adac6a559a22b..d49222bf9ec4f 100644 --- a/packages/x-data-grid/src/locales/skSK.ts +++ b/packages/x-data-grid/src/locales/skSK.ts @@ -43,7 +43,6 @@ const skSKGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/svSE.ts b/packages/x-data-grid/src/locales/svSE.ts index 3cb7837c85155..80e3381c27f6a 100644 --- a/packages/x-data-grid/src/locales/svSE.ts +++ b/packages/x-data-grid/src/locales/svSE.ts @@ -36,7 +36,6 @@ const svSEGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/trTR.ts b/packages/x-data-grid/src/locales/trTR.ts index cd7477d8f6d64..e3064ebdcc86d 100644 --- a/packages/x-data-grid/src/locales/trTR.ts +++ b/packages/x-data-grid/src/locales/trTR.ts @@ -35,7 +35,6 @@ const trTRGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/ukUA.ts b/packages/x-data-grid/src/locales/ukUA.ts index fe8e5ea7d42ba..f52cd9579af9a 100644 --- a/packages/x-data-grid/src/locales/ukUA.ts +++ b/packages/x-data-grid/src/locales/ukUA.ts @@ -60,7 +60,6 @@ const ukUAGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/urPK.ts b/packages/x-data-grid/src/locales/urPK.ts index 64a982e1644c5..c60e2ff35aa68 100644 --- a/packages/x-data-grid/src/locales/urPK.ts +++ b/packages/x-data-grid/src/locales/urPK.ts @@ -36,7 +36,6 @@ const urPKGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/viVN.ts b/packages/x-data-grid/src/locales/viVN.ts index 17e744e5c2218..478d77e19cd42 100644 --- a/packages/x-data-grid/src/locales/viVN.ts +++ b/packages/x-data-grid/src/locales/viVN.ts @@ -36,7 +36,6 @@ const viVNGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/zhCN.ts b/packages/x-data-grid/src/locales/zhCN.ts index d5d23dc46a538..7725372ac5df2 100644 --- a/packages/x-data-grid/src/locales/zhCN.ts +++ b/packages/x-data-grid/src/locales/zhCN.ts @@ -35,7 +35,6 @@ const zhCNGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/zhHK.ts b/packages/x-data-grid/src/locales/zhHK.ts index 8b26659f82eec..808184786e511 100644 --- a/packages/x-data-grid/src/locales/zhHK.ts +++ b/packages/x-data-grid/src/locales/zhHK.ts @@ -36,7 +36,6 @@ const zhHKGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/locales/zhTW.ts b/packages/x-data-grid/src/locales/zhTW.ts index c0378c558eb47..2356a46c0f415 100644 --- a/packages/x-data-grid/src/locales/zhTW.ts +++ b/packages/x-data-grid/src/locales/zhTW.ts @@ -35,7 +35,6 @@ const zhTWGrid: Partial = { // toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…', // toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…', // toolbarPromptControlLabel: 'Prompt input', - // toolbarPromptControlDeleteIconLabel: 'Clear', // toolbarPromptControlRecordButtonDefaultLabel: 'Record', // toolbarPromptControlRecordButtonActiveLabel: 'Stop recording', // toolbarPromptControlSendActionLabel: 'Send', diff --git a/packages/x-data-grid/src/models/api/gridCoreApi.ts b/packages/x-data-grid/src/models/api/gridCoreApi.ts index 1dfaf2834b597..c5d7be49b1fd3 100644 --- a/packages/x-data-grid/src/models/api/gridCoreApi.ts +++ b/packages/x-data-grid/src/models/api/gridCoreApi.ts @@ -67,7 +67,7 @@ export interface GridCorePrivateApi< /** * The React ref of the grid main container div element. */ - mainElementRef: React.RefObject; + mainElementRef: React.MutableRefObject; /** * The React ref of the grid's virtual scroller container element. */ diff --git a/packages/x-data-grid/src/models/api/gridLocaleTextApi.ts b/packages/x-data-grid/src/models/api/gridLocaleTextApi.ts index 8d68bb07669e7..17a1ea32356d0 100644 --- a/packages/x-data-grid/src/models/api/gridLocaleTextApi.ts +++ b/packages/x-data-grid/src/models/api/gridLocaleTextApi.ts @@ -46,7 +46,6 @@ export interface GridLocaleText { toolbarPromptControlWithRecordingPlaceholder: string; toolbarPromptControlRecordingPlaceholder: string; toolbarPromptControlLabel: string; - toolbarPromptControlDeleteIconLabel: string; toolbarPromptControlRecordButtonDefaultLabel: string; toolbarPromptControlRecordButtonActiveLabel: string; toolbarPromptControlSendActionLabel: string; diff --git a/packages/x-data-grid/src/models/props/DataGridProps.ts b/packages/x-data-grid/src/models/props/DataGridProps.ts index b35fa21f220ec..abf591bedcd50 100644 --- a/packages/x-data-grid/src/models/props/DataGridProps.ts +++ b/packages/x-data-grid/src/models/props/DataGridProps.ts @@ -396,6 +396,14 @@ export interface DataGridPropsWithDefaultValues 'auto'`. + * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly. + * For datasets with a large number of columns, this can cause performance issues. + * The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally. + * @default false + */ + virtualizeColumnsWithAutoRowHeight: boolean; } /** diff --git a/packages/x-date-pickers-pro/README.md b/packages/x-date-pickers-pro/README.md index 7aa6eabaaba4b..7530c5793036f 100644 --- a/packages/x-date-pickers-pro/README.md +++ b/packages/x-date-pickers-pro/README.md @@ -20,13 +20,16 @@ The pickers currently support the following date libraries: - [Moment.js](https://momentjs.com/) ```bash -// date-fns +# date-fns npm install date-fns -// or dayjs + +# or dayjs npm install dayjs -// or luxon + +# or luxon npm install luxon -// or moment + +# or moment npm install moment ``` diff --git a/packages/x-date-pickers/README.md b/packages/x-date-pickers/README.md index c070227afa4af..db8b1180d889e 100644 --- a/packages/x-date-pickers/README.md +++ b/packages/x-date-pickers/README.md @@ -20,13 +20,16 @@ The pickers currently support the following date libraries: - [Moment.js](https://momentjs.com/) ```bash -// date-fns +# date-fns npm install date-fns -// or dayjs + +# or dayjs npm install dayjs -// or luxon + +# or luxon npm install luxon -// or moment + +# or moment npm install moment ``` diff --git a/packages/x-date-pickers/src/locales/nlNL.ts b/packages/x-date-pickers/src/locales/nlNL.ts index a8f167718b2c0..18de679b02f4e 100644 --- a/packages/x-date-pickers/src/locales/nlNL.ts +++ b/packages/x-date-pickers/src/locales/nlNL.ts @@ -25,10 +25,10 @@ const nlNLPickers: Partial = { // DateRange labels start: 'Start', end: 'Einde', - startDate: 'Start datum', - startTime: 'Start tijd', - endDate: 'Eind datum', - endTime: 'Eind tijd', + startDate: 'Startdatum', + startTime: 'Starttijd', + endDate: 'Einddatum', + endTime: 'Eindtijd', // Action bar cancelButtonLabel: 'Annuleren', @@ -70,11 +70,11 @@ const nlNLPickers: Partial = { dateTableLabel: 'kies datum', // Field section placeholders - fieldYearPlaceholder: (params) => 'Y'.repeat(params.digitAmount), + fieldYearPlaceholder: (params) => 'J'.repeat(params.digitAmount), fieldMonthPlaceholder: (params) => (params.contentType === 'letter' ? 'MMMM' : 'MM'), fieldDayPlaceholder: () => 'DD', fieldWeekDayPlaceholder: (params) => (params.contentType === 'letter' ? 'EEEE' : 'EE'), - fieldHoursPlaceholder: () => 'hh', + fieldHoursPlaceholder: () => 'uu', fieldMinutesPlaceholder: () => 'mm', fieldSecondsPlaceholder: () => 'ss', fieldMeridiemPlaceholder: () => 'aa', @@ -90,7 +90,7 @@ const nlNLPickers: Partial = { meridiem: 'Middag', // Common - empty: 'Legen', + empty: 'Leeg', }; export const nlNL = getPickersLocalization(nlNLPickers); diff --git a/packages/x-internals/src/reactMajor.ts b/packages/x-internals/src/reactMajor.ts new file mode 100644 index 0000000000000..2028b806152d5 --- /dev/null +++ b/packages/x-internals/src/reactMajor.ts @@ -0,0 +1,3 @@ +import * as React from 'react'; + +export default parseInt(React.version, 10); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f99814099c99..515139eb6c944 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: overrides: react-is: ^18.3.1 - '@types/node': ^20.17.6 + '@types/node': ^20.17.7 patchedDependencies: babel-plugin-replace-imports@1.0.2: @@ -27,8 +27,8 @@ importers: specifier: ^6.0.0 version: 6.0.0 '@argos-ci/core': - specifier: ^2.10.0 - version: 2.10.0 + specifier: ^2.11.0 + version: 2.11.0 '@babel/cli': specifier: ^7.25.9 version: 7.25.9(@babel/core@7.26.0) @@ -99,8 +99,8 @@ importers: 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) '@mui/monorepo': - specifier: github:mui/material-ui#a0ffee42815b110e14107249f193b7505d1761e5 - version: https://codeload.github.com/mui/material-ui/tar.gz/a0ffee42815b110e14107249f193b7505d1761e5(encoding@0.1.13) + specifier: github:mui/material-ui#f706939f7ce7fd90d8d4436515d752daff7395c6 + version: https://codeload.github.com/mui/material-ui/tar.gz/f706939f7ce7fd90d8d4436515d752daff7395c6(encoding@0.1.13) '@mui/utils': specifier: ^5.16.6 version: 5.16.6(@types/react@18.3.12)(react@18.3.1) @@ -138,11 +138,11 @@ importers: specifier: ^4.17.13 version: 4.17.13 '@types/mocha': - specifier: ^10.0.9 - version: 10.0.9 + specifier: ^10.0.10 + version: 10.0.10 '@types/node': - specifier: ^20.17.6 - version: 20.17.6 + specifier: ^20.17.7 + version: 20.17.7 '@types/react': specifier: ^18.3.12 version: 18.3.12 @@ -163,10 +163,10 @@ importers: version: 17.0.33 '@typescript-eslint/eslint-plugin': specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.6.3) + version: 7.18.0(eslint@8.57.1)(typescript@5.7.2) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -232,7 +232,7 @@ importers: version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@5.0.0(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1) eslint-config-airbnb-typescript: specifier: ^18.0.0 - version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.1) @@ -244,7 +244,7 @@ importers: version: 1.3.2(eslint@8.57.1) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) eslint-plugin-jsdoc: specifier: ^50.5.0 version: 50.5.0(eslint@8.57.1) @@ -270,8 +270,8 @@ importers: specifier: ^5.0.0 version: 5.0.0(eslint@8.57.1) eslint-plugin-testing-library: - specifier: ^6.4.0 - version: 6.4.0(eslint@8.57.1)(typescript@5.6.3) + specifier: ^7.0.0 + version: 7.0.0(eslint@8.57.1)(typescript@5.7.2) fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -381,8 +381,8 @@ importers: specifier: ^4.19.2 version: 4.19.2 typescript: - specifier: ^5.6.3 - version: 5.6.3 + specifier: ^5.7.2 + version: 5.7.2 unist-util-visit: specifier: ^5.0.0 version: 5.0.0 @@ -710,10 +710,10 @@ importers: version: 8.56.12 '@typescript-eslint/parser': specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.6.3) + version: 7.18.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/utils': specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.6.3) + version: 7.18.0(eslint@8.57.1)(typescript@5.7.2) packages/rsc-builder: dependencies: @@ -725,11 +725,11 @@ importers: version: 17.7.2 devDependencies: '@types/mocha': - specifier: ^10.0.9 - version: 10.0.9 + specifier: ^10.0.10 + version: 10.0.10 '@types/node': - specifier: ^20.17.6 - version: 20.17.6 + specifier: ^20.17.7 + version: 20.17.7 packages/x-charts: dependencies: @@ -1653,7 +1653,7 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: ^3.1.1 - version: 3.1.1(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))(vitest@2.1.5) + version: 3.1.1(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))(vitest@2.1.5) '@emotion/react': specifier: ^11.13.3 version: 11.13.3(@types/react@18.3.12)(react@18.3.1) @@ -1674,13 +1674,13 @@ importers: version: 14.5.2(@testing-library/dom@10.4.0) '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0)) + version: 4.3.3(vite@5.3.4(@types/node@20.17.7)(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.17.6)(terser@5.27.0)) + version: 3.7.1(@swc/helpers@0.5.5)(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0)) '@vitest/browser': specifier: 2.1.5 - version: 2.1.5(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))(vitest@2.1.5) + version: 2.1.5(@types/node@20.17.7)(playwright@1.48.2)(typescript@5.7.2)(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))(vitest@2.1.5) '@vitest/ui': specifier: 2.1.5 version: 2.1.5(vitest@2.1.5) @@ -1695,7 +1695,7 @@ importers: version: 18.3.1(react@18.3.1) vitest: specifier: 2.1.5 - version: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(terser@5.27.0) + version: 2.1.5(@types/node@20.17.7)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(terser@5.27.0) packages: @@ -1801,8 +1801,8 @@ packages: resolution: {integrity: sha512-oRCaqA4DZn+yxD78/dqPTcz7dJd5SIU+GwnlvqorGLw6bktQ3TMPmKND/jb/GOf8tUpOs9FrSrwxVwFjYfiVeg==} engines: {node: '>=18.0.0'} - '@argos-ci/core@2.10.0': - resolution: {integrity: sha512-mj+qt+SFYm5lM+TrDiDXEpLy5pTiznVSHktO+uhKBrAgpG3i2n3x21SITK+mERjpkxX40Tz5Dr7MYus6YWTLsQ==} + '@argos-ci/core@2.11.0': + resolution: {integrity: sha512-Dvr9iNv/yeGuptjRtVZuO9oO/Z/69Bg9Kndc55eycWhn6GLOTFgLn3yKPYsf1bsobHTFJUa7beuc3n8d/AIxPA==} engines: {node: '>=18.0.0'} '@argos-ci/util@2.2.0': @@ -3028,7 +3028,7 @@ packages: resolution: {integrity: sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==} engines: {node: '>=18'} peerDependencies: - '@types/node': ^20.17.6 + '@types/node': ^20.17.7 '@inquirer/core@10.0.1': resolution: {integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==} @@ -3042,7 +3042,7 @@ packages: resolution: {integrity: sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==} engines: {node: '>=18'} peerDependencies: - '@types/node': ^20.17.6 + '@types/node': ^20.17.7 '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -3224,10 +3224,10 @@ packages: '@types/react': optional: true - '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/a0ffee42815b110e14107249f193b7505d1761e5': - resolution: {tarball: https://codeload.github.com/mui/material-ui/tar.gz/a0ffee42815b110e14107249f193b7505d1761e5} - version: 6.1.7 - engines: {pnpm: 9.12.3} + '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/f706939f7ce7fd90d8d4436515d752daff7395c6': + resolution: {tarball: https://codeload.github.com/mui/material-ui/tar.gz/f706939f7ce7fd90d8d4436515d752daff7395c6} + version: 6.1.8 + engines: {pnpm: 9.13.2} '@mui/private-theming@5.16.6': resolution: {integrity: sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==} @@ -4211,8 +4211,8 @@ packages: '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/mocha@10.0.9': - resolution: {integrity: sha512-sicdRoWtYevwxjOHNMPTl3vSfJM6oyW8o1wXeI7uww6b6xHg8eBznQDNSGBCDJmsE8UMxP05JgZRtsKbTqt//Q==} + '@types/mocha@10.0.10': + resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} '@types/moment-hijri@2.1.4': resolution: {integrity: sha512-pGX1DaSducJDkJAC3q8fCuemow0pzI4oa0iKcspwQNPXuwlI55WRgBVrA6NVi+rf8bZN1qjWVsGdUatrLhZk6Q==} @@ -4223,8 +4223,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@20.17.6': - resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} + '@types/node@20.17.7': + resolution: {integrity: sha512-sZXXnpBFMKbao30dUAvzKbdwA2JM1fwUtVEq/kxKuPI5mMwZiRElCpTXb0Biq/LMEVpXDZL5G5V0RPnxKeyaYg==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -4331,14 +4331,14 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.15.0': + resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@7.18.0': resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -4349,22 +4349,13 @@ packages: typescript: optional: true - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/types@7.18.0': resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/types@8.15.0': + resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} @@ -4375,11 +4366,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/typescript-estree@8.15.0': + resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} @@ -4387,14 +4381,24 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@8.15.0': + resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.15.0': + resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -6107,11 +6111,11 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-testing-library@6.4.0: - resolution: {integrity: sha512-yeWF+YgCgvNyPNI9UKnG0FjeE2sk93N/3lsKqcmR8dSfeXJwFT5irnWo7NjLf152HkRzfoFjh3LsBUrhvFz4eA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + eslint-plugin-testing-library@7.0.0: + resolution: {integrity: sha512-Bwrn5Qi08Lf5Huv4ZGDNYxwkFLAyGQIPB9lC0ALlojymP32aKsSxWnccP1NvIcI5vMhkENg4Y5Td/Q9/tLYmGQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, npm: '>=9.8.1'} peerDependencies: - eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} @@ -6135,8 +6139,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint@8.57.1: @@ -6634,8 +6638,8 @@ packages: resolution: {integrity: sha512-4kKdWXTtgQ4biIo7hZA396HT062nDVVHPjQcurNZ3o/voYN+o5FUC5kOwuORbpExp3XbTJ3SU7iRipiIhQtovw==} engines: {node: '>=14'} - google-auth-library@9.14.2: - resolution: {integrity: sha512-R+FRIfk1GBo3RdlRYWPdwk8nmtVUOn6+BkDomAC46KoU8kzXzE1HLmOasSCbWUByMMAGkknVF0G5kQ69Vj7dlA==} + google-auth-library@9.15.0: + resolution: {integrity: sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==} engines: {node: '>=14'} googleapis-common@7.0.1: @@ -9722,9 +9726,6 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -9732,12 +9733,6 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tsx@4.19.2: resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} engines: {node: '>=18.0.0'} @@ -9829,8 +9824,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true @@ -10021,7 +10016,7 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': ^20.17.6 + '@types/node': ^20.17.7 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -10050,7 +10045,7 @@ packages: hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': ^20.17.6 + '@types/node': ^20.17.7 '@vitest/browser': 2.1.5 '@vitest/ui': 2.1.5 happy-dom: '*' @@ -10521,7 +10516,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@argos-ci/core@2.10.0': + '@argos-ci/core@2.11.0': dependencies: '@argos-ci/api-client': 0.7.0 '@argos-ci/util': 2.2.0 @@ -11386,11 +11381,11 @@ snapshots: transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@3.1.1(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))(vitest@2.1.5)': + '@codspeed/vitest-plugin@3.1.1(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))(vitest@2.1.5)': dependencies: '@codspeed/core': 3.1.1 - vite: 5.3.4(@types/node@20.17.6)(terser@5.27.0) - vitest: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(terser@5.27.0) + vite: 5.3.4(@types/node@20.17.7)(terser@5.27.0) + vitest: 2.1.5(@types/node@20.17.7)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(terser@5.27.0) transitivePeerDependencies: - debug @@ -11689,7 +11684,7 @@ snapshots: '@fast-csv/format@4.3.5': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 lodash.escaperegexp: 4.1.2 lodash.isboolean: 3.0.3 lodash.isequal: 4.5.0 @@ -11698,7 +11693,7 @@ snapshots: '@fast-csv/parse@4.3.6': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 lodash.escaperegexp: 4.1.2 lodash.groupby: 4.6.0 lodash.isfunction: 3.0.9 @@ -11837,16 +11832,16 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true - '@inquirer/confirm@5.0.1(@types/node@20.17.6)': + '@inquirer/confirm@5.0.1(@types/node@20.17.7)': dependencies: - '@inquirer/core': 10.0.1(@types/node@20.17.6) - '@inquirer/type': 3.0.0(@types/node@20.17.6) - '@types/node': 20.17.6 + '@inquirer/core': 10.0.1(@types/node@20.17.7) + '@inquirer/type': 3.0.0(@types/node@20.17.7) + '@types/node': 20.17.7 - '@inquirer/core@10.0.1(@types/node@20.17.6)': + '@inquirer/core@10.0.1(@types/node@20.17.7)': dependencies: '@inquirer/figures': 1.0.7 - '@inquirer/type': 3.0.0(@types/node@20.17.6) + '@inquirer/type': 3.0.0(@types/node@20.17.7) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -11859,9 +11854,9 @@ snapshots: '@inquirer/figures@1.0.7': {} - '@inquirer/type@3.0.0(@types/node@20.17.6)': + '@inquirer/type@3.0.0(@types/node@20.17.7)': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@isaacs/cliui@8.0.2': dependencies: @@ -11910,7 +11905,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.5.0 - '@lerna/create@8.1.9(@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.9(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.7.2)': dependencies: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 @@ -11928,7 +11923,7 @@ snapshots: console-control-strings: 1.1.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 9.0.0(typescript@5.6.3) + cosmiconfig: 9.0.0(typescript@5.7.2) dedent: 1.5.3(babel-plugin-macros@3.1.0) execa: 5.0.0 fs-extra: 11.2.0 @@ -12053,7 +12048,7 @@ snapshots: '@mui/internal-docs-utils@1.0.15': dependencies: rimraf: 6.0.1 - typescript: 5.6.3 + typescript: 5.7.2 '@mui/internal-markdown@1.0.20': dependencies: @@ -12072,7 +12067,7 @@ snapshots: '@mui/internal-docs-utils': 1.0.15 doctrine: 3.0.0 lodash: 4.17.21 - typescript: 5.6.3 + typescript: 5.7.2 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -12176,13 +12171,13 @@ snapshots: '@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/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/a0ffee42815b110e14107249f193b7505d1761e5(encoding@0.1.13)': + '@mui/monorepo@https://codeload.github.com/mui/material-ui/tar.gz/f706939f7ce7fd90d8d4436515d752daff7395c6(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 - google-auth-library: 9.14.2(encoding@0.1.13) + google-auth-library: 9.15.0(encoding@0.1.13) transitivePeerDependencies: - bufferutil - debug @@ -12974,14 +12969,14 @@ snapshots: '@slack/logger@4.0.0': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@slack/oauth@3.0.1': dependencies: '@slack/logger': 4.0.0 '@slack/web-api': 7.7.0 '@types/jsonwebtoken': 9.0.7 - '@types/node': 20.17.6 + '@types/node': 20.17.7 jsonwebtoken: 9.0.2 lodash.isstring: 4.0.1 transitivePeerDependencies: @@ -12991,7 +12986,7 @@ snapshots: dependencies: '@slack/logger': 4.0.0 '@slack/web-api': 7.7.0 - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/ws': 8.5.13 eventemitter3: 5.0.1 ws: 8.18.0 @@ -13006,7 +13001,7 @@ snapshots: dependencies: '@slack/logger': 4.0.0 '@slack/types': 2.13.0 - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/retry': 0.12.0 axios: 1.7.7(debug@4.3.7) eventemitter3: 5.0.1 @@ -13151,7 +13146,7 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/chai-dom@1.11.3': dependencies: @@ -13163,7 +13158,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/cookie@0.4.1': {} @@ -13171,7 +13166,7 @@ snapshots: '@types/cors@2.8.17': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/d3-array@3.2.1': {} @@ -13223,7 +13218,7 @@ snapshots: '@types/express-serve-static-core@4.17.42': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13240,7 +13235,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/gtag.js@0.0.20': {} @@ -13263,15 +13258,15 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/jsonwebtoken@9.0.7': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/karma@6.3.9': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 log4js: 6.9.1 transitivePeerDependencies: - supports-color @@ -13292,7 +13287,7 @@ snapshots: '@types/minimist@1.2.5': {} - '@types/mocha@10.0.9': {} + '@types/mocha@10.0.10': {} '@types/moment-hijri@2.1.4': dependencies: @@ -13304,7 +13299,7 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node@20.17.6': + '@types/node@20.17.7': dependencies: undici-types: 6.19.8 @@ -13355,13 +13350,13 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/sinon@17.0.3': dependencies: @@ -13383,7 +13378,7 @@ snapshots: '@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.96.1))': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 tapable: 2.2.1 webpack: 5.96.1(@swc/core@1.7.35(@swc/helpers@0.5.5))(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.96.1)) transitivePeerDependencies: @@ -13394,7 +13389,7 @@ snapshots: '@types/ws@8.5.13': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/yargs-parser@21.0.3': {} @@ -13402,159 +13397,157 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.18.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.62.0': - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/scope-manager@8.15.0': 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) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 + + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@5.62.0': {} - '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.3)': + '@typescript-eslint/types@8.15.0': {} + + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.7(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.4 semver: 7.6.3 - tsutils: 3.21.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.15.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@8.1.1) - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) eslint: 8.57.1 - eslint-scope: 5.1.1 - semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@8.15.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.7.2) eslint: 8.57.1 + optionalDependencies: + typescript: 5.7.2 transitivePeerDependencies: - supports-color - - typescript - - '@typescript-eslint/visitor-keys@5.62.0': - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 '@typescript-eslint/visitor-keys@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.15.0': + dependencies: + '@typescript-eslint/types': 8.15.0 + eslint-visitor-keys: 4.2.0 + '@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.17.6)(terser@5.27.0))': + '@vitejs/plugin-react-swc@3.7.1(@swc/helpers@0.5.5)(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))': dependencies: '@swc/core': 1.7.35(@swc/helpers@0.5.5) - vite: 5.3.4(@types/node@20.17.6)(terser@5.27.0) + vite: 5.3.4(@types/node@20.17.7)(terser@5.27.0) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.3(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))': + '@vitejs/plugin-react@4.3.3(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.4(@types/node@20.17.6)(terser@5.27.0) + vite: 5.3.4(@types/node@20.17.7)(terser@5.27.0) transitivePeerDependencies: - supports-color - '@vitest/browser@2.1.5(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))(vitest@2.1.5)': + '@vitest/browser@2.1.5(@types/node@20.17.7)(playwright@1.48.2)(typescript@5.7.2)(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))(vitest@2.1.5)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/mocker': 2.1.5(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0)) + '@vitest/mocker': 2.1.5(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0)) '@vitest/utils': 2.1.5 magic-string: 0.30.12 - msw: 2.6.5(@types/node@20.17.6)(typescript@5.6.3) + msw: 2.6.5(@types/node@20.17.7)(typescript@5.7.2) sirv: 3.0.0 tinyrainbow: 1.2.0 - vitest: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(terser@5.27.0) + vitest: 2.1.5(@types/node@20.17.7)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(terser@5.27.0) ws: 8.18.0 optionalDependencies: playwright: 1.48.2 @@ -13572,14 +13565,14 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.5(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))': + '@vitest/mocker@2.1.5(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))': dependencies: '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - msw: 2.6.5(@types/node@20.17.6)(typescript@5.6.3) - vite: 5.3.4(@types/node@20.17.6)(terser@5.27.0) + msw: 2.6.5(@types/node@20.17.7)(typescript@5.7.2) + vite: 5.3.4(@types/node@20.17.7)(terser@5.27.0) '@vitest/pretty-format@2.1.5': dependencies: @@ -13609,7 +13602,7 @@ snapshots: sirv: 3.0.0 tinyglobby: 0.2.10 tinyrainbow: 1.2.0 - vitest: 2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(terser@5.27.0) + vitest: 2.1.5(@types/node@20.17.7)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(terser@5.27.0) '@vitest/utils@2.1.5': dependencies: @@ -14725,14 +14718,14 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@9.0.0(typescript@5.6.3): + cosmiconfig@9.0.0(typescript@5.7.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 cp-file@10.0.0: dependencies: @@ -15161,7 +15154,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 20.17.6 + '@types/node': 20.17.7 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -15379,15 +15372,15 @@ snapshots: dependencies: confusing-browser-globals: 1.0.11 eslint: 8.57.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) object.assign: 4.1.5 object.entries: 1.1.8 semver: 6.3.1 - eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: @@ -15397,7 +15390,7 @@ snapshots: dependencies: eslint: 8.57.1 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.2(eslint@8.57.1) eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1) @@ -15420,7 +15413,7 @@ snapshots: dependencies: debug: 3.2.7 enhanced-resolve: 0.9.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) find-root: 1.1.0 hasown: 2.0.2 interpret: 1.4.0 @@ -15433,11 +15426,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-webpack: 0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1) @@ -15452,7 +15445,7 @@ snapshots: lodash.snakecase: 4.1.1 lodash.upperfirst: 4.3.1 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -15463,7 +15456,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.9)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -15475,7 +15468,7 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -15572,9 +15565,10 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-testing-library@6.4.0(eslint@8.57.1)(typescript@5.6.3): + eslint-plugin-testing-library@7.0.0(eslint@8.57.1)(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 transitivePeerDependencies: - supports-color @@ -15599,7 +15593,7 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} + eslint-visitor-keys@4.2.0: {} eslint@8.57.1: dependencies: @@ -15648,7 +15642,7 @@ snapshots: dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.0.0 + eslint-visitor-keys: 4.2.0 espree@9.6.1: dependencies: @@ -16252,7 +16246,7 @@ snapshots: transitivePeerDependencies: - supports-color - google-auth-library@9.14.2(encoding@0.1.13): + google-auth-library@9.15.0(encoding@0.1.13): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 @@ -16268,7 +16262,7 @@ snapshots: dependencies: extend: 3.0.2 gaxios: 6.1.1(encoding@0.1.13) - google-auth-library: 9.14.2(encoding@0.1.13) + google-auth-library: 9.15.0(encoding@0.1.13) qs: 6.13.0 url-template: 2.0.8 uuid: 9.0.1 @@ -16845,7 +16839,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -17152,7 +17146,7 @@ snapshots: lerna@8.1.9(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13): dependencies: - '@lerna/create': 8.1.9(@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.9(@swc/core@1.7.35(@swc/helpers@0.5.5))(babel-plugin-macros@3.1.0)(encoding@0.1.13)(typescript@5.7.2) '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 @@ -17170,7 +17164,7 @@ snapshots: conventional-changelog-angular: 7.0.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 9.0.0(typescript@5.6.3) + cosmiconfig: 9.0.0(typescript@5.7.2) dedent: 1.5.3(babel-plugin-macros@3.1.0) envinfo: 7.13.0 execa: 5.0.0 @@ -17223,7 +17217,7 @@ snapshots: strong-log-transformer: 2.1.0 tar: 6.2.1 temp-dir: 1.0.0 - typescript: 5.6.3 + typescript: 5.7.2 upath: 2.0.1 uuid: 10.0.0 validate-npm-package-license: 3.0.4 @@ -17897,12 +17891,12 @@ snapshots: ms@2.1.3: {} - msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3): + msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.0.1(@types/node@20.17.6) + '@inquirer/confirm': 5.0.1(@types/node@20.17.7) '@mswjs/interceptors': 0.37.0 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -17918,7 +17912,7 @@ snapshots: type-fest: 4.26.1 yargs: 17.7.2 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - '@types/node' @@ -19852,9 +19846,9 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.6.3): + ts-api-utils@1.3.0(typescript@5.7.2): dependencies: - typescript: 5.6.3 + typescript: 5.7.2 ts-interface-checker@0.1.13: {} @@ -19871,17 +19865,10 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@1.14.1: {} - tslib@2.6.2: {} tsscmp@1.0.6: {} - tsutils@3.21.0(typescript@5.6.3): - dependencies: - tslib: 1.14.1 - typescript: 5.6.3 - tsx@4.19.2: dependencies: esbuild: 0.23.1 @@ -19976,7 +19963,7 @@ snapshots: typedarray@0.0.6: {} - typescript@5.6.3: {} + typescript@5.7.2: {} ua-parser-js@0.7.37: {} @@ -20156,13 +20143,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.5(@types/node@20.17.6)(terser@5.27.0): + vite-node@2.1.5(@types/node@20.17.7)(terser@5.27.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.3.4(@types/node@20.17.6)(terser@5.27.0) + vite: 5.3.4(@types/node@20.17.7)(terser@5.27.0) transitivePeerDependencies: - '@types/node' - less @@ -20173,20 +20160,20 @@ snapshots: - supports-color - terser - vite@5.3.4(@types/node@20.17.6)(terser@5.27.0): + vite@5.3.4(@types/node@20.17.7)(terser@5.27.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.18.1 optionalDependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 fsevents: 2.3.3 terser: 5.27.0 - vitest@2.1.5(@types/node@20.17.6)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(terser@5.27.0): + vitest@2.1.5(@types/node@20.17.7)(@vitest/browser@2.1.5)(@vitest/ui@2.1.5)(jsdom@24.1.3)(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(terser@5.27.0): dependencies: '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(msw@2.6.5(@types/node@20.17.6)(typescript@5.6.3))(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0)) + '@vitest/mocker': 2.1.5(msw@2.6.5(@types/node@20.17.7)(typescript@5.7.2))(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0)) '@vitest/pretty-format': 2.1.5 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -20202,12 +20189,12 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.3.4(@types/node@20.17.6)(terser@5.27.0) - vite-node: 2.1.5(@types/node@20.17.6)(terser@5.27.0) + vite: 5.3.4(@types/node@20.17.7)(terser@5.27.0) + vite-node: 2.1.5(@types/node@20.17.7)(terser@5.27.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.17.6 - '@vitest/browser': 2.1.5(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.6.3)(vite@5.3.4(@types/node@20.17.6)(terser@5.27.0))(vitest@2.1.5) + '@types/node': 20.17.7 + '@vitest/browser': 2.1.5(@types/node@20.17.7)(playwright@1.48.2)(typescript@5.7.2)(vite@5.3.4(@types/node@20.17.7)(terser@5.27.0))(vitest@2.1.5) '@vitest/ui': 2.1.5(vitest@2.1.5) jsdom: 24.1.3 transitivePeerDependencies: diff --git a/renovate.json b/renovate.json index 7c587261f30ba..3f11d78f51a84 100644 --- a/renovate.json +++ b/renovate.json @@ -65,7 +65,8 @@ { "groupName": "@types/node", "matchPackageNames": ["@types/node"], - "allowedVersions": "< 21.0.0" + "allowedVersions": "< 21.0.0", + "automerge": true }, { "groupName": "bundling fixtures",