From 75271ca416173ddb71972ed311f9d729443cf763 Mon Sep 17 00:00:00 2001 From: Bill Wallace Date: Wed, 11 Jun 2025 07:36:26 -0400 Subject: [PATCH] fix: data-viewportId name is illegal, renamed to data-viewportid (#5121) --- bun.lock | 342 +++++++++--------- .../src/Viewport/OHIFCornerstoneViewport.tsx | 2 +- .../cornerstone/src/hooks/useViewportHover.ts | 2 +- .../migration-guide/3p10-to-3p11/other.md | 1 + .../docs/platform/hooks/useViewportHover.md | 6 +- 5 files changed, 180 insertions(+), 173 deletions(-) diff --git a/bun.lock b/bun.lock index 5ee66e261..350281f71 100644 --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,5 @@ { - "lockfileVersion": 0, + "lockfileVersion": 1, "workspaces": { "": { "name": "ohif-monorepo-root", @@ -40,7 +40,7 @@ }, "addOns/externals/devDependencies": { "name": "@externals/devDependencies", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@kitware/vtk.js": "32.12.0", @@ -127,14 +127,14 @@ }, "addOns/externals/dicom-microscopy-viewer": { "name": "@externals/dicom-microscopy-viewer", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "dicom-microscopy-viewer": "^0.46.1", }, }, "extensions/cornerstone": { "name": "@ohif/extension-cornerstone", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", @@ -160,8 +160,8 @@ "@cornerstonejs/codec-openjpeg": "^1.2.4", "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/dicom-image-loader": "^3.15.6", - "@ohif/core": "platform/core", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "*", "dicom-parser": "^1.8.21", "hammerjs": "^2.0.8", @@ -173,7 +173,7 @@ }, "extensions/cornerstone-dicom-pmap": { "name": "@ohif/extension-cornerstone-dicom-pmap", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", @@ -182,10 +182,10 @@ "react-color": "^2.19.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-default": "extensions/default", - "@ohif/i18n": "platform/i18n", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -196,16 +196,16 @@ }, "extensions/cornerstone-dicom-rt": { "name": "@ohif/extension-cornerstone-dicom-rt", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "react-color": "^2.19.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-default": "extensions/default", - "@ohif/i18n": "platform/i18n", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -216,7 +216,7 @@ }, "extensions/cornerstone-dicom-seg": { "name": "@ohif/extension-cornerstone-dicom-seg", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", @@ -225,10 +225,10 @@ "react-color": "^2.19.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-default": "extensions/default", - "@ohif/i18n": "platform/i18n", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -239,7 +239,7 @@ }, "extensions/cornerstone-dicom-sr": { "name": "@ohif/extension-cornerstone-dicom-sr", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", @@ -248,10 +248,10 @@ "classnames": "^2.3.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-measurement-tracking": "extensions/measurement-tracking", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-measurement-tracking": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -261,7 +261,7 @@ }, "extensions/cornerstone-dynamic-volume": { "name": "@ohif/extension-cornerstone-dynamic-volume", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/core": "^3.15.6", @@ -269,11 +269,11 @@ "classnames": "^2.3.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-default": "extensions/default", - "@ohif/i18n": "platform/i18n", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "*", "dicom-parser": "^1.8.21", "hammerjs": "^2.0.8", @@ -283,7 +283,7 @@ }, "extensions/default": { "name": "@ohif/extension-default", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/calculate-suv": "^1.1.0", @@ -291,8 +291,8 @@ "lodash.uniqby": "^4.7.0", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/i18n": "platform/i18n", + "@ohif/core": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", "dcmjs": "*", "dicomweb-client": "^0.10.4", "prop-types": "^15.6.2", @@ -306,7 +306,7 @@ }, "extensions/dicom-microscopy": { "name": "@ohif/extension-dicom-microscopy", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/codec-charls": "^1.2.3", @@ -317,10 +317,10 @@ "mathjs": "^12.4.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-default": "extensions/default", - "@ohif/i18n": "platform/i18n", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -331,14 +331,14 @@ }, "extensions/dicom-pdf": { "name": "@ohif/extension-dicom-pdf", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -348,14 +348,14 @@ }, "extensions/dicom-video": { "name": "@ohif/extension-dicom-video", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -365,20 +365,20 @@ }, "extensions/measurement-tracking": { "name": "@ohif/extension-measurement-tracking", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", - "@ohif/ui": "platform/ui", + "@ohif/ui": "3.11.0-beta.52", "@xstate/react": "^3.2.2", "xstate": "^4.10.0", }, "peerDependencies": { "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/tools": "^3.15.6", - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "classnames": "^2.3.2", "dcmjs": "*", "lodash.debounce": "^4.0.8", @@ -391,14 +391,14 @@ }, "extensions/test-extension": { "name": "@ohif/extension-test", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "0.38.0", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -408,14 +408,14 @@ }, "extensions/tmtv": { "name": "@ohif/extension-tmtv", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/ui": "platform/ui", + "@ohif/core": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -425,7 +425,7 @@ }, "modes/basic-dev-mode": { "name": "@ohif/mode-basic-dev-mode", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3", @@ -435,17 +435,17 @@ "webpack-merge": "^5.7.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", - "@ohif/extension-dicom-video": "extensions/dicom-video", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-dicom-pdf": "3.11.0-beta.52", + "@ohif/extension-dicom-video": "3.11.0-beta.52", }, }, "modes/basic-test-mode": { "name": "@ohif/mode-test", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3", @@ -455,19 +455,19 @@ "webpack-merge": "^5.7.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", - "@ohif/extension-dicom-video": "extensions/dicom-video", - "@ohif/extension-measurement-tracking": "extensions/measurement-tracking", - "@ohif/extension-test": "extensions/test-extension", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-dicom-pdf": "3.11.0-beta.52", + "@ohif/extension-dicom-video": "3.11.0-beta.52", + "@ohif/extension-measurement-tracking": "3.11.0-beta.52", + "@ohif/extension-test": "3.11.0-beta.52", }, }, "modes/longitudinal": { "name": "@ohif/mode-longitudinal", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3", @@ -477,32 +477,32 @@ "webpack-merge": "^5.7.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-rt": "extensions/cornerstone-dicom-rt", - "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", - "@ohif/extension-dicom-video": "extensions/dicom-video", - "@ohif/extension-measurement-tracking": "extensions/measurement-tracking", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-rt": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-seg": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-dicom-pdf": "3.11.0-beta.52", + "@ohif/extension-dicom-video": "3.11.0-beta.52", + "@ohif/extension-measurement-tracking": "3.11.0-beta.52", }, }, "modes/microscopy": { "name": "@ohif/mode-microscopy", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-dicom-microscopy": "extensions/dicom-microscopy", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-dicom-microscopy": "3.11.0-beta.52", }, }, "modes/preclinical-4d": { "name": "@ohif/mode-preclinical-4d", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", }, @@ -511,17 +511,17 @@ "webpack-merge": "^5.7.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", - "@ohif/extension-cornerstone-dynamic-volume": "extensions/cornerstone-dynamic-volume", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-tmtv": "extensions/tmtv", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-seg": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dynamic-volume": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-tmtv": "3.11.0-beta.52", }, }, "modes/segmentation": { "name": "@ohif/mode-segmentation", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3", @@ -553,19 +553,19 @@ "webpack-merge": "^5.7.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-rt": "extensions/cornerstone-dicom-rt", - "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", - "@ohif/extension-dicom-video": "extensions/dicom-video", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-rt": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-seg": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-dicom-pdf": "3.11.0-beta.52", + "@ohif/extension-dicom-video": "3.11.0-beta.52", }, }, "modes/tmtv": { "name": "@ohif/mode-tmtv", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3", @@ -575,18 +575,18 @@ "webpack-merge": "^5.7.3", }, "peerDependencies": { - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", - "@ohif/extension-dicom-video": "extensions/dicom-video", - "@ohif/extension-measurement-tracking": "extensions/measurement-tracking", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-dicom-pdf": "3.11.0-beta.52", + "@ohif/extension-dicom-video": "3.11.0-beta.52", + "@ohif/extension-measurement-tracking": "3.11.0-beta.52", }, }, "platform/app": { "name": "@ohif/app", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/codec-charls": "^1.2.3", @@ -595,23 +595,23 @@ "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/dicom-image-loader": "^3.15.6", "@emotion/serialize": "^1.1.3", - "@ohif/core": "platform/core", - "@ohif/extension-cornerstone": "extensions/cornerstone", - "@ohif/extension-cornerstone-dicom-rt": "extensions/cornerstone-dicom-rt", - "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", - "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", - "@ohif/extension-default": "extensions/default", - "@ohif/extension-dicom-microscopy": "extensions/dicom-microscopy", - "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", - "@ohif/extension-dicom-video": "extensions/dicom-video", - "@ohif/extension-test": "extensions/test-extension", - "@ohif/i18n": "platform/i18n", - "@ohif/mode-basic-dev-mode": "modes/basic-dev-mode", - "@ohif/mode-longitudinal": "modes/longitudinal", - "@ohif/mode-microscopy": "modes/microscopy", - "@ohif/mode-test": "modes/basic-test-mode", - "@ohif/ui": "platform/ui", - "@ohif/ui-next": "platform/ui-next", + "@ohif/core": "3.11.0-beta.52", + "@ohif/extension-cornerstone": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-rt": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-seg": "3.11.0-beta.52", + "@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.52", + "@ohif/extension-default": "3.11.0-beta.52", + "@ohif/extension-dicom-microscopy": "3.11.0-beta.52", + "@ohif/extension-dicom-pdf": "3.11.0-beta.52", + "@ohif/extension-dicom-video": "3.11.0-beta.52", + "@ohif/extension-test": "3.11.0-beta.52", + "@ohif/i18n": "3.11.0-beta.52", + "@ohif/mode-basic-dev-mode": "3.11.0-beta.52", + "@ohif/mode-longitudinal": "3.11.0-beta.52", + "@ohif/mode-microscopy": "3.11.0-beta.52", + "@ohif/mode-test": "3.11.0-beta.52", + "@ohif/ui": "3.11.0-beta.52", + "@ohif/ui-next": "3.11.0-beta.52", "@svgr/webpack": "^8.1.0", "@types/react": "^18.3.3", "classnames": "^2.3.2", @@ -652,7 +652,10 @@ }, "platform/cli": { "name": "@ohif/cli", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", + "bin": { + "ohif-cli": "src/index.js", + }, "dependencies": { "@babel/core": "7.24.7", "axios": "^1.8.4", @@ -673,7 +676,7 @@ }, "platform/core": { "name": "@ohif/core", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "dcmjs": "*", @@ -700,14 +703,14 @@ "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/dicom-image-loader": "^3.15.6", - "@ohif/ui": "platform/ui", + "@ohif/ui": "3.11.0-beta.52", "cornerstone-math": "0.1.9", "dicom-parser": "^1.8.21", }, }, "platform/i18n": { "name": "@ohif/i18n", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@babel/runtime": "^7.20.13", "i18next-locize-backend": "^2.0.0", @@ -732,7 +735,7 @@ }, "platform/ui": { "name": "@ohif/ui", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@testing-library/react": "^13.1.0", "browser-detect": "^0.2.28", @@ -792,7 +795,7 @@ }, "platform/ui-next": { "name": "@ohif/ui-next", - "version": "3.11.0-beta.48", + "version": "3.11.0-beta.52", "dependencies": { "@radix-ui/react-accordion": "^1.2.0", "@radix-ui/react-checkbox": "^1.1.1", @@ -835,13 +838,16 @@ }, }, "overrides": { - "trim-newlines": "^5.0.0", - "path-to-regexp": "0.1.12", - "glob-parent": "^6.0.2", - "rollup": "2.79.2", - "commander": "8.3.0", "body-parser": "1.20.3", + "commander": "8.3.0", + "glob-parent": "^6.0.2", "nth-check": "^2.1.1", + "package-json": "^8.1.0", + "path-to-regexp": "0.1.12", + "rollup": "2.79.2", + "sharp": "^0.32.6", + "trim": "^1.0.0", + "trim-newlines": "^5.0.0", }, "packages": { "@adobe/css-tools": ["@adobe/css-tools@4.4.3", "", {}, "sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA=="], @@ -1238,9 +1244,9 @@ "@eslint/js": ["@eslint/js@8.57.1", "", {}, "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q=="], - "@externals/devDependencies": ["@externals/devDependencies@workspace:addOns/externals/devDependencies", { "dependencies": { "@babel/runtime": "^7.20.13", "@kitware/vtk.js": "32.12.0", "clsx": "^2.1.1", "core-js": "^3.2.1", "moment": "^2.30.1" }, "devDependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@rsbuild/core": "^1.3.16", "@rsbuild/plugin-node-polyfill": "^1.3.0", "@rsbuild/plugin-react": "^1.3.1", "@svgr/webpack": "^8.1.0", "@swc/helpers": "^0.5.15", "@types/jest": "^27.5.0", "@typescript-eslint/eslint-plugin": "^6.3.0", "@typescript-eslint/parser": "^6.3.0", "autoprefixer": "^10.4.4", "babel-eslint": "9.x", "babel-loader": "^8.2.4", "babel-plugin-module-resolver": "^5.0.0", "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^9.0.1", "cross-env": "^5.2.0", "css-loader": "^6.8.1", "dotenv": "^8.1.0", "eslint": "^8.39.0", "eslint-config-prettier": "^7.2.0", "eslint-config-react-app": "^6.0.0", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-flowtype": "^7.0.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-promise": "^5.2.0", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.4.0", "eslint-plugin-tsdoc": "^0.2.11", "eslint-webpack-plugin": "^2.5.3", "execa": "^8.0.1", "extract-css-chunks-webpack-plugin": "^4.5.4", "html-webpack-plugin": "^5.3.2", "husky": "^3.0.0", "jest": "^29.5.0", "jest-canvas-mock": "^2.1.0", "jest-environment-jsdom": "^29.5.0", "jest-junit": "^6.4.0", "lerna": "^7.2.0", "lint-staged": "^9.0.2", "mini-css-extract-plugin": "^2.1.0", "optimize-css-assets-webpack-plugin": "^6.0.1", "postcss": "^8.3.5", "postcss-import": "^14.0.2", "postcss-loader": "^6.1.1", "postcss-preset-env": "^7.4.3", "prettier": "^3.0.3", "prettier-plugin-tailwindcss": "^0.5.4", "react-refresh": "^0.14.2", "semver": "^7.5.1", "serve": "^14.2.4", "shader-loader": "^1.3.1", "shx": "^0.3.3", "source-map-loader": "^4.0.1", "style-loader": "^1.0.0", "stylus": "^0.59.0", "stylus-loader": "^7.1.3", "terser-webpack-plugin": "^5.1.4", "typescript": "5.5.4", "unused-webpack-plugin": "2.4.0", "webpack": "5.94.0", "webpack-bundle-analyzer": "^4.8.0", "webpack-cli": "^4.7.2", "webpack-dev-server": "4.7.3", "webpack-hot-middleware": "^2.25.0", "webpack-merge": "^5.7.3", "workbox-webpack-plugin": "^6.1.5", "worker-loader": "^3.0.8" }, "peerDependencies": { "react": "^18.3.1", "react-dom": "^18.3.1" } }], + "@externals/devDependencies": ["@externals/devDependencies@workspace:addOns/externals/devDependencies"], - "@externals/dicom-microscopy-viewer": ["@externals/dicom-microscopy-viewer@workspace:addOns/externals/dicom-microscopy-viewer", { "dependencies": { "dicom-microscopy-viewer": "^0.46.1" } }], + "@externals/dicom-microscopy-viewer": ["@externals/dicom-microscopy-viewer@workspace:addOns/externals/dicom-microscopy-viewer"], "@fal-works/esbuild-plugin-global-externals": ["@fal-works/esbuild-plugin-global-externals@2.1.2", "", {}, "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ=="], @@ -1446,57 +1452,57 @@ "@octokit/types": ["@octokit/types@9.3.2", "", { "dependencies": { "@octokit/openapi-types": "^18.0.0" } }, "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA=="], - "@ohif/app": ["@ohif/app@workspace:platform/app", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.4", "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/dicom-image-loader": "^3.15.6", "@emotion/serialize": "^1.1.3", "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-rt": "extensions/cornerstone-dicom-rt", "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/extension-dicom-microscopy": "extensions/dicom-microscopy", "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", "@ohif/extension-dicom-video": "extensions/dicom-video", "@ohif/extension-test": "extensions/test-extension", "@ohif/i18n": "platform/i18n", "@ohif/mode-basic-dev-mode": "modes/basic-dev-mode", "@ohif/mode-longitudinal": "modes/longitudinal", "@ohif/mode-microscopy": "modes/microscopy", "@ohif/mode-test": "modes/basic-test-mode", "@ohif/ui": "platform/ui", "@ohif/ui-next": "platform/ui-next", "@svgr/webpack": "^8.1.0", "@types/react": "^18.3.3", "classnames": "^2.3.2", "core-js": "*", "cornerstone-math": "^0.1.9", "dcmjs": "*", "detect-gpu": "^4.0.16", "dicom-parser": "^1.8.9", "dotenv-webpack": "^1.7.0", "file-loader": "^6.2.0", "hammerjs": "^2.0.8", "history": "^5.3.0", "i18next": "^17.0.3", "i18next-browser-languagedetector": "^3.0.1", "lodash.isequal": "4.5.0", "oidc-client": "1.11.5", "oidc-client-ts": "^3.0.1", "prop-types": "^15.7.2", "query-string": "^6.12.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-dropzone": "^10.1.7", "react-i18next": "^12.2.2", "react-resize-detector": "^10.0.1", "react-router": "^6.23.1", "react-router-dom": "^6.8.1", "react-shepherd": "6.1.1", "shepherd.js": "13.0.3", "url-loader": "^4.1.1", "zustand": "4.5.5" }, "devDependencies": { "@babel/plugin-proposal-private-methods": "^7.18.6", "@types/node": "^20.12.12", "identity-obj-proxy": "3.0.x", "tailwindcss": "3.2.4" } }], + "@ohif/app": ["@ohif/app@workspace:platform/app"], - "@ohif/cli": ["@ohif/cli@workspace:platform/cli", { "dependencies": { "@babel/core": "7.24.7", "axios": "^1.8.4", "chalk": "^5.0.0", "execa": "^8.0.1", "gitignore": "^0.7.0", "inquirer": "^8.2.0", "listr": "^0.14.3", "mustache": "^4.2.0", "ncp": "^2.0.0", "node-fetch": "^3.1.1", "pkg-install": "^1.0.0", "registry-url": "^6.0.0", "spdx-license-list": "^6.4.0", "util": "^0.12.4", "yarn-programmatic": "^0.1.2" }, "bin": { "ohif-cli": "src/index.js" } }], + "@ohif/cli": ["@ohif/cli@workspace:platform/cli"], - "@ohif/core": ["@ohif/core@workspace:platform/core", { "dependencies": { "@babel/runtime": "^7.20.13", "dcmjs": "*", "dicomweb-client": "^0.10.4", "gl-matrix": "^3.4.3", "immutability-helper": "^3.1.1", "isomorphic-base64": "^1.0.2", "lodash.clonedeep": "^4.5.0", "lodash.isequal": "^4.5.0", "moment": "^2.30.1", "object-hash": "2.1.1", "query-string": "^6.14.0", "react-shepherd": "6.1.1", "shepherd.js": "13.0.3", "validate.js": "^0.12.0" }, "devDependencies": { "webpack-merge": "*" }, "peerDependencies": { "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.4", "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/dicom-image-loader": "^3.15.6", "@ohif/ui": "platform/ui", "cornerstone-math": "0.1.9", "dicom-parser": "^1.8.21" } }], + "@ohif/core": ["@ohif/core@workspace:platform/core"], - "@ohif/extension-cornerstone": ["@ohif/extension-cornerstone@workspace:extensions/cornerstone", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", "@cornerstonejs/ai": "^3.15.6", "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/labelmap-interpolation": "^3.15.6", "@cornerstonejs/polymorphic-segmentation": "^3.15.6", "@cornerstonejs/tools": "^3.15.6", "@itk-wasm/morphological-contour-interpolation": "1.1.0", "@kitware/vtk.js": "32.12.0", "html2canvas": "^1.4.1", "lodash.compact": "^3.0.1", "lodash.debounce": "^4.0.8", "lodash.flatten": "^4.4.0", "lodash.merge": "^4.6.2", "lodash.zip": "^4.2.0", "shader-loader": "^1.3.1", "worker-loader": "^3.0.8" }, "peerDependencies": { "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.4", "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/dicom-image-loader": "^3.15.6", "@ohif/core": "platform/core", "@ohif/ui": "platform/ui", "dcmjs": "*", "dicom-parser": "^1.8.21", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-resize-detector": "^10.0.1" } }], + "@ohif/extension-cornerstone": ["@ohif/extension-cornerstone@workspace:extensions/cornerstone"], - "@ohif/extension-cornerstone-dicom-pmap": ["@ohif/extension-cornerstone-dicom-pmap@workspace:extensions/cornerstone-dicom-pmap", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", "@cornerstonejs/core": "^3.15.6", "@kitware/vtk.js": "32.12.0", "react-color": "^2.19.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-default": "extensions/default", "@ohif/i18n": "platform/i18n", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^12.2.2", "react-router": "^6.8.1", "react-router-dom": "^6.8.1" } }], + "@ohif/extension-cornerstone-dicom-pmap": ["@ohif/extension-cornerstone-dicom-pmap@workspace:extensions/cornerstone-dicom-pmap"], - "@ohif/extension-cornerstone-dicom-rt": ["@ohif/extension-cornerstone-dicom-rt@workspace:extensions/cornerstone-dicom-rt", { "dependencies": { "@babel/runtime": "^7.20.13", "react-color": "^2.19.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-default": "extensions/default", "@ohif/i18n": "platform/i18n", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^10.11.0", "react-router": "^6.23.1", "react-router-dom": "^6.23.1" } }], + "@ohif/extension-cornerstone-dicom-rt": ["@ohif/extension-cornerstone-dicom-rt@workspace:extensions/cornerstone-dicom-rt"], - "@ohif/extension-cornerstone-dicom-seg": ["@ohif/extension-cornerstone-dicom-seg@workspace:extensions/cornerstone-dicom-seg", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", "@cornerstonejs/core": "^3.15.6", "@kitware/vtk.js": "32.12.0", "react-color": "^2.19.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-default": "extensions/default", "@ohif/i18n": "platform/i18n", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^12.2.2", "react-router": "^6.23.1", "react-router-dom": "^6.23.1" } }], + "@ohif/extension-cornerstone-dicom-seg": ["@ohif/extension-cornerstone-dicom-seg@workspace:extensions/cornerstone-dicom-seg"], - "@ohif/extension-cornerstone-dicom-sr": ["@ohif/extension-cornerstone-dicom-sr@workspace:extensions/cornerstone-dicom-sr", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/adapters": "^3.15.6", "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/tools": "^3.15.6", "classnames": "^2.3.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-measurement-tracking": "extensions/measurement-tracking", "@ohif/ui": "platform/ui", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1" } }], + "@ohif/extension-cornerstone-dicom-sr": ["@ohif/extension-cornerstone-dicom-sr@workspace:extensions/cornerstone-dicom-sr"], - "@ohif/extension-cornerstone-dynamic-volume": ["@ohif/extension-cornerstone-dynamic-volume@workspace:extensions/cornerstone-dynamic-volume", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/tools": "^3.15.6", "classnames": "^2.3.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-default": "extensions/default", "@ohif/i18n": "platform/i18n", "@ohif/ui": "platform/ui", "dcmjs": "*", "dicom-parser": "^1.8.21", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1" } }], + "@ohif/extension-cornerstone-dynamic-volume": ["@ohif/extension-cornerstone-dynamic-volume@workspace:extensions/cornerstone-dynamic-volume"], - "@ohif/extension-default": ["@ohif/extension-default@workspace:extensions/default", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/calculate-suv": "^1.1.0", "lodash.get": "^4.4.2", "lodash.uniqby": "^4.7.0" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/i18n": "platform/i18n", "dcmjs": "*", "dicomweb-client": "^0.10.4", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^12.2.2", "react-window": "^1.8.9", "webpack": "5.89.0", "webpack-merge": "^5.7.3" } }], + "@ohif/extension-default": ["@ohif/extension-default@workspace:extensions/default"], - "@ohif/extension-dicom-microscopy": ["@ohif/extension-dicom-microscopy@workspace:extensions/dicom-microscopy", { "dependencies": { "@babel/runtime": "^7.20.13", "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.4", "colormap": "^2.3", "lodash.debounce": "^4.0.8", "mathjs": "^12.4.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-default": "extensions/default", "@ohif/i18n": "platform/i18n", "@ohif/ui": "platform/ui", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^10.11.0", "react-router": "^6.23.1", "react-router-dom": "^6.23.1" } }], + "@ohif/extension-dicom-microscopy": ["@ohif/extension-dicom-microscopy@workspace:extensions/dicom-microscopy"], - "@ohif/extension-dicom-pdf": ["@ohif/extension-dicom-pdf@workspace:extensions/dicom-pdf", { "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/ui": "platform/ui", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1" } }], + "@ohif/extension-dicom-pdf": ["@ohif/extension-dicom-pdf@workspace:extensions/dicom-pdf"], - "@ohif/extension-dicom-video": ["@ohif/extension-dicom-video@workspace:extensions/dicom-video", { "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/ui": "platform/ui", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1" } }], + "@ohif/extension-dicom-video": ["@ohif/extension-dicom-video@workspace:extensions/dicom-video"], - "@ohif/extension-measurement-tracking": ["@ohif/extension-measurement-tracking@workspace:extensions/measurement-tracking", { "dependencies": { "@babel/runtime": "^7.20.13", "@ohif/ui": "platform/ui", "@xstate/react": "^3.2.2", "xstate": "^4.10.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.15.6", "@cornerstonejs/tools": "^3.15.6", "@ohif/core": "platform/core", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/ui": "platform/ui", "classnames": "^2.3.2", "dcmjs": "*", "lodash.debounce": "^4.0.8", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", "webpack": "5.89.0", "webpack-merge": "^5.7.3" } }], + "@ohif/extension-measurement-tracking": ["@ohif/extension-measurement-tracking@workspace:extensions/measurement-tracking"], - "@ohif/extension-test": ["@ohif/extension-test@workspace:extensions/test-extension", { "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/ui": "platform/ui", "dcmjs": "0.38.0", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1" } }], + "@ohif/extension-test": ["@ohif/extension-test@workspace:extensions/test-extension"], - "@ohif/extension-tmtv": ["@ohif/extension-tmtv@workspace:extensions/tmtv", { "dependencies": { "@babel/runtime": "^7.20.13", "classnames": "^2.3.2" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/ui": "platform/ui", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", "react": "^18.3.1" } }], + "@ohif/extension-tmtv": ["@ohif/extension-tmtv@workspace:extensions/tmtv"], - "@ohif/i18n": ["@ohif/i18n@workspace:platform/i18n", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next-locize-backend": "^2.0.0", "locize-editor": "^2.0.0", "locize-lastused": "^1.1.0" }, "devDependencies": { "i18next": "^17.0.3", "i18next-browser-languagedetector": "^3.0.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^12.2.2", "webpack-merge": "^5.7.3" }, "peerDependencies": { "i18next": "^17.0.3", "i18next-browser-languagedetector": "^3.0.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^12.2.2" } }], + "@ohif/i18n": ["@ohif/i18n@workspace:platform/i18n"], - "@ohif/mode-basic-dev-mode": ["@ohif/mode-basic-dev-mode@workspace:modes/basic-dev-mode", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3" }, "devDependencies": { "webpack": "5.94.0", "webpack-merge": "^5.7.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", "@ohif/extension-dicom-video": "extensions/dicom-video" } }], + "@ohif/mode-basic-dev-mode": ["@ohif/mode-basic-dev-mode@workspace:modes/basic-dev-mode"], - "@ohif/mode-longitudinal": ["@ohif/mode-longitudinal@workspace:modes/longitudinal", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3" }, "devDependencies": { "webpack": "5.94.0", "webpack-merge": "^5.7.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-rt": "extensions/cornerstone-dicom-rt", "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", "@ohif/extension-dicom-video": "extensions/dicom-video", "@ohif/extension-measurement-tracking": "extensions/measurement-tracking" } }], + "@ohif/mode-longitudinal": ["@ohif/mode-longitudinal@workspace:modes/longitudinal"], - "@ohif/mode-microscopy": ["@ohif/mode-microscopy@workspace:modes/microscopy", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-dicom-microscopy": "extensions/dicom-microscopy" } }], + "@ohif/mode-microscopy": ["@ohif/mode-microscopy@workspace:modes/microscopy"], - "@ohif/mode-preclinical-4d": ["@ohif/mode-preclinical-4d@workspace:modes/preclinical-4d", { "dependencies": { "@babel/runtime": "^7.20.13" }, "devDependencies": { "webpack": "5.94.0", "webpack-merge": "^5.7.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", "@ohif/extension-cornerstone-dynamic-volume": "extensions/cornerstone-dynamic-volume", "@ohif/extension-default": "extensions/default", "@ohif/extension-tmtv": "extensions/tmtv" } }], + "@ohif/mode-preclinical-4d": ["@ohif/mode-preclinical-4d@workspace:modes/preclinical-4d"], - "@ohif/mode-segmentation": ["@ohif/mode-segmentation@workspace:modes/segmentation", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3" }, "devDependencies": { "@babel/core": "7.24.7", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-object-rest-spread": "^7.17.3", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.16.7", "@babel/plugin-transform-regenerator": "^7.16.7", "@babel/plugin-transform-runtime": "7.24.7", "@babel/plugin-transform-typescript": "^7.13.0", "@babel/preset-env": "7.23.2", "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.13.0", "@svgr/webpack": "^8.1.0", "babel-eslint": "^10.1.0", "babel-loader": "^8.0.0-beta.4", "clean-webpack-plugin": "^4.0.0", "copy-webpack-plugin": "^10.2.0", "cross-env": "^7.0.3", "dotenv": "^14.1.0", "eslint": "^8.39.0", "eslint-loader": "^2.0.0", "webpack": "5.94.0", "webpack-cli": "^4.7.2", "webpack-merge": "^5.7.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-rt": "extensions/cornerstone-dicom-rt", "@ohif/extension-cornerstone-dicom-seg": "extensions/cornerstone-dicom-seg", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", "@ohif/extension-dicom-video": "extensions/dicom-video" } }], + "@ohif/mode-segmentation": ["@ohif/mode-segmentation@workspace:modes/segmentation"], - "@ohif/mode-test": ["@ohif/mode-test@workspace:modes/basic-test-mode", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3" }, "devDependencies": { "webpack": "5.94.0", "webpack-merge": "^5.7.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", "@ohif/extension-dicom-video": "extensions/dicom-video", "@ohif/extension-measurement-tracking": "extensions/measurement-tracking", "@ohif/extension-test": "extensions/test-extension" } }], + "@ohif/mode-test": ["@ohif/mode-test@workspace:modes/basic-test-mode"], - "@ohif/mode-tmtv": ["@ohif/mode-tmtv@workspace:modes/tmtv", { "dependencies": { "@babel/runtime": "^7.20.13", "i18next": "^17.0.3" }, "devDependencies": { "webpack": "5.94.0", "webpack-merge": "^5.7.3" }, "peerDependencies": { "@ohif/core": "platform/core", "@ohif/extension-cornerstone": "extensions/cornerstone", "@ohif/extension-cornerstone-dicom-sr": "extensions/cornerstone-dicom-sr", "@ohif/extension-default": "extensions/default", "@ohif/extension-dicom-pdf": "extensions/dicom-pdf", "@ohif/extension-dicom-video": "extensions/dicom-video", "@ohif/extension-measurement-tracking": "extensions/measurement-tracking" } }], + "@ohif/mode-tmtv": ["@ohif/mode-tmtv@workspace:modes/tmtv"], - "@ohif/ui": ["@ohif/ui@workspace:platform/ui", { "dependencies": { "@testing-library/react": "^13.1.0", "browser-detect": "^0.2.28", "classnames": "^2.3.2", "d3-array": "3", "d3-axis": "3", "d3-scale": "4", "d3-scale-chromatic": "3", "d3-selection": "3", "d3-shape": "3", "d3-zoom": "3", "lodash.clonedeep": "^4.5.0", "lodash.debounce": "^4.0.8", "lodash.merge": "^4.6.1", "moment": "^2.30.1", "mousetrap": "^1.6.5", "react": "^18.3.1", "react-dates": "^21.8.0", "react-dnd": "14.0.2", "react-dnd-html5-backend": "14.0.0", "react-dom": "^18.3.1", "react-draggable": "^4.4.6", "react-error-boundary": "^3.1.3", "react-modal": "3.11.2", "react-outside-click-handler": "^1.3.0", "react-select": "5.7.4", "react-test-renderer": "^18.3.1", "react-window": "^1.8.9", "react-with-direction": "^1.3.1", "swiper": "^8.4.2", "webpack": "5.94.0" }, "devDependencies": { "@babel/core": "7.24.7", "@storybook/addon-actions": "^7.6.10", "@storybook/addon-docs": "^7.6.10", "@storybook/addon-essentials": "^7.6.10", "@storybook/addon-links": "^7.6.10", "@storybook/cli": "^7.6.10", "@storybook/react": "^7.6.10", "@storybook/react-webpack5": "^7.6.10", "@storybook/source-loader": "^7.6.10", "autoprefixer": "^10.4.14", "babel-loader": "^9.1.2", "dotenv-webpack": "^8.0.1", "postcss": "^8.4.23", "postcss-loader": "^7.2.4", "prop-types": "^15.8.1", "remark-gfm": "^3.0.1", "storybook": "^7.6.10", "tailwindcss": "3.2.4" }, "peerDependencies": { "react": "^18.3.1", "react-dom": "^18.3.1" } }], + "@ohif/ui": ["@ohif/ui@workspace:platform/ui"], - "@ohif/ui-next": ["@ohif/ui-next@workspace:platform/ui-next", { "dependencies": { "@radix-ui/react-accordion": "^1.2.0", "@radix-ui/react-checkbox": "^1.1.1", "@radix-ui/react-context-menu": "^2.2.4", "@radix-ui/react-dialog": "^1.1.1", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-hover-card": "^1.1.6", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.1.0", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-scroll-area": "^1.1.0", "@radix-ui/react-select": "^2.1.1", "@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-slider": "^1.2.0", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.1.0", "@radix-ui/react-tabs": "^1.1.0", "@radix-ui/react-toggle": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.2", "class-variance-authority": "^0.7.0", "clsx": "*", "cmdk": "^1.0.0", "date-fns": "^3.6.0", "framer-motion": "6.2.4", "lucide-react": "^0.379.0", "next-themes": "^0.3.0", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-resizable-panels": "^2.1.7", "react-shepherd": "6.1.1", "shepherd.js": "13.0.3", "sonner": "^1.5.0", "tailwind-merge": "^2.3.0", "tailwindcss": "3.2.4", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.16.7" } }], + "@ohif/ui-next": ["@ohif/ui-next@workspace:platform/ui-next"], "@oozcitak/dom": ["@oozcitak/dom@1.15.10", "", { "dependencies": { "@oozcitak/infra": "1.0.8", "@oozcitak/url": "1.0.4", "@oozcitak/util": "8.3.8" } }, "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ=="], diff --git a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx index e685ba3a6..0b4b8f73a 100644 --- a/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx +++ b/extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx @@ -340,7 +340,7 @@ const OHIFCornerstoneViewport = React.memo( style={{ height: '100%', width: '100%' }} onContextMenu={e => e.preventDefault()} onMouseDown={e => e.preventDefault()} - data-viewportId={viewportId} + data-viewportid={viewportId} ref={el => { elementRef.current = el; if (el) { diff --git a/extensions/cornerstone/src/hooks/useViewportHover.ts b/extensions/cornerstone/src/hooks/useViewportHover.ts index d26121a49..4f3d965fa 100644 --- a/extensions/cornerstone/src/hooks/useViewportHover.ts +++ b/extensions/cornerstone/src/hooks/useViewportHover.ts @@ -16,7 +16,7 @@ export function useViewportHover(viewportId: string): { isHovered: boolean; isAc const isActive = activeViewportId === viewportId; const setupListeners = useCallback(() => { - const viewportElement = document.querySelector(`[data-viewportId="${viewportId}"]`); + const viewportElement = document.querySelector(`[data-viewportid="${viewportId}"]`); const element = viewportElement?.closest('.viewport-wrapper') || viewportElement; if (!element) { diff --git a/platform/docs/docs/migration-guide/3p10-to-3p11/other.md b/platform/docs/docs/migration-guide/3p10-to-3p11/other.md index 73a77bfa3..81cdc4f8e 100644 --- a/platform/docs/docs/migration-guide/3p10-to-3p11/other.md +++ b/platform/docs/docs/migration-guide/3p10-to-3p11/other.md @@ -8,6 +8,7 @@ summary: Migration guide for OHIF 3.11 additional changes **Key Changes:** * **`connectToolsToMeasurementService` parameters:** The `connectToolsToMeasurementService` function from the `@ohif/cornerstone-extensions` now take different arguments. +* **`data-viewportId`** The `data-viewportId` naming was not compliant with react and was causing warnings. Rename references to `data-viewportid`. **Migration Steps:** diff --git a/platform/docs/docs/platform/hooks/useViewportHover.md b/platform/docs/docs/platform/hooks/useViewportHover.md index 61c45a1de..867778284 100644 --- a/platform/docs/docs/platform/hooks/useViewportHover.md +++ b/platform/docs/docs/platform/hooks/useViewportHover.md @@ -22,7 +22,7 @@ import { useViewportHover } from '@ohif/extension-cornerstone'; ```jsx function ViewportOverlay({ viewportId }) { const { isHovered, isActive } = useViewportHover(viewportId); - + return (
{isHovered && !isActive && ( @@ -49,9 +49,9 @@ An object containing the following properties: ## Implementation Details -- The hook uses the DOM to find the viewport element by its `data-viewportId` attribute. +- The hook uses the DOM to find the viewport element by its `data-viewportid` attribute. - It calculates and maintains the viewport's bounding rectangle to efficiently determine if the mouse is within the viewport's bounds. - The viewport element's rectangle is updated when the window is resized. - Global mouse movement is tracked to determine hover state, rather than relying on traditional mouseenter/mouseleave events. - The hook automatically cleans up event listeners when the component unmounts or the viewport ID changes. -- Active viewport state is derived from the viewport grid state using the `useViewportGrid` hook. \ No newline at end of file +- Active viewport state is derived from the viewport grid state using the `useViewportGrid` hook.