diff --git a/cypress/e2e/auth.cy.js b/cypress/e2e/auth.cy.js index 94c4fbfad53..6d69eb75851 100644 --- a/cypress/e2e/auth.cy.js +++ b/cypress/e2e/auth.cy.js @@ -20,7 +20,7 @@ describe('Authentication', () => { it('should not login with incorrect credentials', () => { ListPage.navigate(); ListPage.logout(); - LoginPage.login('foo', 'bar'); + LoginPage.login('foo', 'bar', true); cy.contains('Authentication failed, please retry'); }); it('should login with correct credentials', () => { diff --git a/cypress/support/LoginPage.js b/cypress/support/LoginPage.js index 00cc33f136c..1df9965a9cc 100644 --- a/cypress/support/LoginPage.js +++ b/cypress/support/LoginPage.js @@ -1,8 +1,10 @@ export default url => ({ elements: { + appLoader: '.app-loader', username: "input[name='username']", password: "input[name='password']", submitButton: 'button', + title: '#react-admin-title', }, navigate() { @@ -14,9 +16,13 @@ export default url => ({ cy.get(this.elements.username); }, - login(username = 'login', password = 'password') { + login(username = 'login', password = 'password', shouldFail = false) { cy.get(this.elements.username).clear().type(username); cy.get(this.elements.password).clear().type(password); cy.get(this.elements.submitButton).click(); + if (!shouldFail) { + cy.get(this.elements.title); + cy.get(this.elements.appLoader); + } }, }); diff --git a/examples/crm/package.json b/examples/crm/package.json index c6b0cb2ede0..33a01cec4d8 100644 --- a/examples/crm/package.json +++ b/examples/crm/package.json @@ -5,8 +5,8 @@ "type": "module", "dependencies": { "@hello-pangea/dnd": "^16.3.0", - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "@nivo/bar": "^0.80.0", "@nivo/core": "^0.80.0", "clsx": "^2.1.1", diff --git a/examples/crm/src/contacts/ContactImportDialog.tsx b/examples/crm/src/contacts/ContactImportDialog.tsx index bf1a29f22be..2b026ce6c69 100644 --- a/examples/crm/src/contacts/ContactImportDialog.tsx +++ b/examples/crm/src/contacts/ContactImportDialog.tsx @@ -1,10 +1,15 @@ -import { Box, CircularProgress, Stack, Typography } from '@mui/material'; -import Alert from '@mui/material/Alert'; -import Dialog from '@mui/material/Dialog'; -import DialogActions from '@mui/material/DialogActions'; -import DialogContent from '@mui/material/DialogContent'; -import DialogTitle from '@mui/material/DialogTitle'; -import MuiLink from '@mui/material/Link'; +import { + Alert, + Box, + CircularProgress, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + Link as MuiLink, + Stack, + Typography, +} from '@mui/material'; import { Button, FileField, diff --git a/examples/crm/vite.config.ts b/examples/crm/vite.config.ts index 4df87129ffd..39214bd049b 100644 --- a/examples/crm/vite.config.ts +++ b/examples/crm/vite.config.ts @@ -14,7 +14,7 @@ export default defineConfig(async () => { // eslint-disable-next-line prettier/prettier const packageJson = await import( path.resolve(__dirname, '../../packages', dirName, 'package.json'), - { assert: { type: 'json' } } + { with: { type: 'json' } } ); aliases[packageJson.default.name] = path.resolve( __dirname, diff --git a/examples/demo/package.json b/examples/demo/package.json index b67a86d278e..9fb699e71c5 100644 --- a/examples/demo/package.json +++ b/examples/demo/package.json @@ -4,9 +4,9 @@ "private": true, "type": "module", "dependencies": { - "@apollo/client": "^3.3.19", - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@apollo/client": "^3.12.4", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "@types/recharts": "^1.8.10", "@vitejs/plugin-react": "^2.2.0", "clsx": "^2.1.1", @@ -26,12 +26,12 @@ "ra-input-rich-text": "^5.0.0", "ra-language-english": "^5.0.0", "ra-language-french": "^5.0.0", - "react": "^18.3.1", + "react": "^19.0.0", "react-admin": "^5.0.0", - "react-dom": "^18.3.1", + "react-dom": "^19.0.0", "react-router": "^6.22.0", "react-router-dom": "^6.22.0", - "recharts": "^2.1.15" + "recharts": "^2.15.0" }, "scripts": { "dev": "vite", diff --git a/examples/demo/src/App.tsx b/examples/demo/src/App.tsx index c28639a00bd..409f47ff8ea 100644 --- a/examples/demo/src/App.tsx +++ b/examples/demo/src/App.tsx @@ -47,7 +47,7 @@ const App = () => { const darkTheme = themes.find(theme => theme.name === themeName)?.dark; return ( ( ); const CategoryTitle = () => { + const appTitle = useDefaultTitle(); const record = useRecordContext(); const translate = useTranslate(); + const getResourceLabel = useGetResourceLabel(); + + const pageTitle = translate('ra.page.edit', { + name: getResourceLabel('categories', 1), + recordRepresentation: `"${record?.name}"`, + }); return record ? ( - - {translate('resources.categories.name', { smart_count: 1 })} " - {record.name}" - + <> + {`${appTitle} - ${pageTitle}`} + {pageTitle} + ) : null; }; diff --git a/examples/demo/src/categories/CategoryList.tsx b/examples/demo/src/categories/CategoryList.tsx index f9d1dd7d858..64712b76f35 100644 --- a/examples/demo/src/categories/CategoryList.tsx +++ b/examples/demo/src/categories/CategoryList.tsx @@ -3,6 +3,7 @@ import { EditButton, List, RecordContextProvider, + useDefaultTitle, useListContext, } from 'react-admin'; import { @@ -17,6 +18,18 @@ import { humanize } from 'inflection'; import LinkToRelatedProducts from './LinkToRelatedProducts'; import { Category } from '../types'; +import { usePageTitle } from '../usePageTitle'; + +const CategoriesTitle = () => { + const title = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'list' }); + return ( + <> + {`${title} - ${pageTitle}`} + {pageTitle} + + ); +}; const CategoryList = () => ( ( pagination={false} component="div" actions={false} + title={} > diff --git a/examples/demo/src/invoices/InvoiceList.tsx b/examples/demo/src/invoices/InvoiceList.tsx index 85ea1108d1f..be1488fab75 100644 --- a/examples/demo/src/invoices/InvoiceList.tsx +++ b/examples/demo/src/invoices/InvoiceList.tsx @@ -12,11 +12,13 @@ import { SelectColumnsButton, ReferenceInput, FilterButton, + useDefaultTitle, } from 'react-admin'; import FullNameField from '../visitors/FullNameField'; import AddressField from '../visitors/AddressField'; import InvoiceShow from './InvoiceShow'; +import { usePageTitle } from '../usePageTitle'; const listFilters = [ , @@ -33,12 +35,24 @@ const ListActions = () => ( ); +const InvoicesTitle = () => { + const title = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'list' }); + return ( + <> + {`${title} - ${pageTitle}`} + {pageTitle} + + ); +}; + const InvoiceList = () => ( } + title={} > ( } component="div"> @@ -27,15 +29,14 @@ const OrderEdit = () => ( ); const OrderTitle = () => { - const translate = useTranslate(); - const record = useRecordContext(); - return record ? ( - - {translate('resources.orders.title', { - reference: record.reference, - })} - - ) : null; + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'edit' }); + return ( + <> + {`${appTitle} - ${pageTitle}`} + {pageTitle} + + ); }; const CustomerDetails = () => { diff --git a/examples/demo/src/orders/OrderList.tsx b/examples/demo/src/orders/OrderList.tsx index 8e5486283e1..4cf8859526f 100644 --- a/examples/demo/src/orders/OrderList.tsx +++ b/examples/demo/src/orders/OrderList.tsx @@ -19,6 +19,7 @@ import { SelectColumnsButton, TextField, TopToolbar, + useDefaultTitle, useListContext, } from 'react-admin'; import { useMediaQuery, Divider, Tabs, Tab, Theme } from '@mui/material'; @@ -27,6 +28,7 @@ import CustomerReferenceField from '../visitors/CustomerReferenceField'; import AddressField from '../visitors/AddressField'; import MobileGrid from './MobileGrid'; import { Customer } from '../types'; +import { usePageTitle } from '../usePageTitle'; const ListActions = () => ( @@ -36,6 +38,17 @@ const ListActions = () => ( ); +const OrdersTitle = () => { + const title = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'list' }); + return ( + <> + {`${title} - ${pageTitle}`} + {pageTitle} + + ); +}; + const OrderList = () => ( ( perPage={25} filters={orderFilters} actions={} + title={} > diff --git a/examples/demo/src/products/ProductCreate.tsx b/examples/demo/src/products/ProductCreate.tsx index e422696b89e..f50c81b190c 100644 --- a/examples/demo/src/products/ProductCreate.tsx +++ b/examples/demo/src/products/ProductCreate.tsx @@ -1,14 +1,33 @@ import * as React from 'react'; -import { Create, TabbedForm, TextInput, required } from 'react-admin'; +import { + Create, + TabbedForm, + TextInput, + required, + useDefaultTitle, +} from 'react-admin'; import { ProductEditDetails } from './ProductEditDetails'; +import { usePageTitle } from '../usePageTitle'; const RichTextInput = React.lazy(() => import('ra-input-rich-text').then(module => ({ default: module.RichTextInput, })) ); +const ProductTitle = () => { + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'create' }); + + return ( + <> + {`${appTitle} - ${pageTitle}`} + {pageTitle} + + ); +}; + const ProductCreate = () => ( - + }> ); const ProductTitle = () => { + const appTitle = useDefaultTitle(); + const translate = useTranslate(); const record = useRecordContext(); - return record ? Poster "{record.reference}" : null; + const getResourceLabel = useGetResourceLabel(); + + const pageTitle = translate('ra.page.edit', { + name: getResourceLabel('products', 1), + recordRepresentation: `"${record?.reference}"`, + }); + return record ? ( + <> + {`${appTitle} - ${pageTitle}`} + {pageTitle} + + ) : null; }; const ProductEdit = () => ( diff --git a/examples/demo/src/products/ProductList.tsx b/examples/demo/src/products/ProductList.tsx index 6083d4c01f3..7a10e9e0e36 100644 --- a/examples/demo/src/products/ProductList.tsx +++ b/examples/demo/src/products/ProductList.tsx @@ -17,18 +17,21 @@ import { Title, TopToolbar, useTranslate, - useGetResourceLabel, + useDefaultTitle, } from 'react-admin'; import ImageList from './GridList'; import Aside from './Aside'; +import { usePageTitle } from '../usePageTitle'; const ProductList = () => { - const getResourceLabel = useGetResourceLabel(); + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'list' }); const isSmall = useMediaQuery(theme => theme.breakpoints.down('md')); return ( - + <title>{`${appTitle} - ${pageTitle}`} + <FilterContext.Provider value={productFilters}> <ListActions isSmall={isSmall} /> {isSmall && ( diff --git a/examples/demo/src/reviews/ReviewCreate.tsx b/examples/demo/src/reviews/ReviewCreate.tsx index c2e83c9988b..731e53cf0e6 100644 --- a/examples/demo/src/reviews/ReviewCreate.tsx +++ b/examples/demo/src/reviews/ReviewCreate.tsx @@ -10,10 +10,23 @@ import { useNotify, useRedirect, getRecordFromLocation, + useDefaultTitle, } from 'react-admin'; import { useLocation } from 'react-router'; import StarRatingInput from './StarRatingInput'; +import { usePageTitle } from '../usePageTitle'; + +const ReviewTitle = () => { + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'create' }); + return ( + <> + <title>{`${appTitle} - ${pageTitle}`} + {pageTitle} + + ); +}; const ReviewCreate = () => { const notify = useNotify(); @@ -31,7 +44,7 @@ const ReviewCreate = () => { }; return ( - + }> void; } +const ReviewTitle = () => { + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'edit' }); + return {`${appTitle} - ${pageTitle}`}; +}; + const ReviewEdit = ({ id, onCancel }: ReviewEditProps) => { const translate = useTranslate(); return ( + + diff --git a/examples/demo/src/reviews/ReviewList.tsx b/examples/demo/src/reviews/ReviewList.tsx index e8e302377c7..0accf1c94a3 100644 --- a/examples/demo/src/reviews/ReviewList.tsx +++ b/examples/demo/src/reviews/ReviewList.tsx @@ -7,6 +7,7 @@ import { List, SelectColumnsButton, TopToolbar, + useDefaultTitle, } from 'react-admin'; import { matchPath, useLocation, useNavigate } from 'react-router-dom'; import { Box, Drawer, useMediaQuery, Theme } from '@mui/material'; @@ -15,6 +16,7 @@ import ReviewListMobile from './ReviewListMobile'; import ReviewListDesktop from './ReviewListDesktop'; import reviewFilters from './reviewFilters'; import ReviewEdit from './ReviewEdit'; +import { usePageTitle } from '../usePageTitle'; const ReviewListActions = () => ( @@ -25,6 +27,17 @@ const ReviewListActions = () => ( ); +const ReviewsTitle = () => { + const title = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'list' }); + return ( + <> + {`${title} - ${pageTitle}`} + {pageTitle} + + ); +}; + const ReviewList = () => { const isXSmall = useMediaQuery(theme => theme.breakpoints.down('sm') @@ -53,6 +66,7 @@ const ReviewList = () => { perPage={25} sort={{ field: 'date', order: 'DESC' }} actions={} + title={} > {isXSmall ? ( diff --git a/examples/demo/src/segments/Segments.tsx b/examples/demo/src/segments/Segments.tsx index b9d3ff5b159..e53fa78ed9c 100644 --- a/examples/demo/src/segments/Segments.tsx +++ b/examples/demo/src/segments/Segments.tsx @@ -7,40 +7,46 @@ import { TableHead, TableRow, } from '@mui/material'; -import { useTranslate, Title } from 'react-admin'; +import { useTranslate, Title, useDefaultTitle } from 'react-admin'; import LinkToRelatedCustomers from './LinkToRelatedCustomers'; import segments from './data'; +import { usePageTitle } from '../usePageTitle'; const Segments = () => { + const appTitle = useDefaultTitle(); const translate = useTranslate(); + const pageTitle = usePageTitle({ view: 'list', resource: 'segments' }); return ( - - - <Table size="small"> - <TableHead> - <TableRow> - <TableCell> - {translate('resources.segments.fields.name')} - </TableCell> - <TableCell /> - </TableRow> - </TableHead> - <TableBody> - {segments.map(segment => ( - <TableRow key={segment.id}> - <TableCell>{translate(segment.name)}</TableCell> + <> + <title>{`${appTitle} - ${pageTitle}`} + + + <Table size="small"> + <TableHead> + <TableRow> <TableCell> - <LinkToRelatedCustomers segment={segment.id} /> + {translate('resources.segments.fields.name')} </TableCell> + <TableCell /> </TableRow> - ))} - </TableBody> - </Table> - </Card> + </TableHead> + <TableBody> + {segments.map(segment => ( + <TableRow key={segment.id}> + <TableCell>{translate(segment.name)}</TableCell> + <TableCell> + <LinkToRelatedCustomers + segment={segment.id} + /> + </TableCell> + </TableRow> + ))} + </TableBody> + </Table> + </Card> + </> ); }; diff --git a/examples/demo/src/usePageTitle.tsx b/examples/demo/src/usePageTitle.tsx new file mode 100644 index 00000000000..eee414a8537 --- /dev/null +++ b/examples/demo/src/usePageTitle.tsx @@ -0,0 +1,36 @@ +import { + HintedString, + RaRecord, + useGetRecordRepresentation, + useGetResourceLabel, + useRecordContext, + useResourceContext, + useTranslate, +} from 'react-admin'; + +export const usePageTitle = (props: { + view: HintedString<'list' | 'edit' | 'show' | 'create'>; + record?: RaRecord; + resource?: string; + count?: number; +}) => { + const { view, count = view === 'list' ? 2 : 1 } = props; + const translate = useTranslate(); + const record = useRecordContext(props); + const resource = useResourceContext(props); + const getResourceLabel = useGetResourceLabel(); + const getRecordRepresentation = useGetRecordRepresentation(); + + if (!resource) { + throw new Error( + 'usePageTitle must be used inside a <Resource> component or provide a resource prop' + ); + } + + const pageTitle = translate(`ra.page.${view}`, { + name: getResourceLabel(resource, count), + recordRepresentation: getRecordRepresentation(record), + }); + + return pageTitle; +}; diff --git a/examples/demo/src/visitors/VisitorCreate.tsx b/examples/demo/src/visitors/VisitorCreate.tsx index 8d6a0406e73..5d0547f1386 100644 --- a/examples/demo/src/visitors/VisitorCreate.tsx +++ b/examples/demo/src/visitors/VisitorCreate.tsx @@ -7,8 +7,10 @@ import { useTranslate, PasswordInput, email, + useDefaultTitle, } from 'react-admin'; import { Box, Typography } from '@mui/material'; +import { usePageTitle } from '../usePageTitle'; export const validateForm = ( values: Record<string, any> @@ -35,8 +37,19 @@ export const validateForm = ( return errors; }; +const VisitorTitle = () => { + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'create' }); + return ( + <> + <title>{`${appTitle} - ${pageTitle}`} + {pageTitle} + + ); +}; + const VisitorCreate = () => ( - + }> { const translate = useTranslate(); @@ -113,8 +115,19 @@ const VisitorEdit = () => { ); }; -const VisitorTitle = () => ( - -); +const VisitorTitle = () => { + const appTitle = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'edit' }); + return ( + <> + {`${appTitle} - ${pageTitle}`} + + + ); +}; export default VisitorEdit; diff --git a/examples/demo/src/visitors/VisitorList.tsx b/examples/demo/src/visitors/VisitorList.tsx index c22fcc1a0ef..4c90652f8db 100644 --- a/examples/demo/src/visitors/VisitorList.tsx +++ b/examples/demo/src/visitors/VisitorList.tsx @@ -12,6 +12,7 @@ import { SearchInput, SelectColumnsButton, TopToolbar, + useDefaultTitle, } from 'react-admin'; import { useMediaQuery, Theme } from '@mui/material'; @@ -21,6 +22,7 @@ import CustomerLinkField from './CustomerLinkField'; import ColoredNumberField from './ColoredNumberField'; import MobileGrid from './MobileGrid'; import VisitorListAside from './VisitorListAside'; +import { usePageTitle } from '../usePageTitle'; const visitorFilters = [ , @@ -38,6 +40,17 @@ const VisitorListActions = () => ( ); +const VisitorTitle = () => { + const title = useDefaultTitle(); + const pageTitle = usePageTitle({ view: 'list' }); + return ( + <> + {`${title} - ${pageTitle}`} + {pageTitle} + + ); +}; + const VisitorList = () => { const isXsmall = useMediaQuery(theme => theme.breakpoints.down('sm') @@ -50,6 +63,7 @@ const VisitorList = () => { perPage={25} aside={} actions={} + title={} > {isXsmall ? ( diff --git a/examples/demo/vite.config.ts b/examples/demo/vite.config.ts index a0c445c7462..11e558db873 100644 --- a/examples/demo/vite.config.ts +++ b/examples/demo/vite.config.ts @@ -19,7 +19,7 @@ export default defineConfig(async () => { // eslint-disable-next-line prettier/prettier const packageJson = await import( path.resolve(__dirname, '../../packages', dirName, 'package.json'), - { assert: { type: 'json' } } + { with: { type: 'json' } } ); aliases[packageJson.default.name] = path.resolve( __dirname, diff --git a/examples/no-code/package.json b/examples/no-code/package.json index 8fbb2180005..5e70f237a9d 100644 --- a/examples/no-code/package.json +++ b/examples/no-code/package.json @@ -8,7 +8,7 @@ "serve": "vite preview" }, "dependencies": { - "@mui/material": "^5.15.20", + "@mui/material": "^5.16.12", "ra-data-local-storage": "^5.0.0", "ra-no-code": "^5.0.0", "react": "^18.3.1", diff --git a/examples/simple/package.json b/examples/simple/package.json index 6efd10223ce..4c619b2a4d8 100644 --- a/examples/simple/package.json +++ b/examples/simple/package.json @@ -10,10 +10,8 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@emotion/react": "^11.7.1", - "@emotion/styled": "^11.6.0", - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "@tanstack/react-query": "^5.21.7", "@tanstack/react-query-devtools": "^5.21.7", "jsonexport": "^3.2.0", @@ -31,8 +29,10 @@ "react-router-dom": "^6.22.0" }, "devDependencies": { - "@hookform/devtools": "^4.0.2", + "@hookform/devtools": "^4.3.3", "@vitejs/plugin-react": "^4.2.1", + "little-state-machine": "^4.8.1", + "react-simple-animate": "^3.5.3", "typescript": "^5.1.3", "vite": "^5.0.11" } diff --git a/examples/simple/vite.config.ts b/examples/simple/vite.config.ts index 67c3f022156..716ada2c9f4 100644 --- a/examples/simple/vite.config.ts +++ b/examples/simple/vite.config.ts @@ -25,7 +25,7 @@ export default defineConfig(async () => { dirName, 'package.json' ), - { assert: { type: 'json' } } + { with: { type: 'json' } } ); aliases.push({ find: new RegExp(`^${packageJson.default.name}$`), diff --git a/examples/tutorial/package.json b/examples/tutorial/package.json index cbe93de12ea..d281ea5c4f1 100644 --- a/examples/tutorial/package.json +++ b/examples/tutorial/package.json @@ -10,9 +10,9 @@ }, "dependencies": { "ra-data-json-server": "^5.0.0", - "react": "^18.3.1", + "react": "^19.0.0", "react-admin": "^5.0.0", - "react-dom": "^18.3.1" + "react-dom": "^19.0.0" }, "devDependencies": { "@types/react": "^18.3.3", diff --git a/packages/ra-core/package.json b/packages/ra-core/package.json index 02fbf33e007..09b82787f7a 100644 --- a/packages/ra-core/package.json +++ b/packages/ra-core/package.json @@ -43,7 +43,6 @@ "react-hook-form": "^7.53.0", "react-router": "^6.25.1", "react-router-dom": "^6.25.1", - "react-test-renderer": "^18.2.0", "recharts": "^2.1.15", "rimraf": "^3.0.2", "typescript": "^5.1.3", @@ -67,7 +66,7 @@ "lodash": "^4.17.21", "query-string": "^7.1.3", "react-error-boundary": "^4.0.13", - "react-is": "^18.2.0" + "react-is": "^18.2.0 || ^19.0.0" }, "gitHead": "587df4c27bfcec4a756df4f95e5fc14728dfc0d7" } diff --git a/packages/ra-input-rich-text/package.json b/packages/ra-input-rich-text/package.json index d6864e87473..35514ffce1f 100644 --- a/packages/ra-input-rich-text/package.json +++ b/packages/ra-input-rich-text/package.json @@ -38,16 +38,16 @@ "clsx": "^2.1.1" }, "peerDependencies": { - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "ra-core": "^5.0.0", "ra-ui-materialui": "^5.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "devDependencies": { - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "@testing-library/react": "^15.0.7", "@tiptap/extension-mention": "^2.0.3", "@tiptap/suggestion": "^2.0.3", diff --git a/packages/ra-no-code/package.json b/packages/ra-no-code/package.json index 8f12d16ccc5..a4934fe589a 100644 --- a/packages/ra-no-code/package.json +++ b/packages/ra-no-code/package.json @@ -36,8 +36,8 @@ "typescript": "^5.1.3" }, "peerDependencies": { - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, diff --git a/packages/ra-ui-materialui/package.json b/packages/ra-ui-materialui/package.json index 51cc6bfca48..69939a354d6 100644 --- a/packages/ra-ui-materialui/package.json +++ b/packages/ra-ui-materialui/package.json @@ -26,9 +26,9 @@ "watch": "tsc --outDir dist/esm --module es2015 --watch" }, "devDependencies": { - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", - "@mui/utils": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", + "@mui/utils": "^5.16.12", "@testing-library/react": "^15.0.7", "@types/dompurify": "^3.0.2", "@types/react": "^18.3.3", @@ -45,22 +45,21 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.53.0", - "react-is": "^18.2.0", + "react-is": "^18.2.0 || ^19.0.0", "react-router": "^6.25.1", "react-router-dom": "^6.25.1", - "react-test-renderer": "^18.2.0", "rimraf": "^3.0.2", "typescript": "^5.1.3" }, "peerDependencies": { - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", - "@mui/utils": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", + "@mui/utils": "^5.16.12", "ra-core": "^5.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "react-hook-form": "*", - "react-is": "^18.0.0", + "react-is": "^18.0.0 || ^19.0.0", "react-router": "^6.22.0", "react-router-dom": "^6.22.0" }, diff --git a/packages/ra-ui-materialui/src/input/ArrayInput/ArrayInput.spec.tsx b/packages/ra-ui-materialui/src/input/ArrayInput/ArrayInput.spec.tsx index 8d777068e7d..e771634acc3 100644 --- a/packages/ra-ui-materialui/src/input/ArrayInput/ArrayInput.spec.tsx +++ b/packages/ra-ui-materialui/src/input/ArrayInput/ArrayInput.spec.tsx @@ -393,12 +393,11 @@ describe('', () => { await waitFor(() => { expect(screen.queryAllByLabelText('Remove')).toHaveLength(0); }); + await screen.findByText('Required'); const SaveButton = screen.getByText('Save'); fireEvent.click(SaveButton); await screen.findByText( - 'The form is not valid. Please check for errors', - undefined, - { timeout: 3000 } + 'The form is not valid. Please check for errors' ); }); it('should display an error if one of the required field is empty', async () => { diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx index e3ae0a3bb20..ab0621ae7bc 100644 --- a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx +++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx @@ -692,7 +692,6 @@ If you provided a React element for the optionText prop, you must also provide t onInputChange={handleInputChange} renderOption={(props, record: RaRecord) => { // We have to extract the key because react 19 does not allow to spread the key prop - // @ts-expect-error The key is indeed inside props but MUI does not provide the correct type const { key: ignoredKey, ...rest } = props; // We don't use MUI key which is generated from the option label because we may have options with the same label but with different values const key = getChoiceValue(record); diff --git a/packages/ra-ui-materialui/src/list/SimpleList/SimpleList.tsx b/packages/ra-ui-materialui/src/list/SimpleList/SimpleList.tsx index d16d6195f09..d9c03362c2d 100644 --- a/packages/ra-ui-materialui/src/list/SimpleList/SimpleList.tsx +++ b/packages/ra-ui-materialui/src/list/SimpleList/SimpleList.tsx @@ -85,6 +85,7 @@ export const SimpleList = ( ref, rowSx, rowStyle, + resource, ...rest } = props; const { data, isPending, total } = @@ -121,6 +122,7 @@ export const SimpleList = ( rowClick={rowClick} rowSx={rowSx} rowStyle={rowStyle} + resource={resource} > ( typeof linkType === 'function' || typeof rowClick === 'function'; const pathForRecord = useGetPathForRecord({ link: isFunctionLink ? false : linkType ?? rowClick, + resource, }); const getPathForRecord = useGetPathForRecordCallback(); const handleClick = useEvent(async () => { diff --git a/packages/react-admin/package.json b/packages/react-admin/package.json index d346d72d95a..6609bd7be33 100644 --- a/packages/react-admin/package.json +++ b/packages/react-admin/package.json @@ -36,10 +36,8 @@ "react-dom": "^18.0.0 || ^19.0.0" }, "dependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "@mui/icons-material": "^5.15.20", - "@mui/material": "^5.15.20", + "@mui/icons-material": "^5.16.12", + "@mui/material": "^5.16.12", "ra-core": "^5.4.3", "ra-i18n-polyglot": "^5.4.3", "ra-language-english": "^5.4.3", diff --git a/yarn.lock b/yarn.lock index dbff39fa5a0..58cd96eb3bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,9 +32,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.3.19, @apollo/client@npm:^3.9.11": - version: 3.9.11 - resolution: "@apollo/client@npm:3.9.11" +"@apollo/client@npm:^3.12.4, @apollo/client@npm:^3.3.19, @apollo/client@npm:^3.9.11": + version: 3.12.4 + resolution: "@apollo/client@npm:3.12.4" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" "@wry/caches": "npm:^1.0.0" @@ -44,7 +44,7 @@ __metadata: hoist-non-react-statics: "npm:^3.3.2" optimism: "npm:^0.18.0" prop-types: "npm:^15.7.2" - rehackt: "npm:0.0.6" + rehackt: "npm:^0.1.0" response-iterator: "npm:^0.2.6" symbol-observable: "npm:^4.0.0" ts-invariant: "npm:^0.10.3" @@ -53,8 +53,8 @@ __metadata: peerDependencies: graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc subscriptions-transport-ws: ^0.9.0 || ^0.11.0 peerDependenciesMeta: graphql-ws: @@ -65,7 +65,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: c7657a8e0d62f6d1e0b2da7573e9a9397af879946396e86682166596ffb201c22f7677d11cf65ca2ce97acc8ff2ee8e37c077716cd1b6ae9bb0e3a9cdfdecaf4 + checksum: 6b30b14d576230cb56b0bb9b328c81f33631640e3d97a1185a20ede7e200dfa79502d695c347920e8c930a36e50870a41f5244ae2167d0123ad56973642528e6 languageName: node linkType: hard @@ -1784,16 +1784,16 @@ __metadata: languageName: node linkType: hard -"@emotion/cache@npm:^11.11.0, @emotion/cache@npm:^11.7.1": - version: 11.11.0 - resolution: "@emotion/cache@npm:11.11.0" +"@emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.7.1": + version: 11.14.0 + resolution: "@emotion/cache@npm:11.14.0" dependencies: - "@emotion/memoize": "npm:^0.8.1" - "@emotion/sheet": "npm:^1.2.2" - "@emotion/utils": "npm:^1.2.1" - "@emotion/weak-memoize": "npm:^0.3.1" + "@emotion/memoize": "npm:^0.9.0" + "@emotion/sheet": "npm:^1.4.0" + "@emotion/utils": "npm:^1.4.2" + "@emotion/weak-memoize": "npm:^0.4.0" stylis: "npm:4.2.0" - checksum: a23ab5ab2fd08e904698106d58ad3536fed51cc1aa0ef228e95bb640eaf11f560dbd91a395477b0d84e1e3c20150263764b4558517cf6576a89d2d6cc5253688 + checksum: 3fa3e7a431ab6f8a47c67132a00ac8358f428c1b6c8421d4b20de9df7c18e95eec04a5a6ff5a68908f98d3280044f247b4965ac63df8302d2c94dba718769724 languageName: node linkType: hard @@ -1813,21 +1813,14 @@ __metadata: languageName: node linkType: hard -"@emotion/memoize@npm:^0.7.4, @emotion/memoize@npm:^0.7.5": - version: 0.7.5 - resolution: "@emotion/memoize@npm:0.7.5" - checksum: 28d061ec9fb9b8c495d58b4e2dcc62207d75d4e8d8f4e6a0b42342d6e7c649d41461e807363d1a0a2c33d2235f6ee59dd6394fbec88b7da65e3d5852fc34387e - languageName: node - linkType: hard - -"@emotion/memoize@npm:^0.8.1": - version: 0.8.1 - resolution: "@emotion/memoize@npm:0.8.1" - checksum: dffed372fc3b9fa2ba411e76af22b6bb686fb0cb07694fdfaa6dd2baeb0d5e4968c1a7caa472bfcf06a5997d5e7c7d16b90e993f9a6ffae79a2c3dbdc76dfe78 +"@emotion/memoize@npm:^0.7.4, @emotion/memoize@npm:^0.7.5, @emotion/memoize@npm:^0.9.0": + version: 0.9.0 + resolution: "@emotion/memoize@npm:0.9.0" + checksum: 13f474a9201c7f88b543e6ea42f55c04fb2fdc05e6c5a3108aced2f7e7aa7eda7794c56bba02985a46d8aaa914fcdde238727a98341a96e2aec750d372dadd15 languageName: node linkType: hard -"@emotion/react@npm:^11.1.5, @emotion/react@npm:^11.4.1, @emotion/react@npm:^11.7.1": +"@emotion/react@npm:^11.1.5": version: 11.7.1 resolution: "@emotion/react@npm:11.7.1" dependencies: @@ -1863,14 +1856,14 @@ __metadata: languageName: node linkType: hard -"@emotion/sheet@npm:^1.1.0, @emotion/sheet@npm:^1.2.2": - version: 1.2.2 - resolution: "@emotion/sheet@npm:1.2.2" - checksum: 69827a1bfa43d7b188f1d8cea42163143a36312543fdade5257c459a2b3efd7ce386aac84ba152bc2517a4f7e54384c04800b26adb382bb284ac7e4ad40e584b +"@emotion/sheet@npm:^1.1.0, @emotion/sheet@npm:^1.4.0": + version: 1.4.0 + resolution: "@emotion/sheet@npm:1.4.0" + checksum: 3ca72d1650a07d2fbb7e382761b130b4a887dcd04e6574b2d51ce578791240150d7072a9bcb4161933abbcd1e38b243a6fb4464a7fe991d700c17aa66bb5acc7 languageName: node linkType: hard -"@emotion/styled@npm:^11.3.0, @emotion/styled@npm:^11.6.0": +"@emotion/styled@npm:^11.3.0": version: 11.6.0 resolution: "@emotion/styled@npm:11.6.0" dependencies: @@ -1899,24 +1892,17 @@ __metadata: languageName: node linkType: hard -"@emotion/utils@npm:^1.0.0, @emotion/utils@npm:^1.2.1": - version: 1.2.1 - resolution: "@emotion/utils@npm:1.2.1" - checksum: db43ca803361740c14dfb1cca1464d10d27f4c8b40d3e8864e6932ccf375d1450778ff4e4eadee03fb97f2aeb18de9fae98294905596a12ff7d4cd1910414d8d - languageName: node - linkType: hard - -"@emotion/weak-memoize@npm:^0.2.5": - version: 0.2.5 - resolution: "@emotion/weak-memoize@npm:0.2.5" - checksum: cabfaaecabbb407d323098afc0bb2dd2ec9aaea0672f8f2c54b84b99d5f8cc680356cf166583fd5593330ceef29f2c26554c2c65dff06c0a8f5f8c7da69d89f1 +"@emotion/utils@npm:^1.0.0, @emotion/utils@npm:^1.4.2": + version: 1.4.2 + resolution: "@emotion/utils@npm:1.4.2" + checksum: 7d0010bf60a2a8c1a033b6431469de4c80e47aeb8fd856a17c1d1f76bbc3a03161a34aeaa78803566e29681ca551e7bf9994b68e9c5f5c796159923e44f78d9a languageName: node linkType: hard -"@emotion/weak-memoize@npm:^0.3.1": - version: 0.3.1 - resolution: "@emotion/weak-memoize@npm:0.3.1" - checksum: ed514b3cb94bbacece4ac2450d98898066c0a0698bdeda256e312405ca53634cb83c75889b25cd8bbbe185c80f4c05a1f0a0091e1875460ba6be61d0334f0b8a +"@emotion/weak-memoize@npm:^0.2.5, @emotion/weak-memoize@npm:^0.4.0": + version: 0.4.0 + resolution: "@emotion/weak-memoize@npm:0.4.0" + checksum: 64376af11f1266042d03b3305c30b7502e6084868e33327e944b539091a472f089db307af69240f7188f8bc6b319276fd7b141a36613f1160d73d12a60f6ca1a languageName: node linkType: hard @@ -2284,44 +2270,6 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.0.0": - version: 1.6.0 - resolution: "@floating-ui/core@npm:1.6.0" - dependencies: - "@floating-ui/utils": "npm:^0.2.1" - checksum: 667a68036f7dd5ed19442c7792a6002ca02d1799221c4396691bbe0b6008b48f6ccad581225e81fa266bb91232f6c66838a5f825f554217e1ec886178b93381b - languageName: node - linkType: hard - -"@floating-ui/dom@npm:^1.6.1": - version: 1.6.3 - resolution: "@floating-ui/dom@npm:1.6.3" - dependencies: - "@floating-ui/core": "npm:^1.0.0" - "@floating-ui/utils": "npm:^0.2.0" - checksum: d6cac10877918ce5a8d1a24b21738d2eb130a0191043d7c0dd43bccac507844d3b4dc5d4107d3891d82f6007945ca8fb4207a1252506e91c37e211f0f73cf77e - languageName: node - linkType: hard - -"@floating-ui/react-dom@npm:^2.0.8": - version: 2.0.8 - resolution: "@floating-ui/react-dom@npm:2.0.8" - dependencies: - "@floating-ui/dom": "npm:^1.6.1" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 4d87451e2dcc54b4753a0d81181036e47821cfd0d4c23f7e9c31590c7c91fb15fb0a5a458969a5ddabd61601eca5875ebd4e40bff37cee31f373b8f1ccc64518 - languageName: node - linkType: hard - -"@floating-ui/utils@npm:^0.2.0, @floating-ui/utils@npm:^0.2.1": - version: 0.2.1 - resolution: "@floating-ui/utils@npm:0.2.1" - checksum: ee77756712cf5b000c6bacf11992ffb364f3ea2d0d51cc45197a7e646a17aeb86ea4b192c0b42f3fbb29487aee918a565e84f710b8c3645827767f406a6b4cc9 - languageName: node - linkType: hard - "@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -2396,9 +2344,9 @@ __metadata: languageName: node linkType: hard -"@hookform/devtools@npm:^4.0.2": - version: 4.0.2 - resolution: "@hookform/devtools@npm:4.0.2" +"@hookform/devtools@npm:^4.3.3": + version: 4.3.3 + resolution: "@hookform/devtools@npm:4.3.3" dependencies: "@emotion/react": "npm:^11.1.5" "@emotion/styled": "npm:^11.3.0" @@ -2406,11 +2354,12 @@ __metadata: little-state-machine: "npm:^4.1.0" lodash: "npm:^4.17.21" react-simple-animate: "npm:^3.3.12" + use-deep-compare-effect: "npm:^1.8.1" + uuid: "npm:^8.3.2" peerDependencies: - react: ">=17.0.2" - react-dom: ">=17.0.2" - react-hook-form: ^7.13.0 - checksum: 079eda3b8693c48d140f41f8640febd9ae5491925ffc62b4e5048562ae966d2cf524f7a8ef2357a96828ed8f25704a881357124159ccaf8d3af77acac5a35dc3 + react: ^16.8.0 || ^17 || ^18 || ^19 + react-dom: ^16.8.0 || ^17 || ^18 || ^19 + checksum: eef986545a4a2c0d7d5c20d84048c064ccf121f803bc5490832a46a69024f50af8c6976b0feb78790a05d7c1b722dc0d664ff538d717f0d15ddc8f197e495dc0 languageName: node linkType: hard @@ -2867,73 +2816,51 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.40": - version: 5.0.0-beta.40 - resolution: "@mui/base@npm:5.0.0-beta.40" - dependencies: - "@babel/runtime": "npm:^7.23.9" - "@floating-ui/react-dom": "npm:^2.0.8" - "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^5.15.14" - "@popperjs/core": "npm:^2.11.8" - clsx: "npm:^2.1.0" - prop-types: "npm:^15.8.1" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 631b4ee389e23d82c16c5845c2849af43000f52f1def639b9bb5bf39fd09f4eab93787d32950b715a7de7b689faab53bb7c9a78f6fd12b663876cf8128d45de1 - languageName: node - linkType: hard - -"@mui/core-downloads-tracker@npm:^5.15.20": - version: 5.15.20 - resolution: "@mui/core-downloads-tracker@npm:5.15.20" - checksum: 0e1f9aa9c85d5f60fa5937edc22dfbebd512671379e3adb7c99a8ef0928bf42daed98cede41a407e810a225554943675e9d976bc0ae17acdc20445c8d2f121b3 +"@mui/core-downloads-tracker@npm:^5.16.14": + version: 5.16.14 + resolution: "@mui/core-downloads-tracker@npm:5.16.14" + checksum: eb866003ee4564c40423aadc4513b4c7d72c69723fe7dee4697ac70c19951e6e11093bb190761dc51a8f4d2731e562034ecb284930eec931bae1a56b8e18ca60 languageName: node linkType: hard -"@mui/icons-material@npm:^5.15.20": - version: 5.15.20 - resolution: "@mui/icons-material@npm:5.15.20" +"@mui/icons-material@npm:^5.16.12": + version: 5.16.14 + resolution: "@mui/icons-material@npm:5.16.14" dependencies: "@babel/runtime": "npm:^7.23.9" peerDependencies: "@mui/material": ^5.0.0 - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 3765340625ad0c5181cffbec1a9a52185e9add4d2eda1f8c3e262b11bf9ca1e8cdf87f67f550b300d8c3c31277b7c8bb38261c964f6180d31b3e928a1dc03315 + checksum: 11632d1f9904fda0a751e442d3d948a83977cd9ba81481cda4e61b9dfdbd80b0616e27750728c066a4dc505035d7ad6aa29ff7c6160a9b52a2b313fc89aa4be3 languageName: node linkType: hard -"@mui/material@npm:^5.15.20": - version: 5.15.20 - resolution: "@mui/material@npm:5.15.20" +"@mui/material@npm:^5.16.12": + version: 5.16.14 + resolution: "@mui/material@npm:5.16.14" dependencies: "@babel/runtime": "npm:^7.23.9" - "@mui/base": "npm:5.0.0-beta.40" - "@mui/core-downloads-tracker": "npm:^5.15.20" - "@mui/system": "npm:^5.15.20" - "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^5.15.20" + "@mui/core-downloads-tracker": "npm:^5.16.14" + "@mui/system": "npm:^5.16.14" + "@mui/types": "npm:^7.2.15" + "@mui/utils": "npm:^5.16.14" + "@popperjs/core": "npm:^2.11.8" "@types/react-transition-group": "npm:^4.4.10" clsx: "npm:^2.1.0" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" - react-is: "npm:^18.2.0" + react-is: "npm:^19.0.0" react-transition-group: "npm:^4.4.5" peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/react": optional: true @@ -2941,65 +2868,65 @@ __metadata: optional: true "@types/react": optional: true - checksum: 0882661f83f5b73c06d6402ddd9c0f8e471198b838c4a456db03a5256d8febc688abc41645156d155536106a44bd28798efcfdaec00b665ab91dbd5c9dee83eb + checksum: e313c1274f18a245f7128c9ccbd6444d6edb91a99fef7b6ec9ece4d2d19da0fec9a484afc24c0c35e9fcc53fb090dc524083d682c78428754a1c5b6cebb70a63 languageName: node linkType: hard -"@mui/private-theming@npm:^5.15.20": - version: 5.15.20 - resolution: "@mui/private-theming@npm:5.15.20" +"@mui/private-theming@npm:^5.16.14": + version: 5.16.14 + resolution: "@mui/private-theming@npm:5.16.14" dependencies: "@babel/runtime": "npm:^7.23.9" - "@mui/utils": "npm:^5.15.20" + "@mui/utils": "npm:^5.16.14" prop-types: "npm:^15.8.1" peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: d6707ef884769a58a9dac23328138cd2dbb3dbdcfbf46beae406638628a77b2975aaf787f863143ae97ea2d5f6eca8d0ff929f2159f3f9b58bcedb2e01c7bce6 + checksum: 9723b63bd19000c096884f5a8900dc228afbe829d880d371865ae29387448cc669c10160bb55369210f3e903afb577ba832a39bc565427351bc27b42591c8099 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.15.14": - version: 5.15.14 - resolution: "@mui/styled-engine@npm:5.15.14" +"@mui/styled-engine@npm:^5.16.14": + version: 5.16.14 + resolution: "@mui/styled-engine@npm:5.16.14" dependencies: "@babel/runtime": "npm:^7.23.9" - "@emotion/cache": "npm:^11.11.0" + "@emotion/cache": "npm:^11.13.5" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" peerDependencies: "@emotion/react": ^11.4.1 "@emotion/styled": ^11.3.0 - react: ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/react": optional: true "@emotion/styled": optional: true - checksum: 0d262ea0b3c117f865af1cd52b992592c24432e491b35e712159bb49adfd776ee9a532abbc4ab08889f308e75d30082a0fee809119d5d61a82b3277212655319 + checksum: cd512faea4ad3ff5a9b315e136a518223ea3e4e34462fe70c56d1f166c46bee0a885ed982773d75c1d56ead62b95989cc5907601e8d65bfa75494b3f3288c2ad languageName: node linkType: hard -"@mui/system@npm:^5.15.20": - version: 5.15.20 - resolution: "@mui/system@npm:5.15.20" +"@mui/system@npm:^5.16.14": + version: 5.16.14 + resolution: "@mui/system@npm:5.16.14" dependencies: "@babel/runtime": "npm:^7.23.9" - "@mui/private-theming": "npm:^5.15.20" - "@mui/styled-engine": "npm:^5.15.14" - "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^5.15.20" + "@mui/private-theming": "npm:^5.16.14" + "@mui/styled-engine": "npm:^5.16.14" + "@mui/types": "npm:^7.2.15" + "@mui/utils": "npm:^5.16.14" clsx: "npm:^2.1.0" csstype: "npm:^3.1.3" prop-types: "npm:^15.8.1" peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/react": optional: true @@ -3007,37 +2934,39 @@ __metadata: optional: true "@types/react": optional: true - checksum: 7561d14d613e882cbe8959cbb779e6641542242e5a79974bad306c59c1505b5924cb2b866619b55d064aae1a1e8421dc3a613ad1a4cf330be7eebd1881170cff + checksum: d7ab8dfd9fbecbde4423a0d432e63f45cd8c96bb4e48116f9f9b46cb001c2e32df3a1f09727f8b30c1bc182774cc33e338b1475287a2985dba795ee5486fc4cb languageName: node linkType: hard -"@mui/types@npm:^7.2.14": - version: 7.2.14 - resolution: "@mui/types@npm:7.2.14" +"@mui/types@npm:^7.2.15": + version: 7.2.21 + resolution: "@mui/types@npm:7.2.21" peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: d4e0a9fce4bddfb5e0b7b6be1b15b591df33bb90ef0087e4bd5fe85f00f62776c7ed0e4698e7fb43213e1f04064aac1695b53ca52aaeaee7dbba248a792bdd1e + checksum: c0038ae402a3cfb2805a19167362fb5ac2ca1403f0ef3dad688d1e2276afe757b69d5fb1e3af4cd0e985b9221d287fd863c5b00f29fd07a276c7de9e3423a0f3 languageName: node linkType: hard -"@mui/utils@npm:^5.15.14, @mui/utils@npm:^5.15.20": - version: 5.15.20 - resolution: "@mui/utils@npm:5.15.20" +"@mui/utils@npm:^5.16.12, @mui/utils@npm:^5.16.14": + version: 5.16.14 + resolution: "@mui/utils@npm:5.16.14" dependencies: "@babel/runtime": "npm:^7.23.9" - "@types/prop-types": "npm:^15.7.11" + "@mui/types": "npm:^7.2.15" + "@types/prop-types": "npm:^15.7.12" + clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - react-is: "npm:^18.2.0" + react-is: "npm:^19.0.0" peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: d745895db047ef016681482f3d4710aa487f9e7bcd457ac2a395bdaf719a6a98f8bf5f1920d4729b0bc69f7ef2153624aa6a565ec0e31f76c33d7167397ac4d9 + checksum: 5148dedb8597a76df193df4c3b4ff4bb3c19d99f3b69df8b9d6c9905c5cc5eb750a71429aea7e52a03ad8b858c7ec48d04e5670ecf4e39b8c3a6a84f1a83721a languageName: node linkType: hard @@ -4761,6 +4690,20 @@ __metadata: languageName: node linkType: hard +"@types/d3-array@npm:^3.0.3": + version: 3.2.1 + resolution: "@types/d3-array@npm:3.2.1" + checksum: 38bf2c778451f4b79ec81a2288cb4312fe3d6449ecdf562970cc339b60f280f31c93a024c7ff512607795e79d3beb0cbda123bb07010167bce32927f71364bca + languageName: node + linkType: hard + +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae + languageName: node + linkType: hard + "@types/d3-color@npm:^2": version: 2.0.3 resolution: "@types/d3-color@npm:2.0.3" @@ -4768,6 +4711,13 @@ __metadata: languageName: node linkType: hard +"@types/d3-ease@npm:^3.0.0": + version: 3.0.2 + resolution: "@types/d3-ease@npm:3.0.2" + checksum: aff5a1e572a937ee9bff6465225d7ba27d5e0c976bd9eacdac2e6f10700a7cb0c9ea2597aff6b43a6ed850a3210030870238894a77ec73e309b4a9d0333f099c + languageName: node + linkType: hard + "@types/d3-interpolate@npm:^2.0.0": version: 2.0.2 resolution: "@types/d3-interpolate@npm:2.0.2" @@ -4777,6 +4727,22 @@ __metadata: languageName: node linkType: hard +"@types/d3-interpolate@npm:^3.0.1": + version: 3.0.4 + resolution: "@types/d3-interpolate@npm:3.0.4" + dependencies: + "@types/d3-color": "npm:*" + checksum: 066ebb8da570b518dd332df6b12ae3b1eaa0a7f4f0c702e3c57f812cf529cc3500ec2aac8dc094f31897790346c6b1ebd8cd7a077176727f4860c2b181a65ca4 + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.1.0 + resolution: "@types/d3-path@npm:3.1.0" + checksum: 85e8b3aa968a60a5b33198ade06ae7ffedcf9a22d86f24859ff58e014b053ccb7141ec163b78d547bc8215bb12bb54171c666057ab6156912814005b686afb31 + languageName: node + linkType: hard + "@types/d3-path@npm:^1": version: 1.0.9 resolution: "@types/d3-path@npm:1.0.9" @@ -4800,6 +4766,15 @@ __metadata: languageName: node linkType: hard +"@types/d3-scale@npm:^4.0.2": + version: 4.0.8 + resolution: "@types/d3-scale@npm:4.0.8" + dependencies: + "@types/d3-time": "npm:*" + checksum: 57de90e4016f640b83cb960b7e3a0ab3ed02e720898840ddc5105264ffcfea73336161442fdc91895377c2d2f91904d637282f16852b8535b77e15a761c8e99e + languageName: node + linkType: hard + "@types/d3-shape@npm:^1": version: 1.3.8 resolution: "@types/d3-shape@npm:1.3.8" @@ -4818,6 +4793,22 @@ __metadata: languageName: node linkType: hard +"@types/d3-shape@npm:^3.1.0": + version: 3.1.7 + resolution: "@types/d3-shape@npm:3.1.7" + dependencies: + "@types/d3-path": "npm:*" + checksum: 38e59771c1c4c83b67aa1f941ce350410522a149d2175832fdc06396b2bb3b2c1a2dd549e0f8230f9f24296ee5641a515eaf10f55ee1ef6c4f83749e2dd7dcfd + languageName: node + linkType: hard + +"@types/d3-time@npm:*, @types/d3-time@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/d3-time@npm:3.0.4" + checksum: 6d9e2255d63f7a313a543113920c612e957d70da4fb0890931da6c2459010291b8b1f95e149a538500c1c99e7e6c89ffcce5554dd29a31ff134a38ea94b6d174 + languageName: node + linkType: hard + "@types/d3-time@npm:^2": version: 2.1.1 resolution: "@types/d3-time@npm:2.1.1" @@ -4825,6 +4816,13 @@ __metadata: languageName: node linkType: hard +"@types/d3-timer@npm:^3.0.0": + version: 3.0.2 + resolution: "@types/d3-timer@npm:3.0.2" + checksum: c644dd9571fcc62b1aa12c03bcad40571553020feeb5811f1d8a937ac1e65b8a04b759b4873aef610e28b8714ac71c9885a4d6c127a048d95118f7e5b506d9e1 + languageName: node + linkType: hard + "@types/doctrine@npm:^0.0.9": version: 0.0.9 resolution: "@types/doctrine@npm:0.0.9" @@ -5064,10 +5062,10 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.11": - version: 15.7.11 - resolution: "@types/prop-types@npm:15.7.11" - checksum: e53423cf9d510515ef8b47ff42f4f1b65a7b7b37c8704e2dbfcb9a60defe0c0e1f3cb1acfdeb466bad44ca938d7c79bffdd51b48ffb659df2432169d0b27a132 +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.12": + version: 15.7.14 + resolution: "@types/prop-types@npm:15.7.14" + checksum: 1ec775160bfab90b67a782d735952158c7e702ca4502968aa82565bd8e452c2de8601c8dfe349733073c31179116cf7340710160d3836aa8a1ef76d1532893b1 languageName: node linkType: hard @@ -7193,7 +7191,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.1.0, clsx@npm:^2.1.1": +"clsx@npm:^2.0.0, clsx@npm:^2.1.0, clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" checksum: c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 @@ -7905,6 +7903,15 @@ __metadata: languageName: node linkType: hard +"d3-array@npm:2 - 3, d3-array@npm:2.10.0 - 3, d3-array@npm:^3.1.6": + version: 3.2.4 + resolution: "d3-array@npm:3.2.4" + dependencies: + internmap: "npm:1 - 2" + checksum: 08b95e91130f98c1375db0e0af718f4371ccacef7d5d257727fe74f79a24383e79aba280b9ffae655483ffbbad4fd1dec4ade0119d88c4749f388641c8bf8c50 + languageName: node + linkType: hard + "d3-array@npm:2, d3-array@npm:^2.3.0": version: 2.12.1 resolution: "d3-array@npm:2.12.1" @@ -7921,6 +7928,20 @@ __metadata: languageName: node linkType: hard +"d3-color@npm:1 - 3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: a4e20e1115fa696fce041fbe13fbc80dc4c19150fa72027a7c128ade980bc0eeeba4bcf28c9e21f0bce0e0dbfe7ca5869ef67746541dcfda053e4802ad19783c + languageName: node + linkType: hard + +"d3-ease@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-ease@npm:3.0.1" + checksum: fec8ef826c0cc35cda3092c6841e07672868b1839fcaf556e19266a3a37e6bc7977d8298c0fcb9885e7799bfdcef7db1baaba9cd4dcf4bc5e952cf78574a88b0 + languageName: node + linkType: hard + "d3-format@npm:1 - 2": version: 2.0.0 resolution: "d3-format@npm:2.0.0" @@ -7928,6 +7949,13 @@ __metadata: languageName: node linkType: hard +"d3-format@npm:1 - 3": + version: 3.1.0 + resolution: "d3-format@npm:3.1.0" + checksum: 049f5c0871ebce9859fc5e2f07f336b3c5bfff52a2540e0bac7e703fce567cd9346f4ad1079dd18d6f1e0eaa0599941c1810898926f10ac21a31fd0a34b4aa75 + languageName: node + linkType: hard + "d3-format@npm:^1.4.4": version: 1.4.5 resolution: "d3-format@npm:1.4.5" @@ -7944,6 +7972,15 @@ __metadata: languageName: node linkType: hard +"d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: "npm:1 - 3" + checksum: 19f4b4daa8d733906671afff7767c19488f51a43d251f8b7f484d5d3cfc36c663f0a66c38fe91eee30f40327443d799be17169f55a293a3ba949e84e57a33e6a + languageName: node + linkType: hard + "d3-path@npm:1": version: 1.0.9 resolution: "d3-path@npm:1.0.9" @@ -7958,6 +7995,13 @@ __metadata: languageName: node linkType: hard +"d3-path@npm:^3.1.0": + version: 3.1.0 + resolution: "d3-path@npm:3.1.0" + checksum: dc1d58ec87fa8319bd240cf7689995111a124b141428354e9637aa83059eb12e681f77187e0ada5dedfce346f7e3d1f903467ceb41b379bfd01cd8e31721f5da + languageName: node + linkType: hard + "d3-scale-chromatic@npm:^2.0.0": version: 2.0.0 resolution: "d3-scale-chromatic@npm:2.0.0" @@ -7981,6 +8025,19 @@ __metadata: languageName: node linkType: hard +"d3-scale@npm:^4.0.2": + version: 4.0.2 + resolution: "d3-scale@npm:4.0.2" + dependencies: + d3-array: "npm:2.10.0 - 3" + d3-format: "npm:1 - 3" + d3-interpolate: "npm:1.2.0 - 3" + d3-time: "npm:2.1.1 - 3" + d3-time-format: "npm:2 - 4" + checksum: 65d9ad8c2641aec30ed5673a7410feb187a224d6ca8d1a520d68a7d6eac9d04caedbff4713d1e8545be33eb7fec5739983a7ab1d22d4e5ad35368c6729d362f1 + languageName: node + linkType: hard + "d3-shape@npm:^1.3.5": version: 1.3.7 resolution: "d3-shape@npm:1.3.7" @@ -7999,6 +8056,15 @@ __metadata: languageName: node linkType: hard +"d3-shape@npm:^3.1.0": + version: 3.2.0 + resolution: "d3-shape@npm:3.2.0" + dependencies: + d3-path: "npm:^3.1.0" + checksum: f1c9d1f09926daaf6f6193ae3b4c4b5521e81da7d8902d24b38694517c7f527ce3c9a77a9d3a5722ad1e3ff355860b014557b450023d66a944eabf8cfde37132 + languageName: node + linkType: hard + "d3-time-format@npm:2 - 3, d3-time-format@npm:^3.0.0": version: 3.0.0 resolution: "d3-time-format@npm:3.0.0" @@ -8008,6 +8074,15 @@ __metadata: languageName: node linkType: hard +"d3-time-format@npm:2 - 4": + version: 4.1.0 + resolution: "d3-time-format@npm:4.1.0" + dependencies: + d3-time: "npm:1 - 3" + checksum: 735e00fb25a7fd5d418fac350018713ae394eefddb0d745fab12bbff0517f9cdb5f807c7bbe87bb6eeb06249662f8ea84fec075f7d0cd68609735b2ceb29d206 + languageName: node + linkType: hard + "d3-time@npm:1 - 2, d3-time@npm:^2.1.1": version: 2.1.1 resolution: "d3-time@npm:2.1.1" @@ -8017,6 +8092,15 @@ __metadata: languageName: node linkType: hard +"d3-time@npm:1 - 3, d3-time@npm:2.1.1 - 3, d3-time@npm:^3.0.0": + version: 3.1.0 + resolution: "d3-time@npm:3.1.0" + dependencies: + d3-array: "npm:2 - 3" + checksum: a984f77e1aaeaa182679b46fbf57eceb6ebdb5f67d7578d6f68ef933f8eeb63737c0949991618a8d29472dbf43736c7d7f17c452b2770f8c1271191cba724ca1 + languageName: node + linkType: hard + "d3-time@npm:^1.0.11": version: 1.1.0 resolution: "d3-time@npm:1.1.0" @@ -8024,6 +8108,13 @@ __metadata: languageName: node linkType: hard +"d3-timer@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-timer@npm:3.0.1" + checksum: d4c63cb4bb5461d7038aac561b097cd1c5673969b27cbdd0e87fa48d9300a538b9e6f39b4a7f0e3592ef4f963d858c8a9f0e92754db73116770856f2fc04561a + languageName: node + linkType: hard + "damerau-levenshtein@npm:^1.0.7": version: 1.0.8 resolution: "damerau-levenshtein@npm:1.0.8" @@ -8246,9 +8337,9 @@ __metadata: version: 0.0.0-use.local resolution: "demo@workspace:examples/demo" dependencies: - "@apollo/client": "npm:^3.3.19" - "@mui/icons-material": "npm:^5.15.20" - "@mui/material": "npm:^5.15.20" + "@apollo/client": "npm:^3.12.4" + "@mui/icons-material": "npm:^5.16.12" + "@mui/material": "npm:^5.16.12" "@types/fetch-mock": "npm:^7.3.2" "@types/jest": "npm:^29.5.2" "@types/node": "npm:^20.10.7" @@ -8273,12 +8364,12 @@ __metadata: ra-input-rich-text: "npm:^5.0.0" ra-language-english: "npm:^5.0.0" ra-language-french: "npm:^5.0.0" - react: "npm:^18.3.1" + react: "npm:^19.0.0" react-admin: "npm:^5.0.0" - react-dom: "npm:^18.3.1" + react-dom: "npm:^19.0.0" react-router: "npm:^6.22.0" react-router-dom: "npm:^6.22.0" - recharts: "npm:^2.1.15" + recharts: "npm:^2.15.0" rewire: "npm:^5.0.0" rollup-plugin-visualizer: "npm:^5.12.0" rollup-preserve-directives: "npm:^1.1.1" @@ -9773,6 +9864,13 @@ __metadata: languageName: node linkType: hard +"fast-equals@npm:^5.0.1": + version: 5.2.2 + resolution: "fast-equals@npm:5.2.2" + checksum: 2bfeac6317a8959a00e2134749323557e5df6dea3af24e4457297733eace8ce4313fcbca2cf4532f3a6792607461e80442cd8d3af148d5c2e4e98ad996d6e5b5 + languageName: node + linkType: hard + "fast-glob@npm:^3.2.9": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" @@ -11472,6 +11570,13 @@ __metadata: languageName: node linkType: hard +"internmap@npm:1 - 2": + version: 2.0.3 + resolution: "internmap@npm:2.0.3" + checksum: 8cedd57f07bbc22501516fbfc70447f0c6812871d471096fad9ea603516eacc2137b633633daf432c029712df0baefd793686388ddf5737e3ea15074b877f7ed + languageName: node + linkType: hard + "internmap@npm:^1.0.0": version: 1.0.1 resolution: "internmap@npm:1.0.1" @@ -13138,12 +13243,12 @@ __metadata: languageName: node linkType: hard -"little-state-machine@npm:^4.1.0": - version: 4.2.0 - resolution: "little-state-machine@npm:4.2.0" +"little-state-machine@npm:^4.1.0, little-state-machine@npm:^4.8.1": + version: 4.8.1 + resolution: "little-state-machine@npm:4.8.1" peerDependencies: - react: ^16.8.0 || ^17 - checksum: 57fc0997a377349afddca3dc4907ab5de44dae1f6f26479b0bae6a4e9421de1f0eff88c0546bcd087a44ca98d842f8e6aaa7d5e3476035a1116b5001042712fc + react: ^16.8.0 || ^17 || ^18 || ^19 + checksum: 9adc649155a058c8bb345cce7564e6339ddd2666a65ff53e2f6e5ac2ad28d8b21f850ed87980635cf7fdb4fd586142b813e9edcccf80d0fabba8ec5cbe4680bb languageName: node linkType: hard @@ -14045,7 +14150,7 @@ __metadata: version: 0.0.0-use.local resolution: "no-code@workspace:examples/no-code" dependencies: - "@mui/material": "npm:^5.15.20" + "@mui/material": "npm:^5.16.12" "@vitejs/plugin-react": "npm:^4.2.1" ra-data-local-storage: "npm:^5.0.0" ra-no-code: "npm:^5.0.0" @@ -15853,10 +15958,9 @@ __metadata: react-dom: "npm:^18.3.1" react-error-boundary: "npm:^4.0.13" react-hook-form: "npm:^7.53.0" - react-is: "npm:^18.2.0" + react-is: "npm:^18.2.0 || ^19.0.0" react-router: "npm:^6.25.1" react-router-dom: "npm:^6.25.1" - react-test-renderer: "npm:^18.2.0" recharts: "npm:^2.1.15" rimraf: "npm:^3.0.2" typescript: "npm:^5.1.3" @@ -16008,8 +16112,8 @@ __metadata: version: 0.0.0-use.local resolution: "ra-input-rich-text@workspace:packages/ra-input-rich-text" dependencies: - "@mui/icons-material": "npm:^5.15.20" - "@mui/material": "npm:^5.15.20" + "@mui/icons-material": "npm:^5.16.12" + "@mui/material": "npm:^5.16.12" "@testing-library/react": "npm:^15.0.7" "@tiptap/core": "npm:^2.0.3" "@tiptap/extension-color": "npm:^2.0.3" @@ -16037,8 +16141,8 @@ __metadata: tippy.js: "npm:^6.3.7" typescript: "npm:^5.1.3" peerDependencies: - "@mui/icons-material": ^5.15.20 - "@mui/material": ^5.15.20 + "@mui/icons-material": ^5.16.12 + "@mui/material": ^5.16.12 ra-core: ^5.0.0 ra-ui-materialui: ^5.0.0 react: ^18.0.0 || ^19.0.0 @@ -16089,8 +16193,8 @@ __metadata: rimraf: "npm:^3.0.2" typescript: "npm:^5.1.3" peerDependencies: - "@mui/icons-material": ^5.15.20 - "@mui/material": ^5.15.20 + "@mui/icons-material": ^5.16.12 + "@mui/material": ^5.16.12 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 languageName: unknown @@ -16100,9 +16204,9 @@ __metadata: version: 0.0.0-use.local resolution: "ra-ui-materialui@workspace:packages/ra-ui-materialui" dependencies: - "@mui/icons-material": "npm:^5.15.20" - "@mui/material": "npm:^5.15.20" - "@mui/utils": "npm:^5.15.20" + "@mui/icons-material": "npm:^5.16.12" + "@mui/material": "npm:^5.16.12" + "@mui/utils": "npm:^5.16.12" "@tanstack/react-query": "npm:^5.21.7" "@testing-library/react": "npm:^15.0.7" "@types/dompurify": "npm:^3.0.2" @@ -16130,22 +16234,21 @@ __metadata: react-dropzone: "npm:^14.2.3" react-error-boundary: "npm:^4.0.13" react-hook-form: "npm:^7.53.0" - react-is: "npm:^18.2.0" + react-is: "npm:^18.2.0 || ^19.0.0" react-router: "npm:^6.25.1" react-router-dom: "npm:^6.25.1" - react-test-renderer: "npm:^18.2.0" react-transition-group: "npm:^4.4.5" rimraf: "npm:^3.0.2" typescript: "npm:^5.1.3" peerDependencies: - "@mui/icons-material": ^5.15.20 - "@mui/material": ^5.15.20 - "@mui/utils": ^5.15.20 + "@mui/icons-material": ^5.16.12 + "@mui/material": ^5.16.12 + "@mui/utils": ^5.16.12 ra-core: ^5.0.0 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 react-hook-form: "*" - react-is: ^18.0.0 + react-is: ^18.0.0 || ^19.0.0 react-router: ^6.22.0 react-router-dom: ^6.22.0 languageName: unknown @@ -16200,8 +16303,8 @@ __metadata: resolution: "react-admin-crm@workspace:examples/crm" dependencies: "@hello-pangea/dnd": "npm:^16.3.0" - "@mui/icons-material": "npm:^5.15.20" - "@mui/material": "npm:^5.15.20" + "@mui/icons-material": "npm:^5.16.12" + "@mui/material": "npm:^5.16.12" "@nivo/bar": "npm:^0.80.0" "@nivo/core": "npm:^0.80.0" "@testing-library/jest-dom": "npm:^6.4.5" @@ -16288,10 +16391,8 @@ __metadata: version: 0.0.0-use.local resolution: "react-admin@workspace:packages/react-admin" dependencies: - "@emotion/react": "npm:^11.4.1" - "@emotion/styled": "npm:^11.3.0" - "@mui/icons-material": "npm:^5.15.20" - "@mui/material": "npm:^5.15.20" + "@mui/icons-material": "npm:^5.16.12" + "@mui/material": "npm:^5.16.12" cross-env: "npm:^5.2.0" expect: "npm:^27.4.6" ra-core: "npm:^5.4.3" @@ -16359,6 +16460,17 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:^19.0.0": + version: 19.0.0 + resolution: "react-dom@npm:19.0.0" + dependencies: + scheduler: "npm:^0.25.0" + peerDependencies: + react: ^19.0.0 + checksum: a36ce7ab507b237ae2759c984cdaad4af4096d8199fb65b3815c16825e5cfeb7293da790a3fc2184b52bfba7ba3ff31c058c01947aff6fd1a3701632aabaa6a9 + languageName: node + linkType: hard + "react-dropzone@npm:^14.2.3": version: 14.2.3 resolution: "react-dropzone@npm:14.2.3" @@ -16417,17 +16529,31 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.2.0": +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": version: 18.2.0 resolution: "react-is@npm:18.2.0" checksum: 6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 languageName: node linkType: hard -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 +"react-is@npm:^18.2.0 || ^19.0.0, react-is@npm:^19.0.0": + version: 19.0.0 + resolution: "react-is@npm:19.0.0" + checksum: d1be8e8500cf04f76df71942a21ef3a71266397a383d7ec8885f35190df818d35c65efd35aed7be47a89ad99aaff2c52e0c4e39e8930844a6b997622e50625a8 + languageName: node + linkType: hard + +"react-is@npm:^18.3.1": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 languageName: node linkType: hard @@ -16525,25 +16651,12 @@ __metadata: languageName: node linkType: hard -"react-shallow-renderer@npm:^16.15.0": - version: 16.15.0 - resolution: "react-shallow-renderer@npm:16.15.0" - dependencies: - object-assign: "npm:^4.1.1" - react-is: "npm:^16.12.0 || ^17.0.0 || ^18.0.0" - peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: c194d741792e86043a4ae272f7353c1cb9412bc649945c4220c6a101a6ea5410cceb3d65d5a4d750f11a24f7426e8eec7977e8a4e3ad5d3ee235ca2b18166fa8 - languageName: node - linkType: hard - -"react-simple-animate@npm:^3.3.12": - version: 3.3.12 - resolution: "react-simple-animate@npm:3.3.12" +"react-simple-animate@npm:^3.3.12, react-simple-animate@npm:^3.5.3": + version: 3.5.3 + resolution: "react-simple-animate@npm:3.5.3" peerDependencies: - react: ^16.8.0 || ^17 - react-dom: ^16.8.0 || ^17 - checksum: 39b10294514abfdda3ec55c7f99a64932023f1525884deef4a5eb49fc5599f42214d65a64c30a7f6346ceb52384216cdcc87bb737282b1a2810c8cb7f9095816 + react-dom: ^16.8.0 || ^17 || ^18 || ^19 + checksum: 97b12651899effaf9096a40fb107caec83ae3bbad0469c612aed07b375a915097970d9ecc93f7aa97ee9580b635f2d3ccde1f7229e4a6fdb76763777750f10e7 languageName: node linkType: hard @@ -16561,16 +16674,17 @@ __metadata: languageName: node linkType: hard -"react-test-renderer@npm:^18.2.0": - version: 18.2.0 - resolution: "react-test-renderer@npm:18.2.0" +"react-smooth@npm:^4.0.0": + version: 4.0.4 + resolution: "react-smooth@npm:4.0.4" dependencies: - react-is: "npm:^18.2.0" - react-shallow-renderer: "npm:^16.15.0" - scheduler: "npm:^0.23.0" + fast-equals: "npm:^5.0.1" + prop-types: "npm:^15.8.1" + react-transition-group: "npm:^4.4.5" peerDependencies: - react: ^18.2.0 - checksum: 53dfada1da1e8dd0498a5601e9eea3dc6ca23c6c2694d1cab9712faea869c11e4ce1c9a618d674cb668a668b41fb6bcf9a7b0a078cd853b1922f002fa22f42c8 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: d94cb27f808721ec040d320ca1927919199495fd212e54eb9dc8ee3f73ff1d808a34be9f4b09fe49b01f411ac2387fdf0e4bee297f18faf56f94bfbef5fd204c languageName: node linkType: hard @@ -16613,6 +16727,13 @@ __metadata: languageName: node linkType: hard +"react@npm:^19.0.0": + version: 19.0.0 + resolution: "react@npm:19.0.0" + checksum: 9cad8f103e8e3a16d15cb18a0d8115d8bd9f9e1ce3420310aea381eb42aa0a4f812cf047bb5441349257a05fba8a291515691e3cb51267279b2d2c3253f38471 + languageName: node + linkType: hard + "read-cmd-shim@npm:4.0.0": version: 4.0.0 resolution: "read-cmd-shim@npm:4.0.0" @@ -16790,6 +16911,25 @@ __metadata: languageName: node linkType: hard +"recharts@npm:^2.15.0": + version: 2.15.0 + resolution: "recharts@npm:2.15.0" + dependencies: + clsx: "npm:^2.0.0" + eventemitter3: "npm:^4.0.1" + lodash: "npm:^4.17.21" + react-is: "npm:^18.3.1" + react-smooth: "npm:^4.0.0" + recharts-scale: "npm:^0.4.4" + tiny-invariant: "npm:^1.3.1" + victory-vendor: "npm:^36.6.8" + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 9dca8003c22c1d91b895add65e85d58bc1e79a5abc739bf0b61e275384f70b6922ad7247c0c39e0f5650174d2d9b1a006dc9c23d33732b7f4016c7df076826d3 + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -16908,9 +17048,9 @@ __metadata: languageName: node linkType: hard -"rehackt@npm:0.0.6": - version: 0.0.6 - resolution: "rehackt@npm:0.0.6" +"rehackt@npm:^0.1.0": + version: 0.1.0 + resolution: "rehackt@npm:0.1.0" peerDependencies: "@types/react": "*" react: "*" @@ -16919,7 +17059,7 @@ __metadata: optional: true react: optional: true - checksum: 814c9b80b2680dc0572639ecad1ed1961b23b606e53a00976ee4c4876f6ed736ea702381235ac40ed2a5c826fb55641b46ae23343e4ddd6378ced1da3d51ada7 + checksum: 3d838bfee84ec06c976f21027936f3b0fdb7660ab8a2d4d3f19c65e0daa78a268aa81352311352b8576b89a074714b36ae6cd5bdadb6e975eca079f2b342de73 languageName: node linkType: hard @@ -17338,12 +17478,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0, scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 +"scheduler@npm:^0.23.0, scheduler@npm:^0.23.2, scheduler@npm:^0.25.0": + version: 0.25.0 + resolution: "scheduler@npm:0.25.0" + checksum: a4bb1da406b613ce72c1299db43759526058fdcc413999c3c3e0db8956df7633acf395cb20eb2303b6a65d658d66b6585d344460abaee8080b4aa931f10eaafe languageName: node linkType: hard @@ -17592,15 +17730,14 @@ __metadata: version: 0.0.0-use.local resolution: "simple@workspace:examples/simple" dependencies: - "@emotion/react": "npm:^11.7.1" - "@emotion/styled": "npm:^11.6.0" - "@hookform/devtools": "npm:^4.0.2" - "@mui/icons-material": "npm:^5.15.20" - "@mui/material": "npm:^5.15.20" + "@hookform/devtools": "npm:^4.3.3" + "@mui/icons-material": "npm:^5.16.12" + "@mui/material": "npm:^5.16.12" "@tanstack/react-query": "npm:^5.21.7" "@tanstack/react-query-devtools": "npm:^5.21.7" "@vitejs/plugin-react": "npm:^4.2.1" jsonexport: "npm:^3.2.0" + little-state-machine: "npm:^4.8.1" lodash: "npm:~4.17.5" ra-data-fakerest: "npm:^5.4.3" ra-i18n-polyglot: "npm:^5.4.3" @@ -17613,6 +17750,7 @@ __metadata: react-hook-form: "npm:^7.53.0" react-router: "npm:^6.22.0" react-router-dom: "npm:^6.22.0" + react-simple-animate: "npm:^3.5.3" typescript: "npm:^5.1.3" vite: "npm:^5.0.11" languageName: unknown @@ -18706,9 +18844,9 @@ __metadata: "@types/react-dom": "npm:^18.3.0" "@vitejs/plugin-react": "npm:^4.2.1" ra-data-json-server: "npm:^5.0.0" - react: "npm:^18.3.1" + react: "npm:^19.0.0" react-admin: "npm:^5.0.0" - react-dom: "npm:^18.3.1" + react-dom: "npm:^19.0.0" typescript: "npm:^5.1.3" vite: "npm:^5.0.11" languageName: unknown @@ -19040,6 +19178,18 @@ __metadata: languageName: node linkType: hard +"use-deep-compare-effect@npm:^1.8.1": + version: 1.8.1 + resolution: "use-deep-compare-effect@npm:1.8.1" + dependencies: + "@babel/runtime": "npm:^7.12.5" + dequal: "npm:^2.0.2" + peerDependencies: + react: ">=16.13" + checksum: f21f4239d774182e5389172321f00db487b415a97f5835abbe99d228eec45e3fd97803a52a25db6216ae6e1e1203b3f523336d94695dc683c661bad36a318891 + languageName: node + linkType: hard + "use-memo-one@npm:^1.1.3": version: 1.1.3 resolution: "use-memo-one@npm:1.1.3" @@ -19181,6 +19331,28 @@ __metadata: languageName: node linkType: hard +"victory-vendor@npm:^36.6.8": + version: 36.9.2 + resolution: "victory-vendor@npm:36.9.2" + dependencies: + "@types/d3-array": "npm:^3.0.3" + "@types/d3-ease": "npm:^3.0.0" + "@types/d3-interpolate": "npm:^3.0.1" + "@types/d3-scale": "npm:^4.0.2" + "@types/d3-shape": "npm:^3.1.0" + "@types/d3-time": "npm:^3.0.0" + "@types/d3-timer": "npm:^3.0.0" + d3-array: "npm:^3.1.6" + d3-ease: "npm:^3.0.1" + d3-interpolate: "npm:^3.0.1" + d3-scale: "npm:^4.0.2" + d3-shape: "npm:^3.1.0" + d3-time: "npm:^3.0.0" + d3-timer: "npm:^3.0.1" + checksum: bad36de3bf4d406834743c2e99a8281d786af324d7e84b7f7a2fc02c27a3779034fb0c3c4707d4c8e68683334d924a67100cfa13985235565e83b9877f8e2ffd + languageName: node + linkType: hard + "vite@npm:^5.0.11": version: 5.4.6 resolution: "vite@npm:5.4.6"