@ohif/app 3.9.0-beta.82 → 3.9.0-beta.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{1169.bundle.d32f38ab5aa329346850.js → 1169.bundle.4622fde2805592aad5d0.js} +2 -2
  2. package/dist/{1498.bundle.a2d05ac1f27d0c2d2c9f.js → 1498.bundle.ff6ba98c695ef559fec2.js} +1 -1
  3. package/dist/{2898.bundle.21f0702e5d67b8aca5af.js → 2898.bundle.ef8d98b006bd8386d599.js} +2 -2
  4. package/dist/{1994.bundle.875a9af3f3071de48396.js → 3482.bundle.9d05f4302cfb25916199.js} +165 -31
  5. package/dist/{3658.bundle.ca4d24aa942995e51df2.js → 3658.bundle.e44755981b64e69a8d7e.js} +2 -2
  6. package/dist/{3962.bundle.bb6085989a02e6911bea.js → 3962.bundle.00488e70dda6bf6a5d61.js} +46 -10
  7. package/dist/{4210.bundle.92b0d101882497244c0d.js → 4210.bundle.2b10dd98b304f22c17c2.js} +66 -11
  8. package/dist/{4353.bundle.2d8b7b74a84876493021.js → 4353.bundle.edc079136ae913f7335b.js} +1 -1
  9. package/dist/{4978.bundle.43b4e07ef377f2bfe48b.js → 4978.bundle.67f85e7c070653ad4451.js} +1 -1
  10. package/dist/{5888.bundle.e3b305a739f4bbb6c160.js → 5888.bundle.16ef09e7382bafe64935.js} +2 -2
  11. package/dist/{655.bundle.c808e096f81c7b9bead5.js → 6552.bundle.4aa3bf21d00a0001df17.js} +189 -29
  12. package/dist/{7246.bundle.222784f0c09baebf56d1.js → 7246.bundle.565bed4e6ebf219aea95.js} +2 -2
  13. package/dist/{79.bundle.b03daeeef3e6faf9dca3.js → 79.bundle.422d9ccbaaefa6b0a039.js} +4 -4
  14. package/dist/{7913.bundle.e9c848c8dbd528e130bd.js → 7913.bundle.2a7128245a53d4611985.js} +47 -10
  15. package/dist/{8315.bundle.5066943ed0a18dd2ae4e.js → 8315.bundle.5cac046f15998869dc97.js} +2 -2
  16. package/dist/{8714.bundle.fb419b4e3c25ae85d9fb.js → 8714.bundle.36331faa35db985a786c.js} +2 -2
  17. package/dist/{8999.bundle.56eca16cf8b382b8e32d.js → 8999.bundle.8b57de8d3b3cf73f4746.js} +26 -6
  18. package/dist/{962.bundle.e0b776066166f7ca8ae7.js → 962.bundle.6ab8856653c3237be225.js} +8 -8
  19. package/dist/app-config.js +1 -0
  20. package/dist/app.bundle.css +2 -2
  21. package/dist/{app.bundle.89a5774878d3f1c9d185.js → app.bundle.f3fe7f3270d0f8de6576.js} +25054 -21448
  22. package/dist/index.html +1 -1
  23. package/dist/sw.js +1 -1
  24. package/package.json +18 -18
  25. /package/dist/{153.bundle.6656df7144af28499f0e.js → 153.bundle.0a88997d039463ca9d22.js} +0 -0
  26. /package/dist/{2119.bundle.1522d3e4bafb2c6f57cc.js → 2119.bundle.c93398fbd8bad5b23a31.js} +0 -0
  27. /package/dist/{2791.bundle.3c1bca4567131c17e128.js → 2791.bundle.170decb940b775c68319.js} +0 -0
  28. /package/dist/{1994.css → 3482.css} +0 -0
  29. /package/dist/{4842.bundle.10fb585c4bd38f27ffb8.js → 4842.bundle.569eca46c1794eb1ce62.js} +0 -0
  30. /package/dist/{6591.bundle.a4d96e3939f572b15357.js → 6591.bundle.f37f2c32833600dd53ce.js} +0 -0
  31. /package/dist/{7360.bundle.48b5a54551e460d820ed.js → 7360.bundle.635331a4f41c7b6f843d.js} +0 -0
  32. /package/dist/{7376.bundle.a41efe00d743f56a4606.js → 7376.bundle.ada481436c043b34a257.js} +0 -0
  33. /package/dist/{7502.bundle.e4639a81a5151aa524e4.js → 7502.bundle.6a59f99cd8b95f20ca23.js} +0 -0
  34. /package/dist/{8944.bundle.46f93cca4ea0eda3f6c0.js → 8944.bundle.bc0a090eafb341e2226d.js} +0 -0
@@ -25,8 +25,8 @@ var esm = __webpack_require__(93725);
25
25
  var dist_esm = __webpack_require__(12651);
26
26
  // EXTERNAL MODULE: ../../core/src/index.ts + 74 modules
27
27
  var src = __webpack_require__(84793);
28
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
29
- var ui_src = __webpack_require__(38604);
28
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
29
+ var ui_src = __webpack_require__(50395);
30
30
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
31
31
  var state = __webpack_require__(13000);
32
32
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css
@@ -11,7 +11,7 @@ __webpack_require__.r(__webpack_exports__);
11
11
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43001);
12
12
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3827);
13
13
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
14
- /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38604);
14
+ /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50395);
15
15
  /* harmony import */ var _cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93725);
16
16
  /* harmony import */ var _getContextModule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(89859);
17
17
  /* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12651);
@@ -17,8 +17,8 @@ var prop_types = __webpack_require__(3827);
17
17
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
18
18
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
19
19
  var react = __webpack_require__(43001);
20
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
21
- var src = __webpack_require__(38604);
20
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
21
+ var src = __webpack_require__(50395);
22
22
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/src/utils/initPMAPToolGroup.ts
23
23
  function createPMAPToolGroupAndAddTools(ToolGroupService, customizationService, toolGroupId) {
24
24
  const {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[1994,4757],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[3482,4757],{
3
3
 
4
4
  /***/ 89859:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -20,8 +20,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
20
20
  var es = __webpack_require__(261);
21
21
  // EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 8 modules
22
22
  var react_es = __webpack_require__(44530);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
24
- var src = __webpack_require__(38604);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
24
+ var src = __webpack_require__(50395);
25
25
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
26
26
 
27
27
  const RESPONSE = {
@@ -714,8 +714,8 @@ function promptTrackNewStudy_askSaveDiscardOrCancel(UIViewportDialogService, vie
714
714
  });
715
715
  }
716
716
  /* harmony default export */ const TrackedMeasurementsContext_promptTrackNewStudy = (promptTrackNewStudy);
717
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 95 modules
718
- var default_src = __webpack_require__(10655);
717
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 99 modules
718
+ var default_src = __webpack_require__(56552);
719
719
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/getNextSRSeriesNumber.js
720
720
  const MIN_SR_SERIES_NUMBER = 4700;
721
721
  function getNextSRSeriesNumber(displaySetService) {
@@ -1251,7 +1251,7 @@ function getContextModule({
1251
1251
 
1252
1252
  /***/ }),
1253
1253
 
1254
- /***/ 64595:
1254
+ /***/ 21177:
1255
1255
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1256
1256
 
1257
1257
  // ESM COMPAT FLAG
@@ -1275,8 +1275,79 @@ var dist = __webpack_require__(62474);
1275
1275
  var es = __webpack_require__(69190);
1276
1276
  // EXTERNAL MODULE: ../../core/src/index.ts + 74 modules
1277
1277
  var src = __webpack_require__(84793);
1278
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
1279
- var ui_src = __webpack_require__(38604);
1278
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
1279
+ var ui_src = __webpack_require__(50395);
1280
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 2440 modules
1281
+ var ui_next_src = __webpack_require__(45185);
1282
+ // EXTERNAL MODULE: ./state/index.js + 1 modules
1283
+ var state = __webpack_require__(52490);
1284
+ ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTrackingHeader.tsx
1285
+
1286
+
1287
+
1288
+ function PanelStudyBrowserTrackingHeader({
1289
+ tab,
1290
+ getCloseIcon,
1291
+ viewPresets,
1292
+ updateViewPresetValue,
1293
+ actionIcons,
1294
+ updateActionIconValue
1295
+ }) {
1296
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
1297
+ className: "bg-muted flex h-[40px] select-none rounded-t p-2"
1298
+ }, /*#__PURE__*/react.createElement("div", {
1299
+ className: 'flex h-[24px] w-full select-none justify-center self-center text-[14px]'
1300
+ }, /*#__PURE__*/react.createElement("div", {
1301
+ className: "flex w-full items-center justify-between"
1302
+ }, /*#__PURE__*/react.createElement("div", {
1303
+ className: "flex h-full items-center justify-center"
1304
+ }, /*#__PURE__*/react.createElement(ui_next_src/* ToggleGroup */.tX, {
1305
+ type: "single",
1306
+ value: viewPresets.filter(preset => preset.selected)[0].id,
1307
+ onValueChange: value => {
1308
+ const selectedViewPreset = viewPresets.find(preset => preset.id === value);
1309
+ updateViewPresetValue(selectedViewPreset);
1310
+ }
1311
+ }, viewPresets.map((viewPreset, index) => /*#__PURE__*/react.createElement(ui_next_src/* ToggleGroupItem */.GX, {
1312
+ key: index,
1313
+ "aria-label": viewPreset.id,
1314
+ value: viewPreset.id,
1315
+ className: "text-actions-primary"
1316
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.PJ[viewPreset.iconName] || ui_next_src/* Icons */.PJ.MissingIcon))))), /*#__PURE__*/react.createElement("div", {
1317
+ className: "text-muted-foreground flex items-center justify-center"
1318
+ }, ' ', /*#__PURE__*/react.createElement("span", null, tab.label), ' '), /*#__PURE__*/react.createElement("div", {
1319
+ className: "mr-[30px] flex items-center justify-center"
1320
+ }, /*#__PURE__*/react.createElement("div", {
1321
+ className: "flex items-center space-x-1"
1322
+ }, actionIcons.map((icon, index) => /*#__PURE__*/react.createElement(ui_next_src/* Icons */.PJ[icon.iconName] || ui_next_src/* Icons */.PJ.MissingIcon, {
1323
+ key: index,
1324
+ onClick: () => updateActionIconValue(icon),
1325
+ className: `cursor-pointer`
1326
+ })))))), getCloseIcon()));
1327
+ }
1328
+
1329
+ ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/constants/actionIcons.ts
1330
+ const defaultActionIcons = [{
1331
+ id: 'settings',
1332
+ iconName: 'Settings',
1333
+ value: false
1334
+ }];
1335
+
1336
+ ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/constants/viewPresets.ts
1337
+ const defaultViewPresets = [{
1338
+ id: 'list',
1339
+ iconName: 'ListView',
1340
+ selected: false
1341
+ }, {
1342
+ id: 'thumbnails',
1343
+ iconName: 'ThumbnailView',
1344
+ selected: true
1345
+ }];
1346
+
1347
+ ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/constants/index.ts
1348
+
1349
+
1350
+
1280
1351
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
1281
1352
 
1282
1353
 
@@ -1285,6 +1356,12 @@ var ui_src = __webpack_require__(38604);
1285
1356
 
1286
1357
 
1287
1358
 
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1288
1365
  const {
1289
1366
  formatDate,
1290
1367
  createStudyBrowserTabs
@@ -1299,7 +1376,10 @@ function PanelStudyBrowserTracking({
1299
1376
  getImageSrc,
1300
1377
  getStudiesForPatientByMRN,
1301
1378
  requestDisplaySetCreationForStudy,
1302
- dataSource
1379
+ dataSource,
1380
+ renderHeader,
1381
+ getCloseIcon,
1382
+ tab
1303
1383
  }) {
1304
1384
  const {
1305
1385
  displaySetService,
@@ -1307,12 +1387,14 @@ function PanelStudyBrowserTracking({
1307
1387
  hangingProtocolService,
1308
1388
  uiNotificationService,
1309
1389
  measurementService,
1310
- studyPrefetcherService
1390
+ studyPrefetcherService,
1391
+ customizationService
1311
1392
  } = servicesManager.services;
1312
1393
  const navigate = (0,dist/* useNavigate */.s0)();
1313
1394
  const {
1314
1395
  t
1315
1396
  } = (0,es/* useTranslation */.$G)('Common');
1397
+ const [appConfig] = (0,state/* useAppConfig */.M)();
1316
1398
 
1317
1399
  // Normally you nest the components so the tree isn't so deep, and the data
1318
1400
  // doesn't have to have such an intense shape. This works well enough for now.
@@ -1334,6 +1416,23 @@ function PanelStudyBrowserTracking({
1334
1416
  const [displaySetsLoadingState, setDisplaySetsLoadingState] = (0,react.useState)({});
1335
1417
  const [thumbnailImageSrcMap, setThumbnailImageSrcMap] = (0,react.useState)({});
1336
1418
  const [jumpToDisplaySet, setJumpToDisplaySet] = (0,react.useState)(null);
1419
+ const [viewPresets, setViewPresets] = (0,react.useState)(customizationService.getCustomization('studyBrowser.viewPresets')?.value || defaultViewPresets);
1420
+ const [actionIcons, setActionIcons] = (0,react.useState)(defaultActionIcons);
1421
+ const updateActionIconValue = actionIcon => {
1422
+ actionIcon.value = !actionIcon.value;
1423
+ const newActionIcons = [...actionIcons];
1424
+ setActionIcons(newActionIcons);
1425
+ };
1426
+ const updateViewPresetValue = viewPreset => {
1427
+ if (!viewPreset) {
1428
+ return;
1429
+ }
1430
+ const newViewPresets = viewPresets.map(preset => {
1431
+ preset.selected = preset.id === viewPreset.id;
1432
+ return preset;
1433
+ });
1434
+ setViewPresets(newViewPresets);
1435
+ };
1337
1436
  const onDoubleClickThumbnailHandler = displaySetInstanceUID => {
1338
1437
  let updatedViewports = [];
1339
1438
  const viewportId = activeViewportId;
@@ -1632,7 +1731,19 @@ function PanelStudyBrowserTracking({
1632
1731
  }
1633
1732
  });
1634
1733
  };
1635
- return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.eX, {
1734
+ const StudyBrowser = appConfig.useExperimentalUI ? ui_next_src/* StudyBrowser */.eX : ui_src/* StudyBrowser */.eX;
1735
+ return /*#__PURE__*/react.createElement(react.Fragment, null, renderHeader && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(PanelStudyBrowserTrackingHeader, {
1736
+ tab: tab,
1737
+ getCloseIcon: getCloseIcon,
1738
+ viewPresets: viewPresets,
1739
+ updateViewPresetValue: updateViewPresetValue,
1740
+ actionIcons: actionIcons,
1741
+ updateActionIconValue: updateActionIconValue
1742
+ }), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.Z0, {
1743
+ orientation: "horizontal",
1744
+ className: "bg-black",
1745
+ thickness: "2px"
1746
+ })), /*#__PURE__*/react.createElement(StudyBrowser, {
1636
1747
  tabs: tabs,
1637
1748
  servicesManager: servicesManager,
1638
1749
  activeTabName: activeTabName,
@@ -1646,8 +1757,10 @@ function PanelStudyBrowserTracking({
1646
1757
  },
1647
1758
  onClickThumbnail: () => {},
1648
1759
  onDoubleClickThumbnail: onDoubleClickThumbnailHandler,
1649
- activeDisplaySetInstanceUIDs: activeViewportDisplaySetInstanceUIDs
1650
- });
1760
+ activeDisplaySetInstanceUIDs: activeViewportDisplaySetInstanceUIDs,
1761
+ showSettings: actionIcons.find(icon => icon.id === 'settings').value,
1762
+ viewPresets: viewPresets
1763
+ }));
1651
1764
  }
1652
1765
  PanelStudyBrowserTracking.propTypes = {
1653
1766
  servicesManager: (prop_types_default()).object.isRequired,
@@ -1889,7 +2002,10 @@ function _getStudyForPatientUtility(extensionManager) {
1889
2002
  function WrappedPanelStudyBrowserTracking({
1890
2003
  commandsManager,
1891
2004
  extensionManager,
1892
- servicesManager
2005
+ servicesManager,
2006
+ renderHeader,
2007
+ getCloseIcon,
2008
+ tab
1893
2009
  }) {
1894
2010
  const dataSource = extensionManager.getActiveDataSource()[0];
1895
2011
  const getStudiesForPatientByMRN = _getStudyForPatientUtility(extensionManager);
@@ -1901,7 +2017,10 @@ function WrappedPanelStudyBrowserTracking({
1901
2017
  dataSource: dataSource,
1902
2018
  getImageSrc: _getImageSrcFromImageId,
1903
2019
  getStudiesForPatientByMRN: _getStudiesForPatientByMRN,
1904
- requestDisplaySetCreationForStudy: _requestDisplaySetCreationForStudy
2020
+ requestDisplaySetCreationForStudy: _requestDisplaySetCreationForStudy,
2021
+ renderHeader: renderHeader,
2022
+ getCloseIcon: getCloseIcon,
2023
+ tab: tab
1905
2024
  });
1906
2025
  }
1907
2026
 
@@ -1933,8 +2052,6 @@ WrappedPanelStudyBrowserTracking.propTypes = {
1933
2052
  /* harmony default export */ const panels_PanelStudyBrowserTracking = (WrappedPanelStudyBrowserTracking);
1934
2053
  // EXTERNAL MODULE: ./hooks/index.js + 1 modules
1935
2054
  var hooks = __webpack_require__(75213);
1936
- // EXTERNAL MODULE: ./state/index.js + 1 modules
1937
- var state = __webpack_require__(52490);
1938
2055
  // EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
1939
2056
  var lodash_debounce = __webpack_require__(8324);
1940
2057
  var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
@@ -1948,6 +2065,7 @@ var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce
1948
2065
 
1949
2066
 
1950
2067
 
2068
+
1951
2069
  const {
1952
2070
  downloadCSVReport
1953
2071
  } = src.utils;
@@ -1965,7 +2083,10 @@ const DISPLAY_STUDY_SUMMARY_INITIAL_VALUE = {
1965
2083
  };
1966
2084
  function PanelMeasurementTableTracking({
1967
2085
  servicesManager,
1968
- extensionManager
2086
+ extensionManager,
2087
+ renderHeader,
2088
+ getCloseIcon,
2089
+ tab
1969
2090
  }) {
1970
2091
  const [viewportGrid] = (0,ui_src/* useViewportGrid */.O_)();
1971
2092
  const {
@@ -2109,7 +2230,17 @@ function PanelMeasurementTableTracking({
2109
2230
  const additionalFindings = displayMeasurements.filter(dm => dm.measurementType === measurementService.VALUE_TYPES.POINT && dm.referencedImageId);
2110
2231
  const nonAcquisitionMeasurements = displayMeasurements.filter(dm => dm.referencedImageId == null);
2111
2232
  const disabled = additionalFindings.length === 0 && displayMeasurementsWithoutFindings.length === 0 && nonAcquisitionMeasurements.length === 0;
2112
- return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
2233
+ return /*#__PURE__*/react.createElement(react.Fragment, null, renderHeader && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
2234
+ className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]"
2235
+ }, /*#__PURE__*/react.createElement("div", {
2236
+ className: "flex h-[24px] w-full cursor-pointer select-none justify-center self-center text-[14px]"
2237
+ }, /*#__PURE__*/react.createElement("div", {
2238
+ className: "text-primary-active flex grow cursor-pointer select-none justify-center self-center text-[13px]"
2239
+ }, /*#__PURE__*/react.createElement("span", null, tab.label))), getCloseIcon()), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.Z0, {
2240
+ orientation: "horizontal",
2241
+ className: "bg-black",
2242
+ thickness: "2px"
2243
+ })), /*#__PURE__*/react.createElement("div", {
2113
2244
  className: "invisible-scrollbar overflow-y-auto overflow-x-hidden",
2114
2245
  ref: measurementsPanelRef,
2115
2246
  "data-cy": 'trackedMeasurements-panel'
@@ -2227,6 +2358,8 @@ function _mapMeasurementToDisplay(measurement, types, displaySetService) {
2227
2358
  // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
2228
2359
  var i18next = __webpack_require__(73577);
2229
2360
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/getPanelModule.tsx
2361
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2362
+
2230
2363
 
2231
2364
 
2232
2365
 
@@ -2234,6 +2367,7 @@ var i18next = __webpack_require__(73577);
2234
2367
  // - No loading UI exists yet
2235
2368
  // - cancel promises when component is destroyed
2236
2369
  // - show errors in UI for thumbnails if promise fails
2370
+
2237
2371
  function getPanelModule({
2238
2372
  commandsManager,
2239
2373
  extensionManager,
@@ -2244,26 +2378,26 @@ function getPanelModule({
2244
2378
  iconName: 'tab-studies',
2245
2379
  iconLabel: 'Studies',
2246
2380
  label: i18next/* default */.Z.t('SidePanel:Studies'),
2247
- component: panels_PanelStudyBrowserTracking.bind(null, {
2248
- commandsManager,
2249
- extensionManager,
2250
- servicesManager
2251
- })
2381
+ component: props => /*#__PURE__*/react.createElement(panels_PanelStudyBrowserTracking, _extends({}, props, {
2382
+ commandsManager: commandsManager,
2383
+ extensionManager: extensionManager,
2384
+ servicesManager: servicesManager
2385
+ }))
2252
2386
  }, {
2253
2387
  name: 'trackedMeasurements',
2254
2388
  iconName: 'tab-linear',
2255
2389
  iconLabel: 'Measure',
2256
2390
  label: i18next/* default */.Z.t('SidePanel:Measurements'),
2257
- component: panels_PanelMeasurementTableTracking.bind(null, {
2258
- commandsManager,
2259
- extensionManager,
2260
- servicesManager
2261
- })
2391
+ component: props => /*#__PURE__*/react.createElement(panels_PanelMeasurementTableTracking, _extends({}, props, {
2392
+ commandsManager: commandsManager,
2393
+ extensionManager: extensionManager,
2394
+ servicesManager: servicesManager
2395
+ }))
2262
2396
  }];
2263
2397
  }
2264
2398
  /* harmony default export */ const src_getPanelModule = (getPanelModule);
2265
2399
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/getViewportModule.tsx
2266
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2400
+ function getViewportModule_extends() { return getViewportModule_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, getViewportModule_extends.apply(null, arguments); }
2267
2401
 
2268
2402
  const Component = /*#__PURE__*/react.lazy(() => {
2269
2403
  return __webpack_require__.e(/* import() */ 1498).then(__webpack_require__.bind(__webpack_require__, 11498));
@@ -2279,7 +2413,7 @@ function getViewportModule({
2279
2413
  extensionManager
2280
2414
  }) {
2281
2415
  const ExtendedOHIFCornerstoneTrackingViewport = props => {
2282
- return /*#__PURE__*/react.createElement(OHIFCornerstoneViewport, _extends({
2416
+ return /*#__PURE__*/react.createElement(OHIFCornerstoneViewport, getViewportModule_extends({
2283
2417
  servicesManager: servicesManager,
2284
2418
  commandsManager: commandsManager,
2285
2419
  extensionManager: extensionManager
@@ -17,8 +17,8 @@ var react = __webpack_require__(43001);
17
17
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
18
18
  var prop_types = __webpack_require__(3827);
19
19
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
20
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
21
- var src = __webpack_require__(38604);
20
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
21
+ var src = __webpack_require__(50395);
22
22
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
23
23
 
24
24
  const RESPONSE = {
@@ -656,8 +656,8 @@ var react = __webpack_require__(43001);
656
656
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
657
657
  var prop_types = __webpack_require__(3827);
658
658
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
659
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
660
- var ui_src = __webpack_require__(38604);
659
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
660
+ var ui_src = __webpack_require__(50395);
661
661
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
662
662
  var streaming_image_volume_loader_dist_esm = __webpack_require__(15793);
663
663
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dynamic-volume/src/panels/DynamicVolumeControls.tsx
@@ -1073,20 +1073,36 @@ PanelGenerateImage.propTypes = {
1073
1073
  }).isRequired
1074
1074
  }).isRequired
1075
1075
  };
1076
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 2440 modules
1077
+ var ui_next_src = __webpack_require__(45185);
1076
1078
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dynamic-volume/src/panels/DynamicDataPanel.tsx
1077
1079
 
1078
1080
 
1081
+
1079
1082
  function DynamicDataPanel({
1080
1083
  servicesManager,
1081
- commandsManager
1084
+ commandsManager,
1085
+ renderHeader,
1086
+ getCloseIcon,
1087
+ tab
1082
1088
  }) {
1083
- return /*#__PURE__*/react.createElement("div", {
1089
+ return /*#__PURE__*/react.createElement(react.Fragment, null, renderHeader && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
1090
+ className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]"
1091
+ }, /*#__PURE__*/react.createElement("div", {
1092
+ className: "flex h-[24px] w-full cursor-pointer select-none justify-center self-center text-[14px]"
1093
+ }, /*#__PURE__*/react.createElement("div", {
1094
+ className: "text-primary-active flex grow cursor-pointer select-none justify-center self-center text-[13px]"
1095
+ }, /*#__PURE__*/react.createElement("span", null, tab.label))), getCloseIcon()), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.Z0, {
1096
+ orientation: "horizontal",
1097
+ className: "bg-black",
1098
+ thickness: "2px"
1099
+ })), /*#__PURE__*/react.createElement("div", {
1084
1100
  className: "flex flex-col text-white",
1085
1101
  "data-cy": 'dynamic-volume-panel'
1086
1102
  }, /*#__PURE__*/react.createElement(PanelGenerateImage, {
1087
1103
  commandsManager: commandsManager,
1088
1104
  servicesManager: servicesManager
1089
- }));
1105
+ })));
1090
1106
  }
1091
1107
  /* harmony default export */ const panels_DynamicDataPanel = (DynamicDataPanel);
1092
1108
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dynamic-volume/src/panels/WorkflowPanel.tsx
@@ -1110,6 +1126,8 @@ function WorkflowPanel({
1110
1126
 
1111
1127
 
1112
1128
 
1129
+ // EXTERNAL MODULE: ./state/index.js + 1 modules
1130
+ var state = __webpack_require__(52490);
1113
1131
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
1114
1132
  var es = __webpack_require__(69190);
1115
1133
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dynamic-volume/src/panels/DynamicExport.tsx
@@ -1190,25 +1208,43 @@ function DynamicExport({
1190
1208
 
1191
1209
 
1192
1210
 
1211
+
1212
+
1193
1213
  function getPanelModule({
1194
1214
  commandsManager,
1195
1215
  extensionManager,
1196
1216
  servicesManager
1197
1217
  }) {
1198
- const wrappedDynamicDataPanel = () => {
1218
+ const wrappedDynamicDataPanel = ({
1219
+ renderHeader,
1220
+ getCloseIcon,
1221
+ tab
1222
+ }) => {
1199
1223
  return /*#__PURE__*/react.createElement(panels_DynamicDataPanel, {
1200
1224
  commandsManager: commandsManager,
1201
1225
  servicesManager: servicesManager,
1202
- extensionManager: extensionManager
1226
+ extensionManager: extensionManager,
1227
+ renderHeader: renderHeader,
1228
+ getCloseIcon: getCloseIcon,
1229
+ tab: tab
1203
1230
  });
1204
1231
  };
1205
- const wrappedDynamicToolbox = () => {
1206
- return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(ui_src/* Toolbox */.vb, {
1232
+ const wrappedDynamicToolbox = ({
1233
+ renderHeader,
1234
+ getCloseIcon,
1235
+ tab
1236
+ }) => {
1237
+ const [appConfig] = (0,state/* useAppConfig */.M)();
1238
+ const Toolbox = appConfig.useExperimentalUI ? ui_next_src/* Toolbox */.vb : ui_src/* Toolbox */.vb;
1239
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Toolbox, {
1207
1240
  commandsManager: commandsManager,
1208
1241
  servicesManager: servicesManager,
1209
1242
  extensionManager: extensionManager,
1210
1243
  buttonSectionId: "dynamic-toolbox",
1211
- title: "Threshold Tools"
1244
+ title: "Threshold Tools",
1245
+ renderHeader: renderHeader,
1246
+ getCloseIcon: getCloseIcon,
1247
+ tab: tab
1212
1248
  }));
1213
1249
  };
1214
1250
  const wrappedDynamicExport = () => {
@@ -315,10 +315,12 @@ function getHangingProtocolModule() {
315
315
 
316
316
  // EXTERNAL MODULE: ./state/index.js + 1 modules
317
317
  var state = __webpack_require__(52490);
318
- // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
319
- var ui_src = __webpack_require__(38604);
320
- // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 95 modules
321
- var default_src = __webpack_require__(10655);
318
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 2440 modules
319
+ var ui_next_src = __webpack_require__(45185);
320
+ // EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
321
+ var ui_src = __webpack_require__(50395);
322
+ // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 99 modules
323
+ var default_src = __webpack_require__(56552);
322
324
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
323
325
  var prop_types = __webpack_require__(3827);
324
326
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
@@ -496,6 +498,7 @@ var dist_es = __webpack_require__(69190);
496
498
 
497
499
 
498
500
 
501
+
499
502
  const components = {
500
503
  [SegmentationPanelMode.Expanded]: ui_src/* SegmentationGroupTableExpanded */.s_,
501
504
  [SegmentationPanelMode.Dropdown]: ui_src/* SegmentationGroupTable */.cX
@@ -504,7 +507,10 @@ function PanelSegmentation({
504
507
  servicesManager,
505
508
  commandsManager,
506
509
  extensionManager,
507
- configuration
510
+ configuration,
511
+ renderHeader,
512
+ getCloseIcon,
513
+ tab
508
514
  }) {
509
515
  const {
510
516
  segmentationService,
@@ -745,7 +751,17 @@ function PanelSegmentation({
745
751
  const SegmentationGroupTableComponent = components[configuration?.segmentationPanelMode] || ui_src/* SegmentationGroupTable */.cX;
746
752
  const allowAddSegment = configuration?.addSegment;
747
753
  const onSegmentationAddWrapper = configuration?.onSegmentationAdd && typeof configuration?.onSegmentationAdd === 'function' ? configuration?.onSegmentationAdd : onSegmentationAdd;
748
- return /*#__PURE__*/react.createElement(SegmentationGroupTableComponent, {
754
+ return /*#__PURE__*/react.createElement(react.Fragment, null, renderHeader && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
755
+ className: "bg-primary-dark flex select-none rounded-t pt-1.5 pb-[2px]"
756
+ }, /*#__PURE__*/react.createElement("div", {
757
+ className: "flex h-[24px] w-full cursor-pointer select-none justify-center self-center text-[14px]"
758
+ }, /*#__PURE__*/react.createElement("div", {
759
+ className: "text-primary-active flex grow cursor-pointer select-none justify-center self-center text-[13px]"
760
+ }, /*#__PURE__*/react.createElement("span", null, tab.label))), getCloseIcon()), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.Z0, {
761
+ orientation: "horizontal",
762
+ className: "bg-black",
763
+ thickness: "2px"
764
+ })), /*#__PURE__*/react.createElement(SegmentationGroupTableComponent, {
749
765
  title: t('Segmentations'),
750
766
  segmentations: segmentations,
751
767
  disableEditing: configuration.disableEditing,
@@ -778,7 +794,7 @@ function PanelSegmentation({
778
794
  setOutlineWidthActive: value => _setSegmentationConfiguration(selectedSegmentationId, 'outlineWidthActive', value),
779
795
  setFillAlpha: value => _setSegmentationConfiguration(selectedSegmentationId, 'fillAlpha', value),
780
796
  setFillAlphaInactive: value => _setSegmentationConfiguration(selectedSegmentationId, 'fillAlphaInactive', value)
781
- });
797
+ }));
782
798
  }
783
799
  PanelSegmentation.propTypes = {
784
800
  commandsManager: prop_types_default().shape({
@@ -801,6 +817,7 @@ PanelSegmentation.propTypes = {
801
817
 
802
818
 
803
819
 
820
+
804
821
  const getPanelModule = ({
805
822
  commandsManager,
806
823
  servicesManager,
@@ -811,7 +828,30 @@ const getPanelModule = ({
811
828
  const {
812
829
  customizationService
813
830
  } = servicesManager.services;
814
- const wrappedPanelSegmentation = configuration => {
831
+ const wrappedPanelSegmentation = ({
832
+ configuration,
833
+ renderHeader,
834
+ getCloseIcon,
835
+ tab
836
+ }) => {
837
+ const [appConfig] = (0,state/* useAppConfig */.M)();
838
+ return /*#__PURE__*/react.createElement(PanelSegmentation, {
839
+ commandsManager: commandsManager,
840
+ servicesManager: servicesManager,
841
+ extensionManager: extensionManager,
842
+ configuration: {
843
+ ...configuration,
844
+ disableEditing: appConfig.disableEditing,
845
+ ...customizationService.get('segmentation.panel')
846
+ },
847
+ renderHeader: renderHeader,
848
+ getCloseIcon: getCloseIcon,
849
+ tab: tab
850
+ });
851
+ };
852
+ const wrappedPanelSegmentationNoHeader = ({
853
+ configuration
854
+ }) => {
815
855
  const [appConfig] = (0,state/* useAppConfig */.M)();
816
856
  return /*#__PURE__*/react.createElement(PanelSegmentation, {
817
857
  commandsManager: commandsManager,
@@ -824,9 +864,15 @@ const getPanelModule = ({
824
864
  }
825
865
  });
826
866
  };
827
- const wrappedPanelSegmentationWithTools = configuration => {
867
+ const wrappedPanelSegmentationWithTools = ({
868
+ configuration,
869
+ renderHeader,
870
+ getCloseIcon,
871
+ tab
872
+ }) => {
828
873
  const [appConfig] = (0,state/* useAppConfig */.M)();
829
- return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(ui_src/* Toolbox */.vb, {
874
+ const Toolbox = appConfig.useExperimentalUI ? ui_next_src/* Toolbox */.vb : ui_src/* Toolbox */.vb;
875
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Toolbox, {
830
876
  commandsManager: commandsManager,
831
877
  servicesManager: servicesManager,
832
878
  extensionManager: extensionManager,
@@ -834,7 +880,10 @@ const getPanelModule = ({
834
880
  title: "Segmentation Tools",
835
881
  configuration: {
836
882
  ...configuration
837
- }
883
+ },
884
+ renderHeader: renderHeader,
885
+ getCloseIcon: getCloseIcon,
886
+ tab: tab
838
887
  }), /*#__PURE__*/react.createElement(PanelSegmentation, {
839
888
  commandsManager: commandsManager,
840
889
  servicesManager: servicesManager,
@@ -858,6 +907,12 @@ const getPanelModule = ({
858
907
  iconLabel: 'Segmentation',
859
908
  label: 'Segmentation',
860
909
  component: wrappedPanelSegmentationWithTools
910
+ }, {
911
+ name: 'panelSegmentationNoHeader',
912
+ iconName: 'tab-segmentation',
913
+ iconLabel: 'Segmentation',
914
+ label: 'Segmentation',
915
+ component: wrappedPanelSegmentationNoHeader
861
916
  }];
862
917
  };
863
918
  /* harmony default export */ const src_getPanelModule = (getPanelModule);
@@ -546,7 +546,7 @@ const ohif = {
546
546
  };
547
547
  const cs3d = {
548
548
  viewport: '@ohif/extension-cornerstone.viewportModule.cornerstone',
549
- segPanel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation'
549
+ segPanel: '@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentationNoHeader'
550
550
  };
551
551
  const tmtv = {
552
552
  hangingProtocol: '@ohif/extension-tmtv.hangingProtocolModule.ptCT',