diff --git a/package-lock.json b/package-lock.json index 24852d6..215dbb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", - "@gridsuite/commons-ui": "0.139.0", + "@gridsuite/commons-ui": "0.142.0", "@hookform/resolvers": "^4.1.3", "@mui/icons-material": "^5.18.0", "@mui/lab": "5.0.0-alpha.175", @@ -25,8 +25,8 @@ "date-fns": "^4.1.0", "notistack": "^3.0.2", "oidc-client": "^1.11.5", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.2.0", + "react-dom": "^19.2.0", "react-hook-form": "^7.62.0", "react-hook-form-mui": "^7.6.2", "react-intl": "^7.1.11", @@ -52,8 +52,8 @@ "@types/license-checker": "^25.0.6", "@types/node": "^22.18.1", "@types/prop-types": "^15.7.15", - "@types/react": "^18.3.24", - "@types/react-dom": "^18.3.7", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.1", "@types/react-redux": "^7.1.34", "@types/react-window": "^1.8.8", "@vitejs/plugin-react": "^5.0.4", @@ -3078,9 +3078,9 @@ } }, "node_modules/@gridsuite/commons-ui": { - "version": "0.139.0", - "resolved": "https://registry.npmjs.org/@gridsuite/commons-ui/-/commons-ui-0.139.0.tgz", - "integrity": "sha512-ZYMuOdLQJmsHw96Xme+kgrOuyGnR9fPaiWxbKe0wriyJ6lzz83r9gF6H5NMOAPYFiPRWtfi7HizXos9wQdHLXA==", + "version": "0.142.0", + "resolved": "https://registry.npmjs.org/@gridsuite/commons-ui/-/commons-ui-0.142.0.tgz", + "integrity": "sha512-ECTJHwg3ybmNuJ7BIj5XIFvthLl45ICJtBxSBylZIEIh0hAg7XgYs5iMmNDcN6KG57USytugTpVnBx+nTtKhCg==", "license": "MPL-2.0", "dependencies": { "@ag-grid-community/locale": "^33.3.2", @@ -3099,6 +3099,7 @@ "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-querybuilder": "^8.11.0", + "react-resizable-panels": "^3.0.6", "reconnecting-websocket": "^4.4.0", "type-fest": "^4.41.0", "uuid": "^13.0.0" @@ -3118,8 +3119,8 @@ "ag-grid-community": "^33.0.3", "ag-grid-react": "^33.0.4", "notistack": "^3.0.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.2.0", + "react-dom": "^19.2.0", "react-hook-form": "^7.54.2", "react-intl": "^7.1.6", "react-papaparse": "^4.4.0", @@ -5331,23 +5332,22 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.26", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz", - "integrity": "sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", "license": "MIT", "dependencies": { - "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", + "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^18.0.0" + "@types/react": "^19.2.0" } }, "node_modules/@types/react-redux": { @@ -11979,13 +11979,10 @@ } }, "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } @@ -12045,16 +12042,15 @@ } }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^18.3.1" + "react": "^19.2.0" } }, "node_modules/react-hook-form": { @@ -12244,6 +12240,16 @@ "node": ">=0.10.0" } }, + "node_modules/react-resizable-panels": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-3.0.6.tgz", + "integrity": "sha512-b3qKHQ3MLqOgSS+FRYKapNkJZf5EQzuf6+RLiq1/IlTHw99YrZ2NJZLk4hQIzTnnIkRg2LUqyVinu6YWWpUYew==", + "license": "MIT", + "peerDependencies": { + "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, "node_modules/react-router": { "version": "7.9.3", "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.3.tgz", @@ -12761,13 +12767,10 @@ } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" }, "node_modules/semver": { "version": "6.3.1", diff --git a/package.json b/package.json index 595a53f..4682130 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", - "@gridsuite/commons-ui": "0.139.0", + "@gridsuite/commons-ui": "0.142.0", "@hookform/resolvers": "^4.1.3", "@mui/icons-material": "^5.18.0", "@mui/lab": "5.0.0-alpha.175", @@ -30,8 +30,8 @@ "date-fns": "^4.1.0", "notistack": "^3.0.2", "oidc-client": "^1.11.5", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.2.0", + "react-dom": "^19.2.0", "react-hook-form": "^7.62.0", "react-hook-form-mui": "^7.6.2", "react-intl": "^7.1.11", @@ -71,8 +71,8 @@ "@types/license-checker": "^25.0.6", "@types/node": "^22.18.1", "@types/prop-types": "^15.7.15", - "@types/react": "^18.3.24", - "@types/react-dom": "^18.3.7", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.1", "@types/react-redux": "^7.1.34", "@types/react-window": "^1.8.8", "@vitejs/plugin-react": "^5.0.4", diff --git a/src/pages/common/paper-form.tsx b/src/pages/common/paper-form.tsx index a7cc8c0..5a90ebd 100644 --- a/src/pages/common/paper-form.tsx +++ b/src/pages/common/paper-form.tsx @@ -12,7 +12,10 @@ import { Paper, PaperProps } from '@mui/material'; * is defined in without generics, which default to `PaperProps => PaperProps<'div'>`, * so we must trick typescript check with a cast */ -const PaperForm: FunctionComponent & { untypedProps?: PaperProps }> = (props, context) => { +const PaperForm: FunctionComponent & { untypedProps: PaperProps }> = (props: { + [x: string]: any; + untypedProps: PaperProps; +}) => { const { untypedProps, ...formProps } = props; const othersProps = untypedProps as PaperProps<'form'>; //trust me ts return ; diff --git a/src/pages/common/use-csv-export.tsx b/src/pages/common/use-csv-export.tsx index 1585f60..d623c9a 100644 --- a/src/pages/common/use-csv-export.tsx +++ b/src/pages/common/use-csv-export.tsx @@ -18,7 +18,7 @@ export function useCsvExport({ intl, language, }: { - gridRef: RefObject>; + gridRef: RefObject | null>; columns: ColDef[]; tableNameId: string; intl: IntlShape; @@ -32,7 +32,7 @@ export function useCsvExport({ disabled={false} skipColumnHeaders={false} language={language} - exportDataAsCsv={(params) => gridRef?.current?.aggrid?.api?.exportDataAsCsv(params)} + getData={(params) => gridRef?.current?.aggrid?.api?.exportDataAsCsv(params)} /> ), [gridRef, columns, intl, language, tableNameId] diff --git a/src/pages/groups/add-group-dialog.tsx b/src/pages/groups/add-group-dialog.tsx index 559c8fa..5018b48 100644 --- a/src/pages/groups/add-group-dialog.tsx +++ b/src/pages/groups/add-group-dialog.tsx @@ -25,7 +25,7 @@ import { GridTableRef } from '../../components/Grid'; import PaperForm from '../common/paper-form'; export interface AddGroupDialogProps { - gridRef: RefObject>; + gridRef: RefObject | null>; open: boolean; setOpen: (open: boolean) => void; } diff --git a/src/pages/groups/groups-table.tsx b/src/pages/groups/groups-table.tsx index 6d8d718..b7a2c4a 100644 --- a/src/pages/groups/groups-table.tsx +++ b/src/pages/groups/groups-table.tsx @@ -21,7 +21,7 @@ import { useSelector } from 'react-redux'; import { AppState } from '../../redux/reducer'; export interface GroupsTableProps { - gridRef: RefObject>; + gridRef: RefObject | null>; onRowClicked: (event: RowClickedEvent) => void; setOpenAddGroupDialog: (open: boolean) => void; } diff --git a/src/pages/profiles/add-profile-dialog.tsx b/src/pages/profiles/add-profile-dialog.tsx index 2838597..b504f4f 100644 --- a/src/pages/profiles/add-profile-dialog.tsx +++ b/src/pages/profiles/add-profile-dialog.tsx @@ -25,7 +25,7 @@ import { GridTableRef } from '../../components/Grid'; import PaperForm from '../common/paper-form'; export interface AddProfileDialogProps { - gridRef: RefObject>; + gridRef: RefObject | null>; open: boolean; setOpen: (open: boolean) => void; } diff --git a/src/pages/profiles/profiles-table.tsx b/src/pages/profiles/profiles-table.tsx index ad1b69c..76df831 100644 --- a/src/pages/profiles/profiles-table.tsx +++ b/src/pages/profiles/profiles-table.tsx @@ -18,7 +18,7 @@ import ValidityCellRenderer from './validity-cell-renderer'; import { useTableSelection } from '../../utils/hooks'; export interface ProfilesTableProps { - gridRef: RefObject>; + gridRef: RefObject | null>; onRowClicked: (event: RowClickedEvent) => void; setOpenAddProfileDialog: (open: boolean) => void; } diff --git a/src/pages/users/add-user-dialog.tsx b/src/pages/users/add-user-dialog.tsx index 08e8bf1..96ff9bd 100644 --- a/src/pages/users/add-user-dialog.tsx +++ b/src/pages/users/add-user-dialog.tsx @@ -25,7 +25,7 @@ import { GridTableRef } from '../../components/Grid'; import PaperForm from '../common/paper-form'; export interface AddUserDialogProps { - gridRef: RefObject>; + gridRef: RefObject | null>; open: boolean; setOpen: (open: boolean) => void; } diff --git a/src/pages/users/users-table.tsx b/src/pages/users/users-table.tsx index f629d1c..5cf3ffa 100644 --- a/src/pages/users/users-table.tsx +++ b/src/pages/users/users-table.tsx @@ -21,7 +21,7 @@ import { AppState } from '../../redux/reducer'; import { useCsvExport } from '../common/use-csv-export'; export interface UsersTableProps { - gridRef: RefObject>; + gridRef: RefObject | null>; onRowClicked: (event: RowClickedEvent) => void; setOpenAddUserDialog: (open: boolean) => void; }