diff --git a/common/changes/@itwin/delete-imodel-react/vp-Update-delete-imodel-package_2025-04-24-06-45.json b/common/changes/@itwin/delete-imodel-react/vp-Update-delete-imodel-package_2025-04-24-06-45.json
new file mode 100644
index 00000000..16a481b1
--- /dev/null
+++ b/common/changes/@itwin/delete-imodel-react/vp-Update-delete-imodel-package_2025-04-24-06-45.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@itwin/delete-imodel-react",
+ "comment": "Updated imodel-delete to itwin-react V3",
+ "type": "minor"
+ }
+ ],
+ "packageName": "@itwin/delete-imodel-react"
+}
\ No newline at end of file
diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml
index 0d2958c8..976c78ac 100644
--- a/common/config/rush/pnpm-lock.yaml
+++ b/common/config/rush/pnpm-lock.yaml
@@ -176,7 +176,7 @@ importers:
../../packages/modules/delete-imodel:
specifiers:
'@itwin/itwinui-icons-react': ^2.2.0
- '@itwin/itwinui-react': ^2.12.18
+ '@itwin/itwinui-react': ^3.18.0
'@rollup/plugin-commonjs': ~17.1.0
'@rollup/plugin-image': ^2.0.6
'@testing-library/react': ^11.1.0
@@ -213,7 +213,7 @@ importers:
typescript: ^4.2.3
dependencies:
'@itwin/itwinui-icons-react': 2.10.0_nnrd3gsncyragczmpvfhocinkq
- '@itwin/itwinui-react': 2.12.26_nnrd3gsncyragczmpvfhocinkq
+ '@itwin/itwinui-react': 3.18.0_nnrd3gsncyragczmpvfhocinkq
devDependencies:
'@rollup/plugin-commonjs': 17.1.0_rollup@2.79.2
'@rollup/plugin-image': 2.1.1_rollup@2.79.2
@@ -2682,14 +2682,12 @@ packages:
resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
dependencies:
'@floating-ui/utils': 0.2.9
- dev: true
/@floating-ui/dom/1.6.13:
resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
dependencies:
'@floating-ui/core': 1.6.9
'@floating-ui/utils': 0.2.9
- dev: true
/@floating-ui/react-dom/2.1.2_nnrd3gsncyragczmpvfhocinkq:
resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
@@ -2700,7 +2698,6 @@ packages:
'@floating-ui/dom': 1.6.13
react: 18.3.1
react-dom: 18.3.1_react@18.3.1
- dev: true
/@floating-ui/react/0.27.6_nnrd3gsncyragczmpvfhocinkq:
resolution: {integrity: sha512-9GLOPbW8jTeboR2ar9uMMUDUZjpTLscUvOjNvRw2EgppgoLHLUh/P/OW9evULosnvDjhYf2Gwk/gMOP9KvXD2A==}
@@ -2713,11 +2710,9 @@ packages:
react: 18.3.1
react-dom: 18.3.1_react@18.3.1
tabbable: 6.2.0
- dev: true
/@floating-ui/utils/0.2.9:
resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
- dev: true
/@gar/promisify/1.1.3:
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
@@ -2845,6 +2840,22 @@ packages:
- '@types/react'
dev: true
+ /@itwin/itwinui-react/3.18.0_nnrd3gsncyragczmpvfhocinkq:
+ resolution: {integrity: sha512-zmri5oB406Qc6M2YAPtvoNcqDZ+r+ZuE2pczlIgYxTCvBB7rDCh91ng0wroyZYLgQLuYnarcnjLLSRaicy1Rrw==}
+ peerDependencies:
+ react: '>=17.0.0'
+ react-dom: '>=17.0.0'
+ dependencies:
+ '@floating-ui/react': 0.27.6_nnrd3gsncyragczmpvfhocinkq
+ '@itwin/itwinui-illustrations-react': 2.1.0_nnrd3gsncyragczmpvfhocinkq
+ '@swc/helpers': 0.5.15
+ '@tanstack/react-virtual': 3.13.6_nnrd3gsncyragczmpvfhocinkq
+ classnames: 2.5.1
+ react: 18.3.1
+ react-dom: 18.3.1_react@18.3.1
+ react-table: 7.8.0_react@18.3.1
+ dev: false
+
/@jest/console/27.5.1:
resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -5271,7 +5282,6 @@ packages:
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
dependencies:
tslib: 2.8.1
- dev: true
/@tanstack/react-virtual/3.13.6_nnrd3gsncyragczmpvfhocinkq:
resolution: {integrity: sha512-WT7nWs8ximoQ0CDx/ngoFP7HbQF9Q2wQe4nh2NB+u2486eX3nZRE40P9g6ccCVq7ZfTSH5gFOuCoVH5DLNS/aA==}
@@ -5282,11 +5292,9 @@ packages:
'@tanstack/virtual-core': 3.13.6
react: 18.3.1
react-dom: 18.3.1_react@18.3.1
- dev: true
/@tanstack/virtual-core/3.13.6:
resolution: {integrity: sha512-cnQUeWnhNP8tJ4WsGcYiX24Gjkc9ALstLbHcBj1t3E7EimN6n6kHH+DPV4PpDnuw00NApQp+ViojMj1GRdwYQg==}
- dev: true
/@testing-library/dom/7.31.2:
resolution: {integrity: sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==}
@@ -7437,6 +7445,7 @@ packages:
/bindings/1.5.0:
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+ requiresBuild: true
dependencies:
file-uri-to-path: 1.0.0
dev: true
@@ -10741,6 +10750,7 @@ packages:
/file-uri-to-path/1.0.0:
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
+ requiresBuild: true
dev: true
optional: true
@@ -14599,6 +14609,7 @@ packages:
/nan/2.22.2:
resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==}
+ requiresBuild: true
dev: true
optional: true
@@ -19064,7 +19075,6 @@ packages:
/tabbable/6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
- dev: true
/table/6.9.0:
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
@@ -19540,7 +19550,6 @@ packages:
/tslib/2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- dev: true
/tsutils/3.21.0:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
diff --git a/packages/modules/delete-imodel/package.json b/packages/modules/delete-imodel/package.json
index 583fd2aa..eb77f1b3 100644
--- a/packages/modules/delete-imodel/package.json
+++ b/packages/modules/delete-imodel/package.json
@@ -32,7 +32,7 @@
},
"dependencies": {
"@itwin/itwinui-icons-react": "^2.2.0",
- "@itwin/itwinui-react": "^2.12.18"
+ "@itwin/itwinui-react": "^3.18.0"
},
"devDependencies": {
"@rollup/plugin-commonjs": "~17.1.0",
@@ -74,4 +74,4 @@
"react": "^17.0.2 || ^18.3.1",
"react-dom": "^17.0.2 || ^18.3.1"
}
-}
+}
\ No newline at end of file
diff --git a/packages/modules/delete-imodel/src/components/DeleteIModel.test.tsx b/packages/modules/delete-imodel/src/components/DeleteIModel.test.tsx
index 85ea4774..cfd2166a 100644
--- a/packages/modules/delete-imodel/src/components/DeleteIModel.test.tsx
+++ b/packages/modules/delete-imodel/src/components/DeleteIModel.test.tsx
@@ -7,6 +7,16 @@ import React from "react";
import { DeleteIModel } from "./DeleteIModel";
+jest.mock("@itwin/itwinui-react", () => ({
+ ...jest.requireActual("@itwin/itwinui-react"),
+ useToaster: () => ({
+ positive: jest.fn(),
+ informational: jest.fn(),
+ negative: jest.fn(),
+ warning: jest.fn(),
+ }),
+}));
+
describe("DeleteIModel", () => {
const fetchMock = jest.fn(() => Promise.resolve({ ok: true } as Response));
global.fetch = fetchMock;
diff --git a/packages/modules/delete-imodel/src/components/DeleteIModel.tsx b/packages/modules/delete-imodel/src/components/DeleteIModel.tsx
index cb04e646..1b9f1cdc 100644
--- a/packages/modules/delete-imodel/src/components/DeleteIModel.tsx
+++ b/packages/modules/delete-imodel/src/components/DeleteIModel.tsx
@@ -12,7 +12,7 @@ import {
ModalContent,
ProgressRadial,
ThemeProvider,
- toaster,
+ useToaster,
} from "@itwin/itwinui-react";
import React from "react";
@@ -47,6 +47,14 @@ export type DeleteIModelProps = {
};
export function DeleteIModel(props: DeleteIModelProps) {
+ return (
+
+
+
+ );
+}
+
+function DeleteIModelComponent(props: DeleteIModelProps) {
const {
imodel: { id: imodelId, name: imodelName },
accessToken,
@@ -56,6 +64,7 @@ export function DeleteIModel(props: DeleteIModelProps) {
onSuccess,
stringsOverrides,
} = props;
+ const toaster = useToaster();
const [isOpen, setIsOpen] = React.useState(true);
const [isLoading, setIsLoading] = React.useState(false);
@@ -106,7 +115,7 @@ export function DeleteIModel(props: DeleteIModelProps) {
}, [onClose]);
return (
-
+ <>
{isLoading && }
-
+ >
);
}