From cac5df074933ca9ed95440d809714d95520f8c20 Mon Sep 17 00:00:00 2001 From: Armin Mehinovic <4390250+arminmeh@users.noreply.github.com> Date: Fri, 22 Nov 2024 12:49:33 +0100 Subject: [PATCH 1/6] React 19 support (#15342) Signed-off-by: Armin Mehinovic <4390250+arminmeh@users.noreply.github.com> Co-authored-by: flavien Co-authored-by: Andrew Cherniavskii Co-authored-by: Lukas Tyla --- .circleci/config.yml | 65 ++++++++---------- .../charts/getting-started/getting-started.md | 4 +- .../custom-columns/cell-renderers/rating.tsx | 2 +- .../getting-started/getting-started.md | 4 +- .../getting-started/getting-started.md | 4 +- .../getting-started/getting-started.md | 4 +- packages/x-charts-pro/README.md | 4 +- packages/x-charts-pro/package.json | 4 +- packages/x-charts/README.md | 4 +- packages/x-charts/package.json | 4 +- .../useSkipAnimation.test.tsx | 17 +++-- .../useHighlighted.test.tsx | 17 +++-- .../x-charts/src/hooks/useSeries.test.tsx | 17 +++-- .../x-charts/src/hooks/useSvgRef.test.tsx | 17 +++-- packages/x-data-grid-generator/package.json | 2 +- .../src/renderer/renderEditRating.tsx | 2 +- packages/x-data-grid-premium/README.md | 4 +- packages/x-data-grid-premium/package.json | 4 +- .../rowGrouping.DataGridPremium.test.tsx | 11 ++- packages/x-data-grid-pro/README.md | 4 +- packages/x-data-grid-pro/package.json | 4 +- .../tests/detailPanel.DataGridPro.test.tsx | 46 ++++++++++--- .../tests/infiniteLoader.DataGridPro.test.tsx | 40 ++--------- .../src/tests/treeData.DataGridPro.test.tsx | 4 +- packages/x-data-grid/README.md | 4 +- packages/x-data-grid/package.json | 4 +- .../utils/useGridApiEventHandler.test.tsx | 18 +++-- packages/x-data-grid/src/joy/joySlots.tsx | 9 ++- .../src/tests/layout.DataGrid.test.tsx | 17 +++-- .../src/tests/pagination.DataGrid.test.tsx | 10 +-- .../tests/quickFiltering.DataGrid.test.tsx | 20 ++++-- .../src/tests/rows.DataGrid.test.tsx | 5 +- .../src/tests/slots.DataGrid.test.tsx | 13 +++- packages/x-date-pickers-pro/README.md | 4 +- packages/x-date-pickers-pro/package.json | 4 +- .../describes.MobileDateRangePicker.test.tsx | 4 +- .../hooks/useEnrichedRangePickerFieldProps.ts | 8 +-- packages/x-date-pickers/README.md | 4 +- packages/x-date-pickers/package.json | 4 +- packages/x-internals/package.json | 2 +- packages/x-license/package.json | 2 +- .../useLicenseVerifier.test.tsx | 21 +++--- packages/x-tree-view-pro/README.md | 4 +- packages/x-tree-view-pro/package.json | 4 +- packages/x-tree-view/README.md | 4 +- packages/x-tree-view/package.json | 4 +- .../useTreeViewFocus/useTreeViewFocus.ts | 3 +- .../useTreeViewItems.test.tsx | 15 ++-- pnpm-lock.yaml | 42 +++++------ scripts/useMaterialUIv6.mjs | 3 + test/README.md | 62 +++++++---------- test/circleci-workflow.png | Bin 40490 -> 243512 bytes 52 files changed, 315 insertions(+), 267 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a5685e260757..dba93579ac67 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,6 +13,14 @@ parameters: description: The name of the workflow to run type: string default: pipeline + with-material-ui-6: + description: Use material-ui v6 for additional checks and tests + type: boolean + default: false + with-react-version: + description: The version of react to be used for the additional tests + type: string + default: stable e2e-base-url: description: The base url for running end-to-end test type: string @@ -90,11 +98,10 @@ commands: git --no-pager diff HEAD - when: - condition: - equal: [material-ui-v6, << pipeline.parameters.workflow >>] + condition: << pipeline.parameters.with-material-ui-6 >> steps: - run: - name: Install @mui/material@next + name: Install @mui/material v6 command: pnpm use-material-ui-v6 jobs: @@ -349,50 +356,38 @@ workflows: requires: - checkout - react-next: + additional-tests: when: - equal: [react-next, << pipeline.parameters.workflow >>] - # triggers: - # - schedule: - # cron: '0 0 * * *' - # filters: - # branches: - # only: - # - master + and: + - equal: [additional, << pipeline.parameters.workflow >>] + - or: + - equal: [true, << pipeline.parameters.with-material-ui-6 >>] + - not: + equal: ['stable', << pipeline.parameters.with-react-version >>] jobs: - test_unit: <<: *default-context - react-version: next - name: test_unit-react@next + name: test_unit_additional + react-version: << pipeline.parameters.with-react-version >> - test_browser: <<: *default-context - react-version: next - name: test_browser-react@next + name: test_browser_additional + react-version: << pipeline.parameters.with-react-version >> - test_regressions: <<: *default-context - react-version: next - name: test_regressions-react@next + name: test_regressions_additional + react-version: << pipeline.parameters.with-react-version >> - test_e2e: <<: *default-context - react-version: next - name: test_e2e-react@next + name: test_e2e_additional + react-version: << pipeline.parameters.with-react-version >> - material-ui-v6: + additional-checks: when: - equal: [material-ui-v6, << pipeline.parameters.workflow >>] + and: + - equal: [additional, << pipeline.parameters.workflow >>] + - equal: [true, << pipeline.parameters.with-material-ui-6 >>] jobs: - - test_unit: - <<: *default-context - name: test_unit-material@next - - test_browser: - <<: *default-context - name: test_browser-material@next - - test_regressions: - <<: *default-context - name: test_regressions-material@next - - test_e2e: - <<: *default-context - name: test_e2e-material@next - test_types: <<: *default-context - name: test_types-material@next + name: test_types_additional diff --git a/docs/data/charts/getting-started/getting-started.md b/docs/data/charts/getting-started/getting-started.md index bfac2ba84414..7efdf925eebf 100644 --- a/docs/data/charts/getting-started/getting-started.md +++ b/docs/data/charts/getting-started/getting-started.md @@ -41,8 +41,8 @@ yarn add @mui/material @emotion/react @emotion/styled ```json "peerDependencies": { - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/docs/data/data-grid/custom-columns/cell-renderers/rating.tsx b/docs/data/data-grid/custom-columns/cell-renderers/rating.tsx index 9eb9c68ce767..56160cf6caf6 100644 --- a/docs/data/data-grid/custom-columns/cell-renderers/rating.tsx +++ b/docs/data/data-grid/custom-columns/cell-renderers/rating.tsx @@ -46,7 +46,7 @@ function EditRating(props: GridRenderEditCellParams) { changedThroughKeyboard.current = false; }; - const handleRef = (element: HTMLElement | undefined) => { + const handleRef = (element: HTMLElement | null) => { if (element) { if (value !== 0) { element.querySelector(`input[value="${value}"]`)!.focus(); diff --git a/docs/data/data-grid/getting-started/getting-started.md b/docs/data/data-grid/getting-started/getting-started.md index 2b77ca3b6ee8..a7e2494e3083 100644 --- a/docs/data/data-grid/getting-started/getting-started.md +++ b/docs/data/data-grid/getting-started/getting-started.md @@ -35,8 +35,8 @@ Please note that [react](https://www.npmjs.com/package/react) and [react-dom](ht ```json "peerDependencies": { - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/docs/data/date-pickers/getting-started/getting-started.md b/docs/data/date-pickers/getting-started/getting-started.md index e57e07a9de80..c3a703efd7b4 100644 --- a/docs/data/date-pickers/getting-started/getting-started.md +++ b/docs/data/date-pickers/getting-started/getting-started.md @@ -58,8 +58,8 @@ yarn add @mui/material @emotion/react @emotion/styled ```json "peerDependencies": { - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/docs/data/tree-view/getting-started/getting-started.md b/docs/data/tree-view/getting-started/getting-started.md index 6acc9e5382c1..bc146ab1f18f 100644 --- a/docs/data/tree-view/getting-started/getting-started.md +++ b/docs/data/tree-view/getting-started/getting-started.md @@ -44,8 +44,8 @@ Please note that [react](https://www.npmjs.com/package/react) and [react-dom](ht ```json "peerDependencies": { - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-charts-pro/README.md b/packages/x-charts-pro/README.md index 4e4c99c2e35a..05616ba80e2b 100644 --- a/packages/x-charts-pro/README.md +++ b/packages/x-charts-pro/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-charts-pro/package.json b/packages/x-charts-pro/package.json index d3df0c0605b3..9960214e81ca 100644 --- a/packages/x-charts-pro/package.json +++ b/packages/x-charts-pro/package.json @@ -55,8 +55,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-charts/README.md b/packages/x-charts/README.md index cda7ac8e591e..7eafec7d9e44 100644 --- a/packages/x-charts/README.md +++ b/packages/x-charts/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-charts/package.json b/packages/x-charts/package.json index 94f595857921..42cce10cd1d2 100644 --- a/packages/x-charts/package.json +++ b/packages/x-charts/package.json @@ -55,8 +55,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-charts/src/context/AnimationProvider/useSkipAnimation.test.tsx b/packages/x-charts/src/context/AnimationProvider/useSkipAnimation.test.tsx index 997cdbd30429..bb0f82706104 100644 --- a/packages/x-charts/src/context/AnimationProvider/useSkipAnimation.test.tsx +++ b/packages/x-charts/src/context/AnimationProvider/useSkipAnimation.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { expect } from 'chai'; -import { ErrorBoundary, createRenderer, screen } from '@mui/internal-test-utils'; +import { ErrorBoundary, createRenderer, screen, reactMajor } from '@mui/internal-test-utils'; import { useSkipAnimation } from './useSkipAnimation'; import { AnimationProvider } from './AnimationProvider'; @@ -37,17 +37,22 @@ describe('useSkipAnimation', () => { const errorRef = React.createRef(); + const errorMessage1 = 'MUI X: Could not find the animation ref context.'; + const errorMessage2 = + 'It looks like you rendered your component outside of a ChartsContainer parent component.'; + const errorMessage3 = 'The above error occurred in the component:'; + const expextedError = + reactMajor < 19 + ? [errorMessage1, errorMessage2, errorMessage3] + : `${errorMessage1}\n${errorMessage2}`; + expect(() => render( , ), - ).toErrorDev([ - 'MUI X: Could not find the animation ref context.', - 'It looks like you rendered your component outside of a ChartsContainer parent component.', - 'The above error occurred in the component:', - ]); + ).toErrorDev(expextedError); expect((errorRef.current as any).errors).to.have.length(1); expect((errorRef.current as any).errors[0].toString()).to.include( diff --git a/packages/x-charts/src/context/HighlightedProvider/useHighlighted.test.tsx b/packages/x-charts/src/context/HighlightedProvider/useHighlighted.test.tsx index 29337e8d7191..fb17106413fd 100644 --- a/packages/x-charts/src/context/HighlightedProvider/useHighlighted.test.tsx +++ b/packages/x-charts/src/context/HighlightedProvider/useHighlighted.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { expect } from 'chai'; -import { ErrorBoundary, createRenderer, screen } from '@mui/internal-test-utils'; +import { ErrorBoundary, createRenderer, screen, reactMajor } from '@mui/internal-test-utils'; import { useHighlighted } from './useHighlighted'; import { HighlightedProvider } from './HighlightedProvider'; import { SeriesProvider } from '../SeriesProvider'; @@ -23,17 +23,22 @@ describe('useHighlighted', () => { const errorRef = React.createRef(); + const errorMessage1 = 'MUI X: Could not find the highlighted ref context.'; + const errorMessage2 = + 'It looks like you rendered your component outside of a ChartsContainer parent component.'; + const errorMessage3 = 'The above error occurred in the component:'; + const expextedError = + reactMajor < 19 + ? [errorMessage1, errorMessage2, errorMessage3] + : `${errorMessage1}\n${errorMessage2}`; + expect(() => render( , ), - ).toErrorDev([ - 'MUI X: Could not find the highlighted ref context.', - 'It looks like you rendered your component outside of a ChartsContainer parent component.', - 'The above error occurred in the component:', - ]); + ).toErrorDev(expextedError); expect((errorRef.current as any).errors).to.have.length(1); expect((errorRef.current as any).errors[0].toString()).to.include( diff --git a/packages/x-charts/src/hooks/useSeries.test.tsx b/packages/x-charts/src/hooks/useSeries.test.tsx index 4bbe16ff5cb6..8bc52cb6c2e3 100644 --- a/packages/x-charts/src/hooks/useSeries.test.tsx +++ b/packages/x-charts/src/hooks/useSeries.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { expect } from 'chai'; -import { ErrorBoundary, createRenderer, screen } from '@mui/internal-test-utils'; +import { ErrorBoundary, createRenderer, reactMajor, screen } from '@mui/internal-test-utils'; import { useSeries } from './useSeries'; import { SeriesProvider } from '../context/SeriesProvider'; import { PluginProvider } from '../internals'; @@ -22,17 +22,22 @@ describe('useSeries', () => { const errorRef = React.createRef(); + const errorMessage1 = 'MUI X: Could not find the series ref context.'; + const errorMessage2 = + 'It looks like you rendered your component outside of a ChartsContainer parent component.'; + const errorMessage3 = 'The above error occurred in the component:'; + const expextedError = + reactMajor < 19 + ? [errorMessage1, errorMessage2, errorMessage3] + : `${errorMessage1}\n${errorMessage2}`; + expect(() => render( , ), - ).toErrorDev([ - 'MUI X: Could not find the series ref context.', - 'It looks like you rendered your component outside of a ChartsContainer parent component.', - 'The above error occurred in the component:', - ]); + ).toErrorDev(expextedError); expect((errorRef.current as any).errors).to.have.length(1); expect((errorRef.current as any).errors[0].toString()).to.include( diff --git a/packages/x-charts/src/hooks/useSvgRef.test.tsx b/packages/x-charts/src/hooks/useSvgRef.test.tsx index e6d16c2beab9..d03aca479c9d 100644 --- a/packages/x-charts/src/hooks/useSvgRef.test.tsx +++ b/packages/x-charts/src/hooks/useSvgRef.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { expect } from 'chai'; -import { ErrorBoundary, createRenderer, screen } from '@mui/internal-test-utils'; +import { ErrorBoundary, createRenderer, reactMajor, screen } from '@mui/internal-test-utils'; import { useSvgRef } from './useSvgRef'; import { SvgRefProvider, useSurfaceRef } from '../context/SvgRefProvider'; @@ -30,17 +30,22 @@ describe('useSvgRef', () => { const errorRef = React.createRef(); + const errorMessage1 = 'MUI X: Could not find the svg ref context.'; + const errorMessage2 = + 'It looks like you rendered your component outside of a ChartsContainer parent component.'; + const errorMessage3 = 'The above error occurred in the component:'; + const expextedError = + reactMajor < 19 + ? [errorMessage1, errorMessage2, errorMessage3] + : `${errorMessage1}\n${errorMessage2}`; + expect(() => render( , ), - ).toErrorDev([ - 'MUI X: Could not find the svg ref context.', - 'It looks like you rendered your component outside of a ChartsContainer parent component.', - 'The above error occurred in the component:', - ]); + ).toErrorDev(expextedError); expect((errorRef.current as any).errors).to.have.length(1); expect((errorRef.current as any).errors[0].toString()).to.include( diff --git a/packages/x-data-grid-generator/package.json b/packages/x-data-grid-generator/package.json index 54385f60af06..99216250cf76 100644 --- a/packages/x-data-grid-generator/package.json +++ b/packages/x-data-grid-generator/package.json @@ -50,7 +50,7 @@ "@emotion/styled": "^11.8.1", "@mui/icons-material": "^5.4.1 || ^6.0.0", "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-data-grid-generator/src/renderer/renderEditRating.tsx b/packages/x-data-grid-generator/src/renderer/renderEditRating.tsx index 4caf314b9a85..fcd8aa855c50 100644 --- a/packages/x-data-grid-generator/src/renderer/renderEditRating.tsx +++ b/packages/x-data-grid-generator/src/renderer/renderEditRating.tsx @@ -18,7 +18,7 @@ function EditRating(props: GridRenderEditCellParams) { changedThroughKeyboard.current = false; }; - const handleRef = (element: HTMLElement | undefined) => { + const handleRef = (element: HTMLElement | null) => { if (element) { if (value !== 0) { element.querySelector(`input[value="${value}"]`)!.focus(); diff --git a/packages/x-data-grid-premium/README.md b/packages/x-data-grid-premium/README.md index cdb502174687..21ba5482e3c4 100644 --- a/packages/x-data-grid-premium/README.md +++ b/packages/x-data-grid-premium/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-data-grid-premium/package.json b/packages/x-data-grid-premium/package.json index 2c0c7c86f30a..3c3a8d362010 100644 --- a/packages/x-data-grid-premium/package.json +++ b/packages/x-data-grid-premium/package.json @@ -60,8 +60,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-data-grid-premium/src/tests/rowGrouping.DataGridPremium.test.tsx b/packages/x-data-grid-premium/src/tests/rowGrouping.DataGridPremium.test.tsx index 9f60eb3694cf..f956007843f7 100644 --- a/packages/x-data-grid-premium/src/tests/rowGrouping.DataGridPremium.test.tsx +++ b/packages/x-data-grid-premium/src/tests/rowGrouping.DataGridPremium.test.tsx @@ -1,5 +1,12 @@ import * as React from 'react'; -import { createRenderer, fireEvent, screen, act, waitFor } from '@mui/internal-test-utils'; +import { + createRenderer, + fireEvent, + screen, + act, + waitFor, + reactMajor, +} from '@mui/internal-test-utils'; import { microtasks, getColumnHeaderCell, @@ -666,7 +673,7 @@ describe(' - Row grouping', () => { isGroupExpandedByDefault={isGroupExpandedByDefault} />, ); - expect(isGroupExpandedByDefault.callCount).to.equal(12); // Should not be called on leaves + expect(isGroupExpandedByDefault.callCount).to.equal(reactMajor >= 19 ? 6 : 12); // Should not be called on leaves const { childrenExpanded, ...node } = apiRef.current.state.rows.tree.A as GridGroupNode; const callForNodeA = isGroupExpandedByDefault .getCalls() diff --git a/packages/x-data-grid-pro/README.md b/packages/x-data-grid-pro/README.md index 8f230f5d7d25..4a63af61c3ae 100644 --- a/packages/x-data-grid-pro/README.md +++ b/packages/x-data-grid-pro/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-data-grid-pro/package.json b/packages/x-data-grid-pro/package.json index eeb1118bb410..c4a94b2d5c3d 100644 --- a/packages/x-data-grid-pro/package.json +++ b/packages/x-data-grid-pro/package.json @@ -58,8 +58,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-data-grid-pro/src/tests/detailPanel.DataGridPro.test.tsx b/packages/x-data-grid-pro/src/tests/detailPanel.DataGridPro.test.tsx index b8e38ff9df4a..115a7b69feeb 100644 --- a/packages/x-data-grid-pro/src/tests/detailPanel.DataGridPro.test.tsx +++ b/packages/x-data-grid-pro/src/tests/detailPanel.DataGridPro.test.tsx @@ -11,7 +11,14 @@ import { GRID_DETAIL_PANEL_TOGGLE_FIELD, } from '@mui/x-data-grid-pro'; import { useBasicDemoData } from '@mui/x-data-grid-generator'; -import { createRenderer, fireEvent, screen, waitFor, act } from '@mui/internal-test-utils'; +import { + createRenderer, + fireEvent, + screen, + waitFor, + act, + reactMajor, +} from '@mui/internal-test-utils'; import { $, $$, grid, getRow, getCell, getColumnValues, microtasks } from 'test/utils/helperFn'; import { fireUserEvent } from 'test/utils/fireUserEvent'; @@ -311,12 +318,18 @@ describe(' - Detail panel', () => { // + 2x during state initialization (StrictMode) // + 2x when sortedRowsSet is fired // + 2x when sortedRowsSet is fired (StrictMode) = 8x - expect(getDetailPanelContent.callCount).to.equal(8); + // Because of https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + // from React 19 it is: + // 2x during state initialization + // + 2x when sortedRowsSet is fired + const expectedCallCount = reactMajor >= 19 ? 4 : 8; + + expect(getDetailPanelContent.callCount).to.equal(expectedCallCount); fireEvent.click(screen.getByRole('button', { name: 'Expand' })); - expect(getDetailPanelContent.callCount).to.equal(8); + expect(getDetailPanelContent.callCount).to.equal(expectedCallCount); fireEvent.click(screen.getByRole('button', { name: /next page/i })); - expect(getDetailPanelContent.callCount).to.equal(8); + expect(getDetailPanelContent.callCount).to.equal(expectedCallCount); const getDetailPanelContent2 = spy(() =>
Detail
); setProps({ getDetailPanelContent: getDetailPanelContent2 }); @@ -342,16 +355,23 @@ describe(' - Detail panel', () => { initialState={{ pagination: { paginationModel: { pageSize: 1 } } }} />, ); + // 2x during state initialization // + 2x during state initialization (StrictMode) // + 2x when sortedRowsSet is fired // + 2x when sortedRowsSet is fired (StrictMode) = 8x - expect(getDetailPanelHeight.callCount).to.equal(8); + // Because of https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + // from React 19 it is: + // 2x during state initialization + // + 2x when sortedRowsSet is fired + const expectedCallCount = reactMajor >= 19 ? 4 : 8; + + expect(getDetailPanelHeight.callCount).to.equal(expectedCallCount); fireEvent.click(screen.getByRole('button', { name: 'Expand' })); - expect(getDetailPanelHeight.callCount).to.equal(8); + expect(getDetailPanelHeight.callCount).to.equal(expectedCallCount); fireEvent.click(screen.getByRole('button', { name: /next page/i })); - expect(getDetailPanelHeight.callCount).to.equal(8); + expect(getDetailPanelHeight.callCount).to.equal(expectedCallCount); const getDetailPanelHeight2 = spy(() => 200); setProps({ getDetailPanelHeight: getDetailPanelHeight2 }); @@ -413,7 +433,13 @@ describe(' - Detail panel', () => { // + 1x during state initialization (StrictMode) // + 1x when sortedRowsSet is fired // + 1x when sortedRowsSet is fired (StrictMode) = 4x - expect(getDetailPanelHeight.callCount).to.equal(4); + // Because of https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + // from React 19 it is: + // 1x during state initialization + // + 1x when sortedRowsSet is fired + const expectedCallCount = reactMajor >= 19 ? 2 : 4; + + expect(getDetailPanelHeight.callCount).to.equal(expectedCallCount); expect(getDetailPanelHeight.lastCall.args[0].id).to.equal(0); }); @@ -478,8 +504,8 @@ describe(' - Detail panel', () => { it('should not reuse detail panel components', () => { let counter = 0; function DetailPanel() { - const [number] = React.useState((counter += 1)); - return
{number}
; + counter += 1; + return
{counter}
; } const { setProps } = render( } detailPanelExpandedRowIds={[0]} />, diff --git a/packages/x-data-grid-pro/src/tests/infiniteLoader.DataGridPro.test.tsx b/packages/x-data-grid-pro/src/tests/infiniteLoader.DataGridPro.test.tsx index 350aa89568c4..5f8b9422490b 100644 --- a/packages/x-data-grid-pro/src/tests/infiniteLoader.DataGridPro.test.tsx +++ b/packages/x-data-grid-pro/src/tests/infiniteLoader.DataGridPro.test.tsx @@ -108,7 +108,6 @@ describe(' - Infnite loader', () => { const [loading, setLoading] = React.useState(false); const handleRowsScrollEnd = React.useCallback(async () => { setLoading(true); - await sleep(50); setRows((prevRows) => { const lastRowId = prevRows[prevRows.length - 1].id; const nextRow = getRow(lastRowId + 1); @@ -137,45 +136,20 @@ describe(' - Infnite loader', () => { // 1 initial row // 5 rows loaded one by one through `onRowsScrollEnd` callback - expect(getColumnValues(0)).to.deep.equal(['0']); + const multiplier = 2; // `setRows` is called twice for each `handleRowsScrollEnd` call await waitFor(() => { - expect(getRow.callCount).to.equal(1); - }); - await waitFor(() => { - expect(getColumnValues(0)).to.deep.equal(['0', '1']); - }); - - await waitFor(() => { - expect(getRow.callCount).to.equal(2); - }); - await waitFor(() => { - expect(getColumnValues(0)).to.deep.equal(['0', '1', '2']); - }); - - await waitFor(() => { - expect(getRow.callCount).to.equal(3); - }); - await waitFor(() => { - expect(getColumnValues(0)).to.deep.equal(['0', '1', '2', '3']); + expect(getRow.callCount).to.equal(5 * multiplier); }); - await waitFor(() => { - expect(getRow.callCount).to.equal(4); - }); - await waitFor(() => { - expect(getColumnValues(0)).to.deep.equal(['0', '1', '2', '3', '4']); - }); + const getRowCalls = getRow.getCalls(); + for (let callIndex = 0; callIndex < getRowCalls.length; callIndex += multiplier) { + const call = getRowCalls[callIndex]; + expect(call.returnValue?.id).to.equal(callIndex / multiplier + 1); + } - await waitFor(() => { - expect(getRow.callCount).to.equal(5); - }); await waitFor(() => { expect(getColumnValues(0)).to.deep.equal(['0', '1', '2', '3', '4', '5']); }); - - await sleep(200); - // should not load more rows because the threshold is not reached - expect(getRow.callCount).to.equal(5); }); it('should not observe intersections with the rows pinned to the bottom', async function test() { diff --git a/packages/x-data-grid-pro/src/tests/treeData.DataGridPro.test.tsx b/packages/x-data-grid-pro/src/tests/treeData.DataGridPro.test.tsx index 61a722c634f8..8ba96004f225 100644 --- a/packages/x-data-grid-pro/src/tests/treeData.DataGridPro.test.tsx +++ b/packages/x-data-grid-pro/src/tests/treeData.DataGridPro.test.tsx @@ -1,4 +1,4 @@ -import { createRenderer, fireEvent, screen, act } from '@mui/internal-test-utils'; +import { createRenderer, fireEvent, screen, act, reactMajor } from '@mui/internal-test-utils'; import { getCell, getColumnHeaderCell, @@ -286,7 +286,7 @@ describe(' - Tree data', () => { const isGroupExpandedByDefault = spy((node: GridGroupNode) => node.id === 'A'); render(); - expect(isGroupExpandedByDefault.callCount).to.equal(8); // Should not be called on leaves + expect(isGroupExpandedByDefault.callCount).to.equal(reactMajor >= 19 ? 4 : 8); // Should not be called on leaves const { childrenExpanded, children, childrenFromPath, ...node } = apiRef.current.state.rows .tree.A as GridGroupNode; const callForNodeA = isGroupExpandedByDefault diff --git a/packages/x-data-grid/README.md b/packages/x-data-grid/README.md index e8af2fbf99ab..fab185d4804f 100644 --- a/packages/x-data-grid/README.md +++ b/packages/x-data-grid/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-data-grid/package.json b/packages/x-data-grid/package.json index a2bceebaa950..df8b3246b917 100644 --- a/packages/x-data-grid/package.json +++ b/packages/x-data-grid/package.json @@ -59,8 +59,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.test.tsx b/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.test.tsx index 1ee0bd2c105f..35df8e23d954 100644 --- a/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.test.tsx +++ b/packages/x-data-grid/src/hooks/utils/useGridApiEventHandler.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { spy } from 'sinon'; import { expect } from 'chai'; -import { createRenderer } from '@mui/internal-test-utils'; +import { createRenderer, reactMajor } from '@mui/internal-test-utils'; import { sleep } from 'test/utils/helperFn'; import { createUseGridApiEventHandler } from './useGridApiEventHandler'; import { FinalizationRegistryBasedCleanupTracking } from '../../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking'; @@ -42,14 +42,17 @@ describe('useGridApiEventHandler', () => { // which makes 2 event listeners to be registered. Since the second render is never // committed (to simulate a trashed render in React 18), the effects also don't run, so we're // unable to unsubscribe the last listener using the cleanup function. - expect(apiRef.current.subscribeEvent.callCount).to.equal(3); + // Since React 19, StrictMode works differently + // https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + const expectedCallCount = reactMajor >= 19 ? 1 : 3; + expect(apiRef.current.subscribeEvent.callCount).to.equal(expectedCallCount); unmount(); global.gc(); // Triggers garbage collector await sleep(50); // Ensure that both event listeners were unsubscribed - expect(unsubscribe.callCount).to.equal(3); + expect(unsubscribe.callCount).to.equal(expectedCallCount); }); }); @@ -74,13 +77,16 @@ describe('useGridApiEventHandler', () => { // which makes 2 event listeners to be registered. Since the second render is never // committed (to simulate a trashed render in React 18), the effects also don't run, so we're // unable to unsubscribe the last listener using the cleanup function. - expect(apiRef.current.subscribeEvent.callCount).to.equal(3); + // Since React 19, StrictMode works differently + // https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + const expectedCallCount = reactMajor >= 19 ? 1 : 3; + expect(apiRef.current.subscribeEvent.callCount).to.equal(expectedCallCount); unmount(); await sleep(60); - // Ensure that both event listeners were unsubscribed - expect(unsubscribe.callCount).to.equal(3); + // Ensure that all event listeners were unsubscribed + expect(unsubscribe.callCount).to.equal(expectedCallCount); }); }); }); diff --git a/packages/x-data-grid/src/joy/joySlots.tsx b/packages/x-data-grid/src/joy/joySlots.tsx index a5645d892066..a4baffb0dabf 100644 --- a/packages/x-data-grid/src/joy/joySlots.tsx +++ b/packages/x-data-grid/src/joy/joySlots.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { SxProps } from '@mui/system'; import { ColorPaletteProp, Theme, VariantProp } from '@mui/joy/styles'; -import JoyBadge from '@mui/joy/Badge'; +import JoyBadge, { BadgeOrigin } from '@mui/joy/Badge'; import JoyCheckbox from '@mui/joy/Checkbox'; import JoyDivider from '@mui/joy/Divider'; import JoyInput from '@mui/joy/Input'; @@ -72,10 +72,15 @@ function convertVariant>( - ({ slotProps, variant, color, sx, ...props }, ref) => { + ({ slotProps, variant, color, sx, anchorOrigin, ...props }, ref) => { return ( } diff --git a/packages/x-data-grid/src/tests/layout.DataGrid.test.tsx b/packages/x-data-grid/src/tests/layout.DataGrid.test.tsx index f92b82e0dc2f..cd4d6d324bb5 100644 --- a/packages/x-data-grid/src/tests/layout.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/layout.DataGrid.test.tsx @@ -1,5 +1,11 @@ import * as React from 'react'; -import { createRenderer, screen, ErrorBoundary, waitFor } from '@mui/internal-test-utils'; +import { + createRenderer, + screen, + ErrorBoundary, + waitFor, + reactMajor, +} from '@mui/internal-test-utils'; import { stub, spy } from 'sinon'; import { expect } from 'chai'; import { @@ -960,8 +966,9 @@ describe(' - Layout & warnings', () => { ); }).toErrorDev([ 'The Data Grid component requires all rows to have a unique `id` property', - 'The Data Grid component requires all rows to have a unique `id` property', - 'The above error occurred in the component', + reactMajor < 19 && + 'The Data Grid component requires all rows to have a unique `id` property', + reactMajor < 19 && 'The above error occurred in the component', ]); expect((errorRef.current as any).errors).to.have.length(1); expect((errorRef.current as any).errors[0].toString()).to.include( @@ -1283,8 +1290,8 @@ describe(' - Layout & warnings', () => { , ); }).toErrorDev([ - 'Warning: Encountered two children with the same key, `id`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.', - 'Warning: Encountered two children with the same key, `id`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.', + 'Encountered two children with the same key, `id`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.', + 'Encountered two children with the same key, `id`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.', ]); }); diff --git a/packages/x-data-grid/src/tests/pagination.DataGrid.test.tsx b/packages/x-data-grid/src/tests/pagination.DataGrid.test.tsx index 94421d70f768..002a0d18ccad 100644 --- a/packages/x-data-grid/src/tests/pagination.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/pagination.DataGrid.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { spy, stub, SinonStub, SinonSpy } from 'sinon'; import { expect } from 'chai'; -import { createRenderer, fireEvent, screen, waitFor } from '@mui/internal-test-utils'; +import { createRenderer, fireEvent, reactMajor, screen, waitFor } from '@mui/internal-test-utils'; import { DataGrid, DataGridProps, @@ -324,7 +324,8 @@ describe(' - Pagination', () => { ); }).toWarnDev([ `MUI X: The page size \`${pageSize}\` is not present in the \`pageSizeOptions\``, - `MUI X: The page size \`${pageSize}\` is not present in the \`pageSizeOptions\``, + reactMajor < 19 && + `MUI X: The page size \`${pageSize}\` is not present in the \`pageSizeOptions\``, ]); }); @@ -352,7 +353,8 @@ describe(' - Pagination', () => { render(); }).toWarnDev([ `MUI X: The page size \`${pageSize}\` is not present in the \`pageSizeOptions\``, - `MUI X: The page size \`${pageSize}\` is not present in the \`pageSizeOptions\``, + reactMajor < 19 && + `MUI X: The page size \`${pageSize}\` is not present in the \`pageSizeOptions\``, ]); }); @@ -361,7 +363,7 @@ describe(' - Pagination', () => { render(); }).toWarnDev([ `MUI X: The page size \`100\` is not present in the \`pageSizeOptions\``, - `MUI X: The page size \`100\` is not present in the \`pageSizeOptions\``, + reactMajor < 19 && `MUI X: The page size \`100\` is not present in the \`pageSizeOptions\``, ]); }); diff --git a/packages/x-data-grid/src/tests/quickFiltering.DataGrid.test.tsx b/packages/x-data-grid/src/tests/quickFiltering.DataGrid.test.tsx index 44d608d5602f..8f1153174c38 100644 --- a/packages/x-data-grid/src/tests/quickFiltering.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/quickFiltering.DataGrid.test.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { createRenderer, screen, fireEvent } from '@mui/internal-test-utils'; +import { createRenderer, screen, fireEvent, reactMajor } from '@mui/internal-test-utils'; import { expect } from 'chai'; import { spy } from 'sinon'; import { @@ -313,18 +313,21 @@ describe(' - Quick filter', () => { />, ); + // Because of https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + const initialCallCount = reactMajor >= 19 ? 1 : 2; + expect(getColumnValues(0)).to.deep.equal(['1']); - expect(getApplyQuickFilterFnSpy.callCount).to.equal(2); + expect(getApplyQuickFilterFnSpy.callCount).to.equal(initialCallCount); setProps({ columnVisibilityModel: { brand: false } }); clock.runToLast(); expect(getColumnValues(0)).to.deep.equal([]); - expect(getApplyQuickFilterFnSpy.callCount).to.equal(3); + expect(getApplyQuickFilterFnSpy.callCount).to.equal(initialCallCount + 1); setProps({ columnVisibilityModel: { brand: true } }); clock.runToLast(); expect(getColumnValues(0)).to.deep.equal(['1']); - expect(getApplyQuickFilterFnSpy.callCount).to.equal(4); + expect(getApplyQuickFilterFnSpy.callCount).to.equal(initialCallCount + 2); }); it('should not apply filters on column visibility change when quickFilterExcludeHiddenColumns=true but no quick filter values', () => { @@ -380,18 +383,21 @@ describe(' - Quick filter', () => { />, ); + // Because of https://react.dev/blog/2024/04/25/react-19-upgrade-guide#strict-mode-improvements + const initialCallCount = reactMajor >= 19 ? 1 : 2; + expect(getColumnValues(0)).to.deep.equal(['1']); - expect(getApplyQuickFilterFnSpy.callCount).to.equal(2); + expect(getApplyQuickFilterFnSpy.callCount).to.equal(initialCallCount); setProps({ columnVisibilityModel: { brand: false } }); clock.runToLast(); expect(getColumnValues(0)).to.deep.equal(['1']); - expect(getApplyQuickFilterFnSpy.callCount).to.equal(2); + expect(getApplyQuickFilterFnSpy.callCount).to.equal(initialCallCount); setProps({ columnVisibilityModel: { brand: true } }); clock.runToLast(); expect(getColumnValues(0)).to.deep.equal(['1']); - expect(getApplyQuickFilterFnSpy.callCount).to.equal(2); + expect(getApplyQuickFilterFnSpy.callCount).to.equal(initialCallCount); }); }); diff --git a/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx b/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx index 4d222603334b..771ee43a173d 100644 --- a/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/rows.DataGrid.test.tsx @@ -6,6 +6,7 @@ import { act, ErrorBoundary, waitFor, + reactMajor, } from '@mui/internal-test-utils'; import clsx from 'clsx'; import { expect } from 'chai'; @@ -254,8 +255,8 @@ describe(' - Rows', () => { ); }).toErrorDev([ 'MUI X: Missing the `getActions` property in the `GridColDef`.', - 'MUI X: Missing the `getActions` property in the `GridColDef`.', - 'The above error occurred in the component', + reactMajor < 19 && 'MUI X: Missing the `getActions` property in the `GridColDef`.', + reactMajor < 19 && 'The above error occurred in the component', ]); }); diff --git a/packages/x-data-grid/src/tests/slots.DataGrid.test.tsx b/packages/x-data-grid/src/tests/slots.DataGrid.test.tsx index 0aa832db0d5f..055f24b47059 100644 --- a/packages/x-data-grid/src/tests/slots.DataGrid.test.tsx +++ b/packages/x-data-grid/src/tests/slots.DataGrid.test.tsx @@ -1,5 +1,11 @@ import * as React from 'react'; -import { createRenderer, ErrorBoundary, fireEvent, screen } from '@mui/internal-test-utils'; +import { + createRenderer, + ErrorBoundary, + fireEvent, + reactMajor, + screen, +} from '@mui/internal-test-utils'; import { expect } from 'chai'; import { spy } from 'sinon'; import { DataGrid, DataGridProps, GridOverlay } from '@mui/x-data-grid'; @@ -169,8 +175,9 @@ describe(' - Slots', () => { ); }).toErrorDev([ 'MUI X: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.', - 'MUI X: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.', - 'The above error occurred in the component', + reactMajor < 19 && + 'MUI X: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.', + reactMajor < 19 && 'The above error occurred in the component', ]); }); diff --git a/packages/x-date-pickers-pro/README.md b/packages/x-date-pickers-pro/README.md index 5e6e0bd885c1..7aa6eabaaba4 100644 --- a/packages/x-date-pickers-pro/README.md +++ b/packages/x-date-pickers-pro/README.md @@ -35,8 +35,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-date-pickers-pro/package.json b/packages/x-date-pickers-pro/package.json index 61be276118ab..10257d3d2e7e 100644 --- a/packages/x-date-pickers-pro/package.json +++ b/packages/x-date-pickers-pro/package.json @@ -63,8 +63,8 @@ "moment": "^2.29.4", "moment-hijri": "^2.1.2 || ^3.0.0", "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-date-pickers-pro/src/MobileDateRangePicker/tests/describes.MobileDateRangePicker.test.tsx b/packages/x-date-pickers-pro/src/MobileDateRangePicker/tests/describes.MobileDateRangePicker.test.tsx index 981bd8819f28..3d5b9c2013bc 100644 --- a/packages/x-date-pickers-pro/src/MobileDateRangePicker/tests/describes.MobileDateRangePicker.test.tsx +++ b/packages/x-date-pickers-pro/src/MobileDateRangePicker/tests/describes.MobileDateRangePicker.test.tsx @@ -87,9 +87,9 @@ describe(' - Describes', () => { } fireEvent.click( - screen.getAllByRole('gridcell', { + screen.getByRole('gridcell', { name: adapterToUse.getDate(newValue[setEndDate ? 1 : 0]).toString(), - })[0], + }), ); // Close the picker diff --git a/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts b/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts index 311e018ce3c0..17ffbc770c21 100644 --- a/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts +++ b/packages/x-date-pickers-pro/src/internals/hooks/useEnrichedRangePickerFieldProps.ts @@ -173,7 +173,7 @@ const useMultiInputFieldSlotProps = < const previousRangePosition = React.useRef(rangePosition); React.useEffect(() => { - if (!open) { + if (!open || variant === 'mobile') { return; } @@ -191,7 +191,7 @@ const useMultiInputFieldSlotProps = < previousRangePosition.current === rangePosition ? currentView : 0, ); previousRangePosition.current = rangePosition; - }, [rangePosition, open, currentView, startFieldRef, endFieldRef]); + }, [rangePosition, open, currentView, startFieldRef, endFieldRef, variant]); const openRangeStartSelection: React.UIEventHandler = (event) => { event.stopPropagation(); @@ -345,7 +345,7 @@ const useSingleInputFieldSlotProps = < const handleFieldRef = useForkRef(fieldProps.unstableFieldRef, startFieldRef, endFieldRef); React.useEffect(() => { - if (!open || !startFieldRef.current) { + if (!open || !startFieldRef.current || variant === 'mobile') { return; } @@ -362,7 +362,7 @@ const useSingleInputFieldSlotProps = < : sections.lastIndexOf(currentView); startFieldRef.current?.focusField(newSelectedSection); } - }, [rangePosition, open, currentView, startFieldRef]); + }, [rangePosition, open, currentView, startFieldRef, variant]); const updateRangePosition = () => { if (!startFieldRef.current?.isFieldFocused()) { diff --git a/packages/x-date-pickers/README.md b/packages/x-date-pickers/README.md index b66cfe572b1a..c070227afa4a 100644 --- a/packages/x-date-pickers/README.md +++ b/packages/x-date-pickers/README.md @@ -35,8 +35,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-date-pickers/package.json b/packages/x-date-pickers/package.json index 7fc7cbf92d8e..d01e895e3278 100644 --- a/packages/x-date-pickers/package.json +++ b/packages/x-date-pickers/package.json @@ -65,8 +65,8 @@ "moment": "^2.29.4", "moment-hijri": "^2.1.2 || ^3.0.0", "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-internals/package.json b/packages/x-internals/package.json index da0d9307e5ee..ee4e8dd06c23 100644 --- a/packages/x-internals/package.json +++ b/packages/x-internals/package.json @@ -45,7 +45,7 @@ "@mui/utils": "^5.16.6 || ^6.0.0" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "devDependencies": { "@mui/internal-test-utils": "^1.0.21", diff --git a/packages/x-license/package.json b/packages/x-license/package.json index 8e7c67cef294..4a19c4a41f0b 100644 --- a/packages/x-license/package.json +++ b/packages/x-license/package.json @@ -38,7 +38,7 @@ "@mui/utils": "^5.16.6 || ^6.0.0" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "devDependencies": { "@mui/internal-test-utils": "^1.0.21", diff --git a/packages/x-license/src/useLicenseVerifier/useLicenseVerifier.test.tsx b/packages/x-license/src/useLicenseVerifier/useLicenseVerifier.test.tsx index 7605292c6acd..1cfd9ab49dd6 100644 --- a/packages/x-license/src/useLicenseVerifier/useLicenseVerifier.test.tsx +++ b/packages/x-license/src/useLicenseVerifier/useLicenseVerifier.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { expect } from 'chai'; -import { createRenderer, screen } from '@mui/internal-test-utils'; +import { createRenderer, ErrorBoundary, reactMajor, screen } from '@mui/internal-test-utils'; import { useLicenseVerifier, LicenseInfo, @@ -94,19 +94,20 @@ describe('useLicenseVerifier', function test() { }); LicenseInfo.setLicenseKey(expiredLicenseKey); - let actualErrorMsg; + const errorRef = React.createRef(); + expect(() => { - try { - render(); - } catch (error: any) { - actualErrorMsg = error.message; - } + render( + + + , + ); }).to.toErrorDev([ 'MUI X: Expired license key', - 'MUI X: Expired license key', - 'The above error occurred in the component', + reactMajor < 19 && 'MUI X: Expired license key', + reactMajor < 19 && 'The above error occurred in the component', ]); - expect(actualErrorMsg).to.match(/MUI X: Expired license key/); + expect((errorRef.current as any).errors[0].toString()).to.match(/MUI X: Expired license key/); }); it('should throw if the license is not covering charts and tree-view', () => { diff --git a/packages/x-tree-view-pro/README.md b/packages/x-tree-view-pro/README.md index b9177bb79f5f..3a7069bf7545 100644 --- a/packages/x-tree-view-pro/README.md +++ b/packages/x-tree-view-pro/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-tree-view-pro/package.json b/packages/x-tree-view-pro/package.json index f02df842b6f4..e17ed745a622 100644 --- a/packages/x-tree-view-pro/package.json +++ b/packages/x-tree-view-pro/package.json @@ -60,8 +60,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-tree-view/README.md b/packages/x-tree-view/README.md index 6b16d4b1273f..54023a0abf6e 100644 --- a/packages/x-tree-view/README.md +++ b/packages/x-tree-view/README.md @@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w ```json "peerDependencies": { "@mui/material": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, ``` diff --git a/packages/x-tree-view/package.json b/packages/x-tree-view/package.json index 251a35830562..d4a1eb6c5de5 100644 --- a/packages/x-tree-view/package.json +++ b/packages/x-tree-view/package.json @@ -58,8 +58,8 @@ "@emotion/styled": "^11.8.1", "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts index 7cbc8d042cd7..fc2c5a40eebf 100644 --- a/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts +++ b/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts @@ -1,6 +1,5 @@ import * as React from 'react'; import useEventCallback from '@mui/utils/useEventCallback'; -import useEnhancedEffect from '@mui/utils/useEnhancedEffect'; import { EventHandlers } from '@mui/utils'; import { TreeViewPlugin } from '../../models'; import { UseTreeViewFocusSignature } from './useTreeViewFocus.types'; @@ -24,7 +23,7 @@ export const useTreeViewFocus: TreeViewPlugin = ({ store, models, }) => { - useEnhancedEffect(() => { + React.useEffect(() => { let defaultFocusableItemId = convertSelectedItemsToArray(models.selectedItems.value).find( (itemId) => { if (!selectorCanItemBeFocused(store.value, itemId)) { diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewItems/useTreeViewItems.test.tsx b/packages/x-tree-view/src/internals/plugins/useTreeViewItems/useTreeViewItems.test.tsx index 1256f01c37e0..625a54a3a8c1 100644 --- a/packages/x-tree-view/src/internals/plugins/useTreeViewItems/useTreeViewItems.test.tsx +++ b/packages/x-tree-view/src/internals/plugins/useTreeViewItems/useTreeViewItems.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { expect } from 'chai'; import { spy } from 'sinon'; -import { fireEvent } from '@mui/internal-test-utils'; +import { fireEvent, reactMajor } from '@mui/internal-test-utils'; import { describeTreeView } from 'test/utils/tree-view/describeTreeView'; import { UseTreeViewExpansionSignature, @@ -29,17 +29,20 @@ describeTreeView< ).toErrorDev([ 'Encountered two children with the same key, `1`', 'MUI X: The Tree View component requires all items to have a unique `id` property.', - 'MUI X: The Tree View component requires all items to have a unique `id` property.', - `The above error occurred in the component`, - `The above error occurred in the component`, + reactMajor < 19 && + 'MUI X: The Tree View component requires all items to have a unique `id` property.', + reactMajor < 19 && `The above error occurred in the component`, + reactMajor < 19 && `The above error occurred in the component`, ]); } else { expect(() => render({ items: [{ id: '1' }, { id: '1' }], withErrorBoundary: true }), ).toErrorDev([ 'MUI X: The Tree View component requires all items to have a unique `id` property.', - 'MUI X: The Tree View component requires all items to have a unique `id` property.', - `The above error occurred in the component`, + reactMajor < 19 && + 'MUI X: The Tree View component requires all items to have a unique `id` property.', + reactMajor < 19 && + `The above error occurred in the component`, ]); } }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4ef6cec0d1a..1f99814099c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -764,10 +764,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) reselect: specifier: ^5.1.1 @@ -844,10 +844,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) devDependencies: '@mui/material': @@ -1017,10 +1017,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) reselect: specifier: ^5.1.1 @@ -1073,7 +1073,7 @@ importers: specifier: ^11.0.2 version: 11.0.2 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 devDependencies: '@mui/icons-material': @@ -1129,10 +1129,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) reselect: specifier: ^5.1.1 @@ -1191,10 +1191,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) reselect: specifier: ^5.1.1 @@ -1244,10 +1244,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) react-transition-group: specifier: ^4.4.5 @@ -1339,10 +1339,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) react-transition-group: specifier: ^4.4.5 @@ -1392,7 +1392,7 @@ importers: specifier: ^5.16.6 || ^6.0.0 version: 5.16.6(@types/react@18.3.12)(react@18.3.1) react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 devDependencies: '@mui/internal-test-utils': @@ -1412,7 +1412,7 @@ importers: specifier: ^5.16.6 || ^6.0.0 version: 5.16.6(@types/react@18.3.12)(react@18.3.1) react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 devDependencies: '@mui/internal-test-utils': @@ -1450,10 +1450,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) react-transition-group: specifier: ^4.4.5 @@ -1518,10 +1518,10 @@ importers: specifier: ^15.8.1 version: 15.8.1 react: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1 react-dom: - specifier: ^17.0.0 || ^18.0.0 + specifier: ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.3.1(react@18.3.1) react-transition-group: specifier: ^4.4.5 diff --git a/scripts/useMaterialUIv6.mjs b/scripts/useMaterialUIv6.mjs index 07f2aed4e3ab..abc2fe55845b 100644 --- a/scripts/useMaterialUIv6.mjs +++ b/scripts/useMaterialUIv6.mjs @@ -9,6 +9,9 @@ const pnpmUpdate = childProcess.spawnSync( '@mui/system@6.x', '@mui/icons-material@6.x', '@mui/utils@6.x', + '@mui/material-nextjs@6.x', + '@mui/styles@6.x', + '@mui/lab@latest', ], { shell: true, diff --git a/test/README.md b/test/README.md index 5bb982bb61ca..594badd07c28 100644 --- a/test/README.md +++ b/test/README.md @@ -12,57 +12,43 @@ Possible values for `version`: - a tag on npm, for example `next`, `experimental` or `latest` - an older version, for example `^17.0.0` -### CI +## Testing multiple versions of Material UI + +Currently, we use `@mui/material` v5 in the MUI X repo and all tests are run against it. +But MUI X packages are compatible with v5 and v6. +You can run the tests against `@mui/material` v6 by running the following command: -#### `next` version +`pnpm use-material-ui-v6` -For `react@next` specifically, there's a `react-next` workflow in our CircleCI pipeline that you can trigger in CircleCI on the PR you want to test: +## CI -1. Go to https://app.circleci.com/pipelines/github/mui/mui-x?branch=pull/PR_NUMBER and replace `PR_NUMBER` with the PR number you want to test. -2. Click `Trigger Pipeline` button. -3. Expand `Add parameters (optional)` and add the following parameter: +To execute additional jobs for custom versions of React/Material UI, you can use an `additional` workflow. In combination with `with-react-version` and/or `with-material-ui-6` parameters, it executes those jobs with dependency versions different from the main `pipeline` workflow. - | Parameter type | Name | Value | - | :------------- | :--------- | :----------- | - | `string` | `workflow` | `react-next` | +| Parameter type | Name | Value | +| :------------- | :------------------- | :------------------- | +| `string` | `workflow` | `additional` | +| `string` | `with-react-version` | `` | +| `boolean` | `with-material-ui-6` | `true` or `false` | +1. Go to https://app.circleci.com/pipelines/github/mui/mui-x?branch=pull/PR_NUMBER and replace `PR_NUMBER` with the PR number you want to test. +2. Click `Trigger Pipeline` button. +3. Go to the `Parameters` section and update the `workflow` parameter in combination with the version parameter(s). + You can leave the rest of the parameters with their default values. 4. Click `Trigger Pipeline` button. -#### Other versions +![CircleCI workflow](./circleci-workflow.png) + +### API -You can pass the same `version` to our CircleCI pipeline as well: +You can pass the same to our CircleCI pipeline through API as well: -With the following API request we're triggering a run of the default workflow in -PR #24289 for `react@next` +With the following API request we're triggering a run of the `additional` workflow in +PR #24289 for `react@rc` and `@mui/material-ui@6` ```bash curl --request POST \ --url https://circleci.com/api/v2/project/gh/mui/mui-x/pipeline \ --header 'content-type: application/json' \ --header 'Circle-Token: $CIRCLE_TOKEN' \ - --data-raw '{"branch":"pull/24289/head","parameters":{"react-version":"next"}}' + --data-raw '{"branch":"pull/24289/head","parameters":{"workflow":"additional","with-react-version":"rc","with-material-ui-6":true}}' ``` - -## Testing multiple versions of Material UI - -Currently, we use `@mui/material` v5 in the MUI X repo and all tests are run against it. -But MUI X packages are compatible with v5 and v6. -You can run the tests against `@mui/material` v6 by running the following command: - -`pnpm use-material-ui-v6` - -### CI - -There's a `material-ui-v6` workflow in our CircleCI pipeline that you can trigger in CircleCI on the PR you want to test: - -1. Go to https://app.circleci.com/pipelines/github/mui/mui-x?branch=pull/PR_NUMBER and replace `PR_NUMBER` with the PR number you want to test. -2. Click `Trigger Pipeline` button. -3. Expand `Add parameters (optional)` and add the following parameter: - - | Parameter type | Name | Value | - | :------------- | :--------- | :--------------- | - | `string` | `workflow` | `material-ui-v6` | - -4. Click `Trigger Pipeline` button. - -![CircleCI workflow](./circleci-workflow.png) diff --git a/test/circleci-workflow.png b/test/circleci-workflow.png index de549e5eef462be7883674ae50802b25d19febc9..a7db4008e51ee996c8aefd62a143f20f367fa8f0 100644 GIT binary patch literal 243512 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 z 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%0Ag`WkE#~bL14E{QIU_Ih^U$9mwm>xKFaR{~~ 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 literal 40490 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�wj=4Iw$jk=8`dK>%du4UK2k>a{ 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%0AHEz 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 YTlwqNav@vcA`1Krbuv65(0J}>0IRF3v From 7914aa53c4cef8d313285fa58e4b5a07c10c9357 Mon Sep 17 00:00:00 2001 From: Alexandre Fauquette <45398769+alexfauquette@users.noreply.github.com> Date: Fri, 22 Nov 2024 16:57:15 +0100 Subject: [PATCH 2/6] v8.0.0-alpha.1 (#15554) Signed-off-by: Alexandre Fauquette <45398769+alexfauquette@users.noreply.github.com> Co-authored-by: Flavien DELANGLE Co-authored-by: Armin Mehinovic <4390250+arminmeh@users.noreply.github.com> Co-authored-by: Lukas Tyla --- CHANGELOG.md | 218 ++++++++++++++++++++ package.json | 2 +- packages/x-charts-pro/package.json | 2 +- packages/x-charts-vendor/package.json | 2 +- packages/x-charts/package.json | 2 +- packages/x-codemod/package.json | 2 +- packages/x-data-grid-generator/package.json | 2 +- packages/x-data-grid-premium/package.json | 2 +- packages/x-data-grid-pro/package.json | 2 +- packages/x-data-grid/package.json | 2 +- packages/x-date-pickers-pro/package.json | 2 +- packages/x-date-pickers/package.json | 2 +- packages/x-internals/package.json | 2 +- packages/x-license/package.json | 2 +- packages/x-tree-view-pro/package.json | 2 +- packages/x-tree-view/package.json | 2 +- scripts/releaseChangelog.mjs | 3 +- 17 files changed, 235 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccd831351ce0..73e31d660cbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,148 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## v8.0.0-alpha.1 + +_Nov 22, 2024_ + +We'd like to offer a big thanks to the 16 contributors who made this release possible. Here are some highlights ✨: + +- 🔧 Refactor Tooltip customisation for charts — [Learn more](https://next.mui.com/x/react-charts/tooltip/#overriding-content). +- ⚛️ React 19 support +- 🌍 Improve Chinese, Spanish, and Swedish locale on the Data Grid component +- 🐞 Bugfixes +- 📚 Documentation improvements + +### Breaking change + +Special thanks go out to the community contributors who have helped make this release possible: +@CarlosLopezLg, @headironc, @hendrikpeilke, @k-rajat19, @lhilgert9, @viktormelin. +Following are all team members who have contributed to this release: +@alexfauquette, @arthurbalduini, @cherniavskii, @flaviendelangle, @JCQuintas, @LukasTy, @MBilalShafi, @oliviertassinari, @KenanYusuf, @arminmeh. + + + +### Data Grid + +#### `@mui/x-data-grid@v8.0.0-alpha.1` + +- [DataGrid] React 19 support (#15342) @arminmeh +- [DataGrid] Add prop to override search input props in `GridColumnsManagement` (#15347) @k-rajat19 +- [DataGrid] Add test coverage for issues fixed in #15184 (#15282) @MBilalShafi +- [DataGrid] Change default loading overlay variants (#15504) @KenanYusuf +- [DataGrid] Fix last separator not being hidden when grid is scrollable (#15543) @KenanYusuf +- [DataGrid] Fix right column group header border with virtualization (#15470) @hendrikpeilke +- [DataGrid] Fix row-spanning in combination with column-pinning (#15368) @lhilgert9 +- [l10n] Improve Chinese (zh-CN) locale (#15365) @headironc +- [l10n] Improve Spanish (es-ES) locale (#15369) @CarlosLopezLg +- [l10n] Improve Swedish (sv-SE) locale (#15371) @viktormelin + +#### `@mui/x-data-grid-pro@v8.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') + +Same changes as in `@mui/x-data-grid@v8.0.0-alpha.1`. + +#### `@mui/x-data-grid-premium@v8.0.0-alpha.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan') + +Same changes as in `@mui/x-data-grid-pro@v8.0.0-alpha.1`, plus: + +- [DataGridPremium] Prompt input control (#15401) @arminmeh + +### Date and Time Pickers + +#### Breaking change + +- The `FieldValueType` type has been renamed to `PickerValueType` — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#renamed-variables). +- The `toolbar` and `layout` slots no longer receive the `disabled` and `readOnly` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slots-breaking-changes). + +#### `@mui/x-date-pickers@v8.0.0-alpha.1` + +- [fields] Fix focus management with new DOM structure (#15475) @flaviendelangle +- [pickers] React 19 support (#15342) @arminmeh +- [pickers] Add new properties to `PickerOwnerState` and `PickerContextValue` (#15415) @flaviendelangle +- [pickers] Always use `props.value` when it changes (#15490) @flaviendelangle +- [pickers] Ensure internal value timezone is updated (#15435) @LukasTy +- [pickers] Fix unused code in `` component (#15515) @LukasTy +- [pickers] Remove `FieldValueType` in favor of `PickerValueType` (#15259) @arthurbalduini +- [pickers] Remove the form props from the layout and the toolbar slots (#15492) @flaviendelangle +- [pickers] Use `props.referenceDate` timezone when `props.value` and `props.defaultValue` are not defined (#15532) @flaviendelangle +- [TimePicker] Prevent mouse events after `touchend` event (#15346) @arthurbalduini + +#### `@mui/x-date-pickers-pro@v8.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') + +Same changes as in `@mui/x-date-pickers@v8.0.0-alpha.1`, plus: + +- [DateTimeRangePicker] Use time in `referenceDate` when selecting date (#15429) @LukasTy + +### Charts + +#### Breaking change + +- The DX of the Tooltip customization has been refactored + - The `tooltip` prop has been removed in favor of `slotProps.tooltip` for consistency. + - The `popper`, `axisContent`, and `itemContent` slots have been removed in favor of the `tooltip` slot which overrides the entire tooltip. + - To override the tooltip content, use the `useItemTooltip` or `useAxisTooltip` hook to get the data, and wrap your component in `ChartsTooltipContainer` to follow the pointer position. + - To override the tooltip placement, use the `ChartsItemTooltipContent` or `ChartsItemTooltipContent` to get default data and place them in your custom tooltip. + +- The library now uses the SVG `filter` attribute instead of `d3-color` for color manipulation. + - This modification impacts the `LinePlot`, `AreaPlot`, and `BarPlot` components. + If you've customized the `fill` of those elements, you might need to override it by using the CSS `filter`. + - The `theme.styleOverride` is removed for `MuiLineElement`, `MuiAreaElement`, and `MuiBarElement` to improve performance. + You can still target those elements by using the `MuiLinePlot`, `MuiAreaPlot`, and `MuiBarPlot` and target the appropriate classes `lineElementClasses.root`, `areaElementClasses.root`, `barElementClasses.root` + +- Removed the `resolveSizeBeforeRender` prop from all chart components — [Learn more](https://next.mui.com/x/migration/migration-charts-v7/#remove-resolvesizebeforerender-prop). +- Removed `width` and `height` props from the `ChartsSurface` component. +- Removed the `viewport` prop from all charts. + +#### `@mui/x-charts@v8.0.0-alpha.1` + +- [charts] React 19 support (#15342) @arminmeh +- [charts] Decouple `` and `` (#15375) @JCQuintas +- [charts] Fix Scatter Chart tooltip wrong defaults (#15537) @JCQuintas +- [charts] Fix key generation for the `` component (#15463) @alexfauquette +- [charts] Improve `` to split the received ref (#15424) @JCQuintas +- [charts] Move interaction state in store (#15426) @alexfauquette +- [charts] Refactor Tooltip customisation (#15154) @alexfauquette +- [charts] Remove intrinsic size requirement (#15471) @JCQuintas +- [charts] Replace `d3-color` with CSS filter for highlight (#15084) @alexfauquette +- [charts] Split `` into `` and `` (#15417) @JCQuintas + +#### `@mui/x-charts-pro@v8.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') + +Same changes as in `@mui/x-charts@v8.0.0-alpha.1`. + +### Tree View + +#### Breaking changes + +- The Tree Item component can no longer use `publicAPI` methods in the `render` because they are now memoized — [Learn more](https://next.mui.com/x/migration/migration-tree-view-v7/#stop-using-publicapi-methods-in-the-render). + +#### `@mui/x-tree-view@v8.0.0-alpha.1` + +- [TreeView] React 19 support (#15342) @arminmeh +- [TreeView] Do not re-render every Tree Item when the Rich Tree View re-renders (introduce selectors) (#14210) @flaviendelangle +- [TreeView] Remove `treeId` from the item context (#15542) @flaviendelangle +- [TreeView] Remove state mutation in `moveItemInTree()` (#15539) @flaviendelangle +- [TreeItem] Correct the typing of `slotProps.groupTransition` (#15534) @flaviendelangle + +### Docs + +- [docs] Fix some migration typos (#15422) @LukasTy +- [docs] Fix typo in migration guide (#15508) @flaviendelangle +- [docs] Fix 301 redirection in docs @oliviertassinari +- [docs] Polish Server-side data section (#15330) @oliviertassinari +- [docs] Use loading state in the demos (#15512) @cherniavskii + +### Core + +- [core] Keep OpenSSF badge up-to-date @oliviertassinari +- [code-infra] Add `'DensitySelectorGrid'` to time-sensitive argos tests (#15425) @JCQuintas +- [code-infra] Add documentation to internal types (#15540) @JCQuintas +- [code-infra] Prevent relative imports across packages (#15437) @JCQuintas +- [code-infra] Update renovate config to merge `action` pins (#15462) @LukasTy +- [docs-infra] Fix version tooltip (#15468) @alexfauquette +- [docs-infra] Transpile `.ts` demo files (#15345) @KenanYusuf +- [infra] Remove cherry-pick issue write permission (#15456) @oliviertassinari + ## 8.0.0-alpha.0 MUI X v8 Alpha is live @@ -196,6 +338,82 @@ Same changes as in `@mui/x-charts@8.0.0-alpha.0`. - [release] v8 preparation (#15054) @michelengelen - [test] Fix advanced list view regression test snapshot (#15260) @KenanYusuf +## v7.22.3 + +_Nov 21, 2024_ + +We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨: + +- 📊 Charts Pro get stable. The [zoom](https://mui.com/x/react-charts/zoom-and-pan/) and [Heatmap](https://mui.com/x/react-charts/heatmap/) are now stable. +- 🌍 Improve Chinese, Spanish, Swedish, and Turkish locales on the Data Grid +- 🐞 Bugfixes + +Special thanks go out to the community contributors who have helped make this release possible: +@CarlosLopezLg, @headironc, @viktormelin, @qerkules, @DungTiger, @hendrikpeilke, @k-rajat19. +Following are all team members who have contributed to this release: +@alexfauquette, @LukasTy, @MBilalShafi, @flaviendelangle. + + + +### Data Grid + +#### `@mui/x-data-grid@7.22.3` + +- [DataGrid] Add prop to override search input props in `GridColumnsManagement` (#15476) @k-rajat19 +- [DataGrid] Add test coverage for issues fixed in #15184 @MBilalShafi +- [DataGrid] Fix memoized selectors with arguments (#15336) @MBilalShafi +- [DataGrid] Fix right column group header border with virtualization (#15503) @hendrikpeilke +- [DataGrid] Pass reason to `onPaginationModelChange` (#15402) @DungTiger +- [DataGrid] Set default overlay height in flex parent layout (#15535) @cherniavskii +- [l10n] Improve Chinese (zh-CN) locale (#15365) @headironc +- [l10n] Improve Spanish (es-ES) locale (#15369) @CarlosLopezLg +- [l10n] Improve Swedish (sv-SE) locale (#15371) @viktormelin +- [l10n] Improve Turkish (tr-TR) locale (#15414) @qerkules + +#### `@mui/x-data-grid-pro@7.22.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') + +Same changes as in `@mui/x-data-grid@7.22.3`. + +#### `@mui/x-data-grid-premium@7.22.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan') + +Same changes as in `@mui/x-data-grid-pro@7.22.3`. + +### Date and Time Pickers + +#### `@mui/x-date-pickers@7.22.3` + +- [pickers] Always use `props.value` when it changes (#15500) @flaviendelangle +- [pickers] Ensure internal value timezone is updated (#15491) @LukasTy +- [pickers] Fix `DateTimeRangePicker` error when using format without time (#15341) @fxnoob +- [pickers] Fix unused code in `PickersToolbar` component (#15525) @LukasTy + +#### `@mui/x-date-pickers-pro@7.22.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') + +Same changes as in `@mui/x-date-pickers@7.22.3`, plus: + +- [DateTimeRangePicker] Use time in `referenceDate` when selecting date (#15431) @LukasTy + +### Charts + +#### `@mui/x-charts@7.22.3` + +No changes since `@mui/x-charts@7.22.2`. + +#### `@mui/x-charts-pro@7.22.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') + +- [charts-pro] Fix missing typeOverload (#15400) @alexfauquette + +### Docs + +- [docs] Add `PickersPopper` component to customization playground (#15397) @LukasTy +- [docs] Add `next` version links (#15423) @LukasTy +- [docs] Use the `loading` state in the demos (#15538) @cherniavskii +- [docs] Add data caching to lazy loaded detail panel demo (#15506) @cherniavskii + +- [code-infra] Tentative fix for Argos flaky screenshot tests (#15399) @JCQuintas +- [docs-infra] Transpile `.ts` demo files (#15421) @KenanYusuf +- [core] Clarify release version bump strategy (#15536) @cherniavskii + ## 7.22.2 _Nov 8, 2024_ diff --git a/package.json b/package.json index 0d18c62a5494..31622c265acb 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "private": true, "scripts": { "preinstall": "npx only-allow pnpm", diff --git a/packages/x-charts-pro/package.json b/packages/x-charts-pro/package.json index 9960214e81ca..dd390c17b556 100644 --- a/packages/x-charts-pro/package.json +++ b/packages/x-charts-pro/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-charts-pro", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The Pro plan edition of the Charts components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-charts-vendor/package.json b/packages/x-charts-vendor/package.json index fc967be2d8ed..962c4c18b577 100644 --- a/packages/x-charts-vendor/package.json +++ b/packages/x-charts-vendor/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-charts-vendor", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "Vendored dependencies for MUI X Charts", "author": "MUI Team", "keywords": [ diff --git a/packages/x-charts/package.json b/packages/x-charts/package.json index 42cce10cd1d2..874f0c9dca67 100644 --- a/packages/x-charts/package.json +++ b/packages/x-charts/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-charts", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The community edition of the Charts components (MUI X).", "author": "MUI Team", "main": "src/index.js", diff --git a/packages/x-codemod/package.json b/packages/x-codemod/package.json index 44a02429be2f..76e4e92fa12d 100644 --- a/packages/x-codemod/package.json +++ b/packages/x-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-codemod", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "bin": "./codemod.js", "private": false, "author": "MUI Team", diff --git a/packages/x-data-grid-generator/package.json b/packages/x-data-grid-generator/package.json index 99216250cf76..f70df7751dec 100644 --- a/packages/x-data-grid-generator/package.json +++ b/packages/x-data-grid-generator/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-data-grid-generator", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "Generate fake data for demo purposes only.", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-data-grid-premium/package.json b/packages/x-data-grid-premium/package.json index 3c3a8d362010..a74e53962972 100644 --- a/packages/x-data-grid-premium/package.json +++ b/packages/x-data-grid-premium/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-data-grid-premium", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The Premium plan edition of the Data Grid Components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-data-grid-pro/package.json b/packages/x-data-grid-pro/package.json index c4a94b2d5c3d..69c790264a4d 100644 --- a/packages/x-data-grid-pro/package.json +++ b/packages/x-data-grid-pro/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-data-grid-pro", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The Pro plan edition of the Data Grid components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-data-grid/package.json b/packages/x-data-grid/package.json index df8b3246b917..7bdd01078ad4 100644 --- a/packages/x-data-grid/package.json +++ b/packages/x-data-grid/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-data-grid", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The Community plan edition of the Data Grid components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-date-pickers-pro/package.json b/packages/x-date-pickers-pro/package.json index 10257d3d2e7e..7ea584efa229 100644 --- a/packages/x-date-pickers-pro/package.json +++ b/packages/x-date-pickers-pro/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-date-pickers-pro", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The Pro plan edition of the Date and Time Picker components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-date-pickers/package.json b/packages/x-date-pickers/package.json index d01e895e3278..8683eaf1569d 100644 --- a/packages/x-date-pickers/package.json +++ b/packages/x-date-pickers/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-date-pickers", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The community edition of the Date and Time Picker components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-internals/package.json b/packages/x-internals/package.json index ee4e8dd06c23..3ed76021fadc 100644 --- a/packages/x-internals/package.json +++ b/packages/x-internals/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-internals", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "Utility functions for the MUI X packages (internal use only).", "author": "MUI Team", "license": "MIT", diff --git a/packages/x-license/package.json b/packages/x-license/package.json index 4a19c4a41f0b..e6d702347272 100644 --- a/packages/x-license/package.json +++ b/packages/x-license/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-license", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "MUI X License verification", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-tree-view-pro/package.json b/packages/x-tree-view-pro/package.json index e17ed745a622..aec8767f29bb 100644 --- a/packages/x-tree-view-pro/package.json +++ b/packages/x-tree-view-pro/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-tree-view-pro", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The Pro plan edition of the Tree View components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/packages/x-tree-view/package.json b/packages/x-tree-view/package.json index d4a1eb6c5de5..80b3589a8738 100644 --- a/packages/x-tree-view/package.json +++ b/packages/x-tree-view/package.json @@ -1,6 +1,6 @@ { "name": "@mui/x-tree-view", - "version": "8.0.0-alpha.0", + "version": "8.0.0-alpha.1", "description": "The community edition of the Tree View components (MUI X).", "author": "MUI Team", "main": "src/index.ts", diff --git a/scripts/releaseChangelog.mjs b/scripts/releaseChangelog.mjs index 209304695b1c..b7c47b24b268 100644 --- a/scripts/releaseChangelog.mjs +++ b/scripts/releaseChangelog.mjs @@ -221,6 +221,7 @@ async function main(argv) { break; case 'TreeView': case 'tree view': + case 'TreeItem': treeViewCommits.push(commitItem); break; case 'docs': @@ -360,7 +361,7 @@ ${logChangelogSection(pickersProCommits)}${pickersProCommits.length > 0 ? '\n' : ${logChangelogSection(chartsCommits) || `No changes since \`@mui/x-charts@${lastRelease}\`.`} -#### \`@mui/x-charts-pro@__VERSION-ALPHA__\` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') +#### \`@mui/x-charts-pro@__VERSION__\` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan') Same changes as in \`@mui/x-charts@__VERSION__\`${chartsProCommits.length > 0 ? ', plus:\n' : '.'} ${logChangelogSection(chartsProCommits)}${chartsProCommits.length > 0 ? '\n' : ''} From 1b75aa71c6a8048dabdcd85fa259d274e1a3f4a6 Mon Sep 17 00:00:00 2001 From: Diego Date: Sat, 23 Nov 2024 11:56:27 +0100 Subject: [PATCH 3/6] [l10n] Improve Spanish(es-ES) locale (#15559) Co-authored-by: Olivier Tassinari --- docs/data/data-grid/localization/data.json | 2 +- packages/x-data-grid/src/locales/esES.ts | 23 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/data/data-grid/localization/data.json b/docs/data/data-grid/localization/data.json index f7718fbf0daf..67a24d282726 100644 --- a/docs/data/data-grid/localization/data.json +++ b/docs/data/data-grid/localization/data.json @@ -235,7 +235,7 @@ "languageTag": "es-ES", "importName": "esES", "localeName": "Spanish", - "missingKeysCount": 11, + "missingKeysCount": 0, "totalKeysCount": 133, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/esES.ts" }, diff --git a/packages/x-data-grid/src/locales/esES.ts b/packages/x-data-grid/src/locales/esES.ts index 25ee23998fba..f4cecbda13d3 100644 --- a/packages/x-data-grid/src/locales/esES.ts +++ b/packages/x-data-grid/src/locales/esES.ts @@ -32,16 +32,17 @@ 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', + toolbarPromptControlDeleteIconLabel: 'Limpiar', + 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 +56,7 @@ const esESGrid: Partial = { columnsManagementNoColumns: 'Sin columnas', columnsManagementShowHideAllText: 'Mostrar/Ocultar todas', columnsManagementReset: 'Restablecer', - // columnsManagementDeleteIconLabel: 'Clear', + columnsManagementDeleteIconLabel: 'Limpiar', // Filter panel text filterPanelAddFilter: 'Agregar filtro', From 58656445b76fee5f389cd655bf035fcc7aad094b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20L=C3=BAcio?= Date: Sat, 23 Nov 2024 08:01:12 -0300 Subject: [PATCH 4/6] [l10n] Improve Portuguese (Brazil) (pt-BR) locale (#15562) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matheus Lúcio Co-authored-by: Olivier Tassinari --- docs/data/data-grid/localization/data.json | 2 +- packages/x-data-grid/src/locales/ptBR.ts | 23 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/data/data-grid/localization/data.json b/docs/data/data-grid/localization/data.json index 67a24d282726..67b19812642c 100644 --- a/docs/data/data-grid/localization/data.json +++ b/docs/data/data-grid/localization/data.json @@ -203,7 +203,7 @@ "languageTag": "pt-BR", "importName": "ptBR", "localeName": "Portuguese (Brazil)", - "missingKeysCount": 11, + "missingKeysCount": 0, "totalKeysCount": 133, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/ptBR.ts" }, diff --git a/packages/x-data-grid/src/locales/ptBR.ts b/packages/x-data-grid/src/locales/ptBR.ts index df742838bff8..d514af7e0460 100644 --- a/packages/x-data-grid/src/locales/ptBR.ts +++ b/packages/x-data-grid/src/locales/ptBR.ts @@ -32,16 +32,17 @@ 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', + toolbarPromptControlDeleteIconLabel: 'Limpar', + 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 +56,7 @@ const ptBRGrid: Partial = { columnsManagementNoColumns: 'Nenhuma coluna', columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas', columnsManagementReset: 'Redefinir', - // columnsManagementDeleteIconLabel: 'Clear', + columnsManagementDeleteIconLabel: 'Limpar', // Filter panel text filterPanelAddFilter: 'Adicionar filtro', From 483fc6a466116c339ecbce300ee9a967ac086d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20L=C3=BAcio?= Date: Sat, 23 Nov 2024 08:25:43 -0300 Subject: [PATCH 5/6] [l10n] Improve Portuguese (pt-PT) locale (#15561) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matheus Lúcio Co-authored-by: Olivier Tassinari --- docs/data/data-grid/localization/data.json | 2 +- packages/x-data-grid/src/locales/ptPT.ts | 23 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/data/data-grid/localization/data.json b/docs/data/data-grid/localization/data.json index 67b19812642c..8ce145a0b640 100644 --- a/docs/data/data-grid/localization/data.json +++ b/docs/data/data-grid/localization/data.json @@ -195,7 +195,7 @@ "languageTag": "pt-PT", "importName": "ptPT", "localeName": "Portuguese", - "missingKeysCount": 11, + "missingKeysCount": 0, "totalKeysCount": 133, "githubLink": "https://github.com/mui/mui-x/blob/master/packages/x-data-grid/src/locales/ptPT.ts" }, diff --git a/packages/x-data-grid/src/locales/ptPT.ts b/packages/x-data-grid/src/locales/ptPT.ts index ee6f9ae387f3..af84bf334302 100644 --- a/packages/x-data-grid/src/locales/ptPT.ts +++ b/packages/x-data-grid/src/locales/ptPT.ts @@ -32,16 +32,17 @@ 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', + toolbarPromptControlDeleteIconLabel: 'Limpar', + 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 +56,7 @@ const ptPTGrid: Partial = { columnsManagementNoColumns: 'Sem colunas', columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas', columnsManagementReset: 'Repor', - // columnsManagementDeleteIconLabel: 'Clear', + columnsManagementDeleteIconLabel: 'Limpar', // Filter panel text filterPanelAddFilter: 'Adicionar filtro', From 419eb67edbf6db293ad491d3398440a497898bee Mon Sep 17 00:00:00 2001 From: Nick Muller <3781551+nphmuller@users.noreply.github.com> Date: Sat, 23 Nov 2024 12:33:08 +0100 Subject: [PATCH 6/6] [l10n] Improve Dutch (nl-NL) locale (#15564) Signed-off-by: Nick Muller <3781551+nphmuller@users.noreply.github.com> --- packages/x-date-pickers/src/locales/nlNL.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/x-date-pickers/src/locales/nlNL.ts b/packages/x-date-pickers/src/locales/nlNL.ts index a8f167718b2c..18de679b02f4 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);