@ohif/app 3.12.0-beta.100 → 3.12.0-beta.103

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 (35) hide show
  1. package/dist/{1403.bundle.d239b27c143d2d1804a6.js → 1403.bundle.b9b88d04f31485c9d759.js} +2 -2
  2. package/dist/{147.bundle.205350dc3d21478277b1.js → 147.bundle.ee7de13189cf1963aea9.js} +6 -15
  3. package/dist/{1608.bundle.f855c4bdb7f00eb66fca.js → 1608.bundle.a25c80a3971ed6361b51.js} +2 -2
  4. package/dist/{1730.bundle.22a99760b94c163f0fb7.js → 1730.bundle.895357681a4c3cb1d6f0.js} +3 -3
  5. package/dist/{1903.bundle.9ff3c3f706656667162b.js → 1903.bundle.7e1092c3485a6ff1175b.js} +110 -50
  6. package/dist/{1933.bundle.569480948b6079c2fa32.js → 1933.bundle.67266a4adde01f0a6fb0.js} +7 -3
  7. package/dist/{2018.bundle.b7ae7a5f144dbb971f24.js → 2018.bundle.99a8e123d3c0e60f2ba0.js} +47 -47
  8. package/dist/{213.bundle.cf9098fbe63d5a755829.js → 213.bundle.6349443247974d00c7fe.js} +2 -2
  9. package/dist/{2424.bundle.5bd224c13a61030eb18b.js → 2424.bundle.88e238696391622312fe.js} +2 -2
  10. package/dist/{2701.bundle.aca0d4f24a6f2094c3c3.js → 2701.bundle.e01a06411f68459ac955.js} +2 -2
  11. package/dist/{3461.bundle.89466434f00d3743c516.js → 3461.bundle.e476dab7173918a3eaeb.js} +3 -3
  12. package/dist/{4202.bundle.790706560c6edb303476.js → 4202.bundle.fa6f6adfd3d08a1cdcd7.js} +1 -1
  13. package/dist/{4775.bundle.4eb5ce7ba3586c94d2a1.js → 4775.bundle.2d9dbc95a66d5669e163.js} +22 -16
  14. package/dist/{4819.bundle.eb31c1e4d81de071f3a4.js → 4819.bundle.ad870417997d90aa4d4a.js} +4 -4
  15. package/dist/{5028.bundle.35ec943cbe3fa9393fe8.js → 5028.bundle.4ac8bb2bff5e2f632820.js} +2 -2
  16. package/dist/{5485.bundle.12b3e3738745943ba166.js → 5485.bundle.73087c299df86318f29d.js} +2 -2
  17. package/dist/{5802.bundle.28ab859d9b48a5b2c31c.js → 5802.bundle.aef18b250a1927d84108.js} +6 -12
  18. package/dist/{7639.bundle.c0b2beea06d6a185f7d0.js → 7639.bundle.dd129aac3fbe85c836ff.js} +15 -15
  19. package/dist/{8305.bundle.8d594e60bd2732be72dc.js → 8305.bundle.ec7f3a51fb76cb7691be.js} +43 -25
  20. package/dist/{8558.bundle.0fa5a7eb7f0d181f655e.js → 8558.bundle.06e713101d46fccdb5e2.js} +2 -2
  21. package/dist/{8583.bundle.e63824d304b3f4cdda34.js → 8583.bundle.9be5bf09bba240ce9a73.js} +24 -19
  22. package/dist/{9195.bundle.e6597407d8dbd3e3f8fe.js → 9195.bundle.7dbbc14eaa1892fa3063.js} +125 -66
  23. package/dist/{9845.bundle.31aec3fe7a5cdc247f4e.js → 9845.bundle.155759f5e8d8070ee16f.js} +14 -6
  24. package/dist/{9862.bundle.3ca0ad5f54db87ccf91e.js → 9862.bundle.bb6b5cab9e8eda1cc675.js} +1 -1
  25. package/dist/{9927.bundle.d1a5055b026d298658c3.js → 9927.bundle.945fc33dd18edb5532c4.js} +16 -16
  26. package/dist/{app.bundle.cd4cdfa595de54b44206.js → app.bundle.724ba77a484c4d74d787.js} +866 -128
  27. package/dist/app.bundle.css +1 -1
  28. package/dist/index.html +1 -1
  29. package/dist/sw.js +1 -1
  30. package/package.json +20 -20
  31. /package/dist/{1459.bundle.24d4976c6a0b6d35458d.js → 1459.bundle.56217e49fa0ed84cfb36.js} +0 -0
  32. /package/dist/{5457.bundle.a8f19fcecb2f824151ba.js → 5457.bundle.907e578afa5fdff7a99d.js} +0 -0
  33. /package/dist/{6027.bundle.96b99802305416998206.js → 6027.bundle.2b814a3df06ef8e09fd5.js} +0 -0
  34. /package/dist/{6163.bundle.2ed1359dc59e0d92b179.js → 6163.bundle.f35c52d3560b9c9e9094.js} +0 -0
  35. /package/dist/{85.bundle.2b8f73c3514e787d6cc6.js → 85.bundle.55b83db65800dece78a3.js} +0 -0
@@ -25,8 +25,8 @@ var useSegmentations = __webpack_require__(73421);
25
25
  var useViewportSegmentations = __webpack_require__(79063);
26
26
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
27
27
  var react = __webpack_require__(86326);
28
- // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
29
- var src = __webpack_require__(1246);
28
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3075 modules
29
+ var src = __webpack_require__(12517);
30
30
  ;// ../../../extensions/cornerstone/src/hooks/useViewportHover.ts
31
31
 
32
32
 
@@ -117,7 +117,7 @@ var useViewportRendering = __webpack_require__(47488);
117
117
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
118
118
  /* harmony export */ c: () => (/* binding */ useActiveViewportSegmentationRepresentations)
119
119
  /* harmony export */ });
120
- /* harmony import */ var _ohif_ui_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1246);
120
+ /* harmony import */ var _ohif_ui_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12517);
121
121
  /* harmony import */ var _useViewportSegmentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79063);
122
122
 
123
123
 
@@ -250,6 +250,8 @@ function useMeasurementTracking({
250
250
  /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62051);
251
251
  /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__);
252
252
  /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42356);
253
+ /* harmony import */ var _ohif_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89010);
254
+
253
255
 
254
256
 
255
257
 
@@ -268,7 +270,7 @@ function mapMeasurementToDisplay(measurement, displaySetService) {
268
270
  displayText: baseDisplayText
269
271
  } = measurement;
270
272
  const firstSite = findingSites?.[0];
271
- const label = baseLabel || finding?.text || firstSite?.text || '(empty)';
273
+ const label = baseLabel || finding?.text || firstSite?.text || _ohif_i18n__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.t('MeasurementTable:empty');
272
274
 
273
275
  // Initialize displayText with the structure used in Length.ts and CobbAngle.ts
274
276
  const displayText = {
@@ -496,8 +498,8 @@ __webpack_require__.d(__webpack_exports__, {
496
498
  var react = __webpack_require__(86326);
497
499
  // EXTERNAL MODULE: ../../core/src/index.ts + 69 modules
498
500
  var src = __webpack_require__(42356);
499
- // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
500
- var ui_next_src = __webpack_require__(1246);
501
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3075 modules
502
+ var ui_next_src = __webpack_require__(12517);
501
503
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
502
504
  var esm = __webpack_require__(15327);
503
505
  ;// ../../../extensions/cornerstone/src/components/ViewportDataOverlaySettingMenu/utils.ts
@@ -7471,8 +7473,8 @@ function _showCPURenderingModal(uiModalService, hangingProtocolService) {
7471
7473
  inheritsFrom: 'ohif.overlayItem.instanceNumber'
7472
7474
  }]
7473
7475
  });
7474
- // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
7475
- var ui_next_src = __webpack_require__(1246);
7476
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3075 modules
7477
+ var ui_next_src = __webpack_require__(12517);
7476
7478
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
7477
7479
  var es = __webpack_require__(99993);
7478
7480
  ;// ../../../extensions/cornerstone/src/components/ExportSegmentationSubMenuItem.tsx
@@ -7488,7 +7490,7 @@ const ExportSegmentationSubMenuItem = ({
7488
7490
  }) => {
7489
7491
  const {
7490
7492
  t
7491
- } = (0,es/* useTranslation */.Bd)('SegmentationTable');
7493
+ } = (0,es/* useTranslation */.Bd)('SegmentationPanel');
7492
7494
  return /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSub */.lvB, null, /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSubTrigger */.nVd, {
7493
7495
  className: "pl-1"
7494
7496
  }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Export, {
@@ -7555,7 +7557,7 @@ const CustomDropdownMenuContent = () => {
7555
7557
  } = (0,src/* useSystem */.Jg)();
7556
7558
  const {
7557
7559
  t
7558
- } = (0,es/* useTranslation */.Bd)('SegmentationTable');
7560
+ } = (0,es/* useTranslation */.Bd)('SegmentationPanel');
7559
7561
  const {
7560
7562
  onSegmentationAdd,
7561
7563
  onSegmentationRemoveFromViewport,
@@ -7677,7 +7679,7 @@ const CustomSegmentStatisticsHeader = ({
7677
7679
  } = servicesManager.services;
7678
7680
  const {
7679
7681
  t
7680
- } = (0,es/* useTranslation */.Bd)('SegmentationTable');
7682
+ } = (0,es/* useTranslation */.Bd)('SegmentationPanel');
7681
7683
  const segmentation = segmentationService.getSegmentation(segmentationId);
7682
7684
  const segment = segmentation.segments[segmentIndex];
7683
7685
  const cachedStats = segment.cachedStats;
@@ -7770,10 +7772,14 @@ const CustomSegmentStatisticsHeader = ({
7770
7772
 
7771
7773
 
7772
7774
 
7775
+
7773
7776
  function SegmentationToolConfig() {
7774
7777
  const {
7775
7778
  commandsManager
7776
7779
  } = (0,src/* useSystem */.Jg)();
7780
+ const {
7781
+ t
7782
+ } = (0,es/* useTranslation */.Bd)('SegmentationPanel');
7777
7783
 
7778
7784
  // Get initial states based on current configuration
7779
7785
  const [previewEdits, setPreviewEdits] = (0,react.useState)(false);
@@ -7813,28 +7819,28 @@ function SegmentationToolConfig() {
7813
7819
  onCheckedChange: handlePreviewEditsChange
7814
7820
  }), /*#__PURE__*/react.createElement("span", {
7815
7821
  className: "text-foreground text-base"
7816
- }, "Preview edits before creating")), /*#__PURE__*/react.createElement("div", {
7822
+ }, t('Preview edits before creating'))), /*#__PURE__*/react.createElement("div", {
7817
7823
  className: "flex items-center gap-2"
7818
7824
  }, /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
7819
7825
  checked: useCenterAsSegmentIndex,
7820
7826
  onCheckedChange: handleUseCenterAsSegmentIndexChange
7821
7827
  }), /*#__PURE__*/react.createElement("span", {
7822
7828
  className: "text-foreground text-base"
7823
- }, "Use center as segment index")), /*#__PURE__*/react.createElement("div", {
7829
+ }, t('Use center as segment index'))), /*#__PURE__*/react.createElement("div", {
7824
7830
  className: "flex items-center gap-2"
7825
7831
  }, /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
7826
7832
  checked: toggleSegmentEnabled,
7827
7833
  onCheckedChange: handleToggleSegmentEnabledChange
7828
7834
  }), /*#__PURE__*/react.createElement("span", {
7829
7835
  className: "text-foreground text-base"
7830
- }, "Hover on segment border to activate")), /*#__PURE__*/react.createElement("div", {
7836
+ }, t('Hover on segment border to activate'))), /*#__PURE__*/react.createElement("div", {
7831
7837
  className: "flex items-center gap-2"
7832
7838
  }, /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
7833
7839
  checked: segmentLabelEnabled,
7834
7840
  onCheckedChange: handleSegmentLabelEnabledChange
7835
7841
  }), /*#__PURE__*/react.createElement("span", {
7836
7842
  className: "text-foreground text-base"
7837
- }, "Show segment name on hover")));
7843
+ }, t('Show segment name on hover'))));
7838
7844
  }
7839
7845
  ;// ../../../extensions/cornerstone/src/customizations/segmentationPanelCustomization.tsx
7840
7846
 
@@ -9100,6 +9106,10 @@ function ViewportDownloadFormNew({
9100
9106
  })), /*#__PURE__*/react.createElement(ui_next_src/* ImageModal */.jiK.ImageSize, {
9101
9107
  width: dimensions.width.toString(),
9102
9108
  height: dimensions.height.toString(),
9109
+ widthLabel: t('Width'),
9110
+ heightLabel: t('Height'),
9111
+ widthPlaceholder: t('Width'),
9112
+ heightPlaceholder: t('Height'),
9103
9113
  onWidthChange: e => {
9104
9114
  onDimensionsChange({
9105
9115
  ...dimensions,
@@ -9114,9 +9124,7 @@ function ViewportDownloadFormNew({
9114
9124
  },
9115
9125
  maxWidth: MAX_TEXTURE_SIZE.toString(),
9116
9126
  maxHeight: MAX_TEXTURE_SIZE.toString()
9117
- }, t('Image size'), " ", /*#__PURE__*/react.createElement("span", {
9118
- className: "text-muted-foreground"
9119
- }, "px")), /*#__PURE__*/react.createElement(ui_next_src/* ImageModal */.jiK.SwitchOption, {
9127
+ }, t('Image size in pixels')), /*#__PURE__*/react.createElement(ui_next_src/* ImageModal */.jiK.SwitchOption, {
9120
9128
  defaultChecked: showAnnotations,
9121
9129
  checked: showAnnotations,
9122
9130
  onCheckedChange: onAnnotationsChange
@@ -9505,9 +9513,14 @@ const CornerstoneViewportDownloadForm = ({
9505
9513
  mode,
9506
9514
  bindings
9507
9515
  } = toolModeAndBindings[toolName];
9508
- toolGroup.setToolMode(toolName, mode, {
9509
- bindings
9510
- });
9516
+ try {
9517
+ toolGroup.setToolMode(toolName, mode, {
9518
+ bindings
9519
+ });
9520
+ } catch (error) {
9521
+ // Handle errors when restoring tool mode during cleanup (e.g., when tool state is undefined)
9522
+ console.debug('Error restoring tool mode during cleanup:', toolName, error);
9523
+ }
9511
9524
  });
9512
9525
  };
9513
9526
  }, []);
@@ -10317,8 +10330,8 @@ let EasingFunctionEnum = /*#__PURE__*/function (EasingFunctionEnum) {
10317
10330
  return EasingFunctionEnum;
10318
10331
  }({});
10319
10332
  const EasingFunctionMap = new Map([[EasingFunctionEnum.EASE, ease], [EasingFunctionEnum.EASE_IN, easeIn], [EasingFunctionEnum.EASE_OUT, easeOut], [EasingFunctionEnum.EASE_IN_OUT, easeInOut], [EasingFunctionEnum.LINEAR, linear]]);
10320
- // EXTERNAL MODULE: ../../i18n/src/index.js + 210 modules
10321
- var i18n_src = __webpack_require__(68523);
10333
+ // EXTERNAL MODULE: ../../i18n/src/index.js + 286 modules
10334
+ var i18n_src = __webpack_require__(89010);
10322
10335
  ;// ../../../extensions/cornerstone/src/utils/createSegmentationForViewport.ts
10323
10336
 
10324
10337
 
@@ -15391,6 +15404,7 @@ var hooks = __webpack_require__(38007);
15391
15404
 
15392
15405
 
15393
15406
 
15407
+
15394
15408
  function ViewportDataOverlayMenu({
15395
15409
  viewportId
15396
15410
  }) {
@@ -15398,6 +15412,9 @@ function ViewportDataOverlayMenu({
15398
15412
  commandsManager,
15399
15413
  servicesManager
15400
15414
  } = (0,src/* useSystem */.Jg)();
15415
+ const {
15416
+ t
15417
+ } = (0,es/* useTranslation */.Bd)();
15401
15418
  const [pendingForegrounds, setPendingForegrounds] = (0,react.useState)([]);
15402
15419
  const [pendingSegmentations, setPendingSegmentations] = (0,react.useState)([]);
15403
15420
  const {
@@ -15555,7 +15572,7 @@ function ViewportDataOverlayMenu({
15555
15572
  disabled: potentialForegroundDisplaySets.length === 0
15556
15573
  }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Plus, {
15557
15574
  className: "h-4 w-4"
15558
- }), "Foreground"), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
15575
+ }), t('Common:Foreground')), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
15559
15576
  variant: "ghost",
15560
15577
  className: "text-primary ml-2 flex items-center",
15561
15578
  disabled: potentialOverlayDisplaySets.length === 0,
@@ -15565,7 +15582,7 @@ function ViewportDataOverlayMenu({
15565
15582
  dataCY: `AddSegmentationDataOverlay-${viewportId}`
15566
15583
  }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Plus, {
15567
15584
  className: "h-4 w-4"
15568
- }), "Segmentation")), /*#__PURE__*/react.createElement("div", {
15585
+ }), t('Tools:Segmentation'))), /*#__PURE__*/react.createElement("div", {
15569
15586
  className: ""
15570
15587
  }, /*#__PURE__*/react.createElement("div", {
15571
15588
  className: "my-2 ml-1"
@@ -15618,7 +15635,7 @@ function ViewportDataOverlayMenu({
15618
15635
  }, /*#__PURE__*/react.createElement(ui_next_src/* SelectTrigger */.bqE, {
15619
15636
  className: "flex-1"
15620
15637
  }, /*#__PURE__*/react.createElement(ui_next_src/* SelectValue */.yvm, {
15621
- placeholder: "SELECT A SEGMENTATION"
15638
+ placeholder: t('Common:SELECT A SEGMENTATION')
15622
15639
  })), /*#__PURE__*/react.createElement(ui_next_src/* SelectContent */.gCo, null, potentialOverlayDisplaySets.map(item => /*#__PURE__*/react.createElement(ui_next_src/* SelectItem */.ebT, {
15623
15640
  key: item.displaySetInstanceUID,
15624
15641
  value: item.displaySetInstanceUID,
@@ -15688,7 +15705,7 @@ function ViewportDataOverlayMenu({
15688
15705
  }, /*#__PURE__*/react.createElement(ui_next_src/* SelectTrigger */.bqE, {
15689
15706
  className: "flex-1"
15690
15707
  }, /*#__PURE__*/react.createElement(ui_next_src/* SelectValue */.yvm, {
15691
- placeholder: "SELECT A FOREGROUND"
15708
+ placeholder: t('Common:SELECT A FOREGROUND')
15692
15709
  })), /*#__PURE__*/react.createElement(ui_next_src/* SelectContent */.gCo, null, potentialForegroundDisplaySets.map(item => /*#__PURE__*/react.createElement(ui_next_src/* SelectItem */.ebT, {
15693
15710
  key: item.displaySetInstanceUID,
15694
15711
  value: item.displaySetInstanceUID,
@@ -16131,7 +16148,9 @@ function Colormap({
16131
16148
  className: "p-1"
16132
16149
  }, colormaps.map((colormap, index) => /*#__PURE__*/react.createElement(ui_next_src/* AllInOneMenu */.se.Item, {
16133
16150
  key: index,
16134
- label: colormap.description,
16151
+ label: t(`Colormaps:${colormap.Name}`, {
16152
+ defaultValue: colormap.Name
16153
+ }),
16135
16154
  useIconSpace: false,
16136
16155
  onClick: () => {
16137
16156
  setCurrentColormap(colormap);
@@ -16188,9 +16207,13 @@ function Colorbar({
16188
16207
 
16189
16208
 
16190
16209
 
16210
+
16191
16211
  function WindowLevel({
16192
16212
  viewportId
16193
16213
  } = {}) {
16214
+ const {
16215
+ t
16216
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16194
16217
  const {
16195
16218
  viewportDisplaySets
16196
16219
  } = (0,useViewportRendering/* useViewportRendering */.e)(viewportId);
@@ -16242,7 +16265,7 @@ function WindowLevel({
16242
16265
  onClick: () => setShowPreview(!showPreview)
16243
16266
  }, /*#__PURE__*/react.createElement("span", {
16244
16267
  className: "flex-shrink-0"
16245
- }, "Preview in viewport"), /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
16268
+ }, t('Preview in viewport')), /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
16246
16269
  className: "ml-auto flex-shrink-0",
16247
16270
  checked: showPreview,
16248
16271
  onCheckedChange: checked => {
@@ -16261,7 +16284,7 @@ function WindowLevel({
16261
16284
  className: "p-1"
16262
16285
  }, windowLevelPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_next_src/* AllInOneMenu */.se.Item, {
16263
16286
  key: index,
16264
- label: preset.description,
16287
+ label: t(preset.description),
16265
16288
  secondaryLabel: `${preset.window} / ${preset.level}`,
16266
16289
  useIconSpace: false,
16267
16290
  onClick: () => {
@@ -16289,6 +16312,7 @@ function WindowLevel({
16289
16312
 
16290
16313
 
16291
16314
 
16315
+
16292
16316
  function VolumeRenderingPresetsContent({
16293
16317
  presets,
16294
16318
  viewportId,
@@ -16299,6 +16323,9 @@ function VolumeRenderingPresetsContent({
16299
16323
  } = (0,src/* useSystem */.Jg)();
16300
16324
  const [searchValue, setSearchValue] = (0,react.useState)('');
16301
16325
  const [selectedPreset, setSelectedPreset] = (0,react.useState)(null);
16326
+ const {
16327
+ t
16328
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16302
16329
  const handleSearchChange = (0,react.useCallback)(event => {
16303
16330
  setSearchValue(event.target.value);
16304
16331
  }, []);
@@ -16316,7 +16343,7 @@ function VolumeRenderingPresetsContent({
16316
16343
  }, /*#__PURE__*/react.createElement(ui_next_src/* PresetDialog */.MUF.PresetBody, null, /*#__PURE__*/react.createElement(ui_next_src/* PresetDialog */.MUF.PresetFilter, null, /*#__PURE__*/react.createElement(ui_next_src/* PresetDialog */.MUF.PresetSearch, {
16317
16344
  value: searchValue,
16318
16345
  onChange: handleSearchChange,
16319
- placeholder: "Search all"
16346
+ placeholder: t('Search all', 'Search all')
16320
16347
  })), /*#__PURE__*/react.createElement(ui_next_src/* PresetDialog */.MUF.PresetGrid, null, filteredPresets.map((preset, index) => /*#__PURE__*/react.createElement("div", {
16321
16348
  key: index,
16322
16349
  className: "flex cursor-pointer flex-col items-start",
@@ -16336,7 +16363,7 @@ function VolumeRenderingPresetsContent({
16336
16363
  className: "mt-4 flex-shrink-0"
16337
16364
  }, /*#__PURE__*/react.createElement(ui_next_src/* FooterAction */.esu.Right, null, /*#__PURE__*/react.createElement(ui_next_src/* FooterAction */.esu.Secondary, {
16338
16365
  onClick: hide
16339
- }, "Cancel"))));
16366
+ }, t('Common:Cancel')))));
16340
16367
  }
16341
16368
  ;// ../../../extensions/cornerstone/src/components/WindowLevelActionMenu/VolumeRenderingPresets.tsx
16342
16369
 
@@ -16345,6 +16372,7 @@ function VolumeRenderingPresetsContent({
16345
16372
 
16346
16373
 
16347
16374
 
16375
+
16348
16376
  function VolumeRenderingPresets({
16349
16377
  viewportId
16350
16378
  } = {}) {
@@ -16357,11 +16385,14 @@ function VolumeRenderingPresets({
16357
16385
  const {
16358
16386
  uiDialogService
16359
16387
  } = servicesManager.services;
16388
+ const {
16389
+ t
16390
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16360
16391
  const onClickPresets = () => {
16361
16392
  uiDialogService.show({
16362
16393
  id: 'volume-rendering-presets',
16363
16394
  content: VolumeRenderingPresetsContent,
16364
- title: 'Rendering Presets',
16395
+ title: t('Rendering Presets'),
16365
16396
  isDraggable: true,
16366
16397
  contentProps: {
16367
16398
  presets: volumeRenderingPresets,
@@ -16370,7 +16401,7 @@ function VolumeRenderingPresets({
16370
16401
  });
16371
16402
  };
16372
16403
  return /*#__PURE__*/react.createElement(ui_next_src/* AllInOneMenu */.se.Item, {
16373
- label: "Rendering Presets",
16404
+ label: t('Rendering Presets'),
16374
16405
  icon: /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.VolumeRendering, null),
16375
16406
  rightIcon: /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.ByName, {
16376
16407
  name: "action-new-dialog"
@@ -16382,6 +16413,7 @@ function VolumeRenderingPresets({
16382
16413
 
16383
16414
 
16384
16415
 
16416
+
16385
16417
  function VolumeRenderingQuality({
16386
16418
  volumeRenderingQualityRange,
16387
16419
  viewportId
@@ -16399,6 +16431,9 @@ function VolumeRenderingQuality({
16399
16431
  step
16400
16432
  } = volumeRenderingQualityRange;
16401
16433
  const [quality, setQuality] = (0,react.useState)(null);
16434
+ const {
16435
+ t
16436
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16402
16437
  const onChange = (0,react.useCallback)(value => {
16403
16438
  commandsManager.runCommand('setVolumeRenderingQulaity', {
16404
16439
  viewportId,
@@ -16437,7 +16472,7 @@ function VolumeRenderingQuality({
16437
16472
  className: "flex flex-row items-center"
16438
16473
  }, /*#__PURE__*/react.createElement(ui_next_src/* Numeric */.ewR.Label, {
16439
16474
  className: "w-16"
16440
- }, "Quality"), /*#__PURE__*/react.createElement(ui_next_src/* Numeric */.ewR.SingleRange, {
16475
+ }, t('Quality')), /*#__PURE__*/react.createElement(ui_next_src/* Numeric */.ewR.SingleRange, {
16441
16476
  sliderClassName: "mx-2 flex-grow"
16442
16477
  })))));
16443
16478
  }
@@ -16445,6 +16480,7 @@ function VolumeRenderingQuality({
16445
16480
 
16446
16481
 
16447
16482
 
16483
+
16448
16484
  function VolumeShift({
16449
16485
  viewportId
16450
16486
  }) {
@@ -16466,6 +16502,9 @@ function VolumeShift({
16466
16502
  actor
16467
16503
  } = viewport.getActors()[0];
16468
16504
  const ofun = actor.getProperty().getScalarOpacity(0);
16505
+ const {
16506
+ t
16507
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16469
16508
  (0,react.useEffect)(() => {
16470
16509
  if (isBlocking) {
16471
16510
  return;
@@ -16505,7 +16544,7 @@ function VolumeShift({
16505
16544
  className: "flex flex-row items-center"
16506
16545
  }, /*#__PURE__*/react.createElement(ui_next_src/* Numeric */.ewR.Label, {
16507
16546
  className: "w-16"
16508
- }, "Shift"), /*#__PURE__*/react.createElement(ui_next_src/* Numeric */.ewR.SingleRange, {
16547
+ }, t('Shift')), /*#__PURE__*/react.createElement(ui_next_src/* Numeric */.ewR.SingleRange, {
16509
16548
  sliderClassName: "mx-2 flex-grow"
16510
16549
  })))));
16511
16550
  }
@@ -16513,6 +16552,7 @@ function VolumeShift({
16513
16552
 
16514
16553
 
16515
16554
 
16555
+
16516
16556
  function VolumeLighting({
16517
16557
  viewportId,
16518
16558
  hasShade
@@ -16529,6 +16569,9 @@ function VolumeLighting({
16529
16569
  diffuse: null,
16530
16570
  specular: null
16531
16571
  });
16572
+ const {
16573
+ t
16574
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16532
16575
 
16533
16576
  // Single callback to handle all lighting property changes
16534
16577
  const onLightingChange = (0,react.useCallback)((property, value) => {
@@ -16561,13 +16604,13 @@ function VolumeLighting({
16561
16604
  // Configuration for our lighting properties
16562
16605
  const lightingProperties = [{
16563
16606
  key: 'ambient',
16564
- label: 'Ambient'
16607
+ label: t('Ambient')
16565
16608
  }, {
16566
16609
  key: 'diffuse',
16567
- label: 'Diffuse'
16610
+ label: t('Diffuse')
16568
16611
  }, {
16569
16612
  key: 'specular',
16570
- label: 'Specular'
16613
+ label: t('Specular')
16571
16614
  }];
16572
16615
  return /*#__PURE__*/react.createElement("div", {
16573
16616
  className: "my-1 mt-2 flex flex-col space-y-2"
@@ -16596,10 +16639,14 @@ function VolumeLighting({
16596
16639
 
16597
16640
 
16598
16641
 
16642
+
16599
16643
  function VolumeShade({
16600
16644
  viewportId,
16601
16645
  onClickShade = bool => {}
16602
16646
  }) {
16647
+ const {
16648
+ t
16649
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16603
16650
  const {
16604
16651
  servicesManager,
16605
16652
  commandsManager
@@ -16629,7 +16676,7 @@ function VolumeShade({
16629
16676
  }, [viewportId, cornerstoneViewportService]);
16630
16677
  return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("span", {
16631
16678
  className: "flex-grow"
16632
- }, "Shade"), /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
16679
+ }, t('Shade')), /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
16633
16680
  className: "ml-2 flex-shrink-0",
16634
16681
  key: key,
16635
16682
  checked: shade,
@@ -16648,6 +16695,7 @@ function VolumeShade({
16648
16695
 
16649
16696
 
16650
16697
 
16698
+
16651
16699
  function VolumeRenderingOptions({
16652
16700
  viewportId
16653
16701
  } = {}) {
@@ -16655,6 +16703,9 @@ function VolumeRenderingOptions({
16655
16703
  volumeRenderingQualityRange
16656
16704
  } = (0,useViewportRendering/* useViewportRendering */.e)(viewportId);
16657
16705
  const [hasShade, setShade] = (0,react.useState)(false);
16706
+ const {
16707
+ t
16708
+ } = (0,es/* useTranslation */.Bd)('WindowLevelActionMenu');
16658
16709
  return /*#__PURE__*/react.createElement(ui_next_src/* AllInOneMenu */.se.ItemPanel, null, /*#__PURE__*/react.createElement(VolumeRenderingQuality, {
16659
16710
  viewportId: viewportId,
16660
16711
  volumeRenderingQualityRange: volumeRenderingQualityRange
@@ -16664,7 +16715,7 @@ function VolumeRenderingOptions({
16664
16715
  className: "mt-2 flex h-8 !h-[20px] w-full flex-shrink-0 items-center justify-start px-2 text-base"
16665
16716
  }, /*#__PURE__*/react.createElement("div", {
16666
16717
  className: "text-muted-foreground text-sm"
16667
- }, "Lighting")), /*#__PURE__*/react.createElement("div", {
16718
+ }, t('Lighting'))), /*#__PURE__*/react.createElement("div", {
16668
16719
  className: "bg-background mt-1 mb-1 h-px w-full"
16669
16720
  }), /*#__PURE__*/react.createElement("div", {
16670
16721
  className: "hover:bg-accent flex h-8 w-full flex-shrink-0 items-center px-2 text-base hover:rounded"
@@ -18014,9 +18065,10 @@ function AdvancedRenderingControls({
18014
18065
 
18015
18066
 
18016
18067
 
18068
+
18017
18069
  const getDisabledState = disabledText => ({
18018
18070
  disabled: true,
18019
- disabledText: disabledText ?? 'Not available on the current viewport'
18071
+ disabledText: disabledText ?? i18n_src/* default */.A.t('Buttons:Not available on the current viewport')
18020
18072
  });
18021
18073
  function getToolbarModule({
18022
18074
  servicesManager,
@@ -18349,7 +18401,7 @@ function getToolbarModule({
18349
18401
  if (supportedModalities?.length) {
18350
18402
  const hasAnySupportedModality = displaySets.some(displaySet => supportedModalities.includes(displaySet?.Modality));
18351
18403
  if (!hasAnySupportedModality) {
18352
- return getDisabledState(disabledText || 'Tool not available for this modality');
18404
+ return getDisabledState(disabledText || i18n_src/* default */.A.t('Buttons:Tool not available for this modality'));
18353
18405
  }
18354
18406
  }
18355
18407
  }
@@ -24280,6 +24332,7 @@ function StudySummaryFromMetadata(props) {
24280
24332
 
24281
24333
 
24282
24334
 
24335
+
24283
24336
  function StudyMeasurementsActions({
24284
24337
  items,
24285
24338
  StudyInstanceUID,
@@ -24289,6 +24342,9 @@ function StudyMeasurementsActions({
24289
24342
  const {
24290
24343
  commandsManager
24291
24344
  } = (0,src/* useSystem */.Jg)();
24345
+ const {
24346
+ t
24347
+ } = (0,es/* useTranslation */.Bd)('MeasurementTable');
24292
24348
  const disabled = !items?.length;
24293
24349
  if (disabled) {
24294
24350
  return null;
@@ -24329,7 +24385,7 @@ function StudyMeasurementsActions({
24329
24385
  measurementFilter
24330
24386
  });
24331
24387
  }
24332
- }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Add, null), "Create SR"), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
24388
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Add, null), t('Create SR')), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
24333
24389
  size: "sm",
24334
24390
  variant: "ghost",
24335
24391
  className: "pl-0.5",
@@ -24343,7 +24399,7 @@ function StudyMeasurementsActions({
24343
24399
  measurementFilter
24344
24400
  });
24345
24401
  }
24346
- }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Delete, null), "Delete")));
24402
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.Delete, null), t('Delete'))));
24347
24403
  }
24348
24404
  /* harmony default export */ const components_StudyMeasurementsActions = (StudyMeasurementsActions);
24349
24405
  ;// ../../../extensions/cornerstone/src/components/StudySummaryWithActions.tsx
@@ -24566,7 +24622,7 @@ const getPanelModule = ({
24566
24622
  const wrappedPanelSegmentationWithTools = props => {
24567
24623
  const {
24568
24624
  t
24569
- } = (0,es/* useTranslation */.Bd)('SegmentationTable');
24625
+ } = (0,es/* useTranslation */.Bd)('SegmentationPanel');
24570
24626
  const tKey = `${props.segmentationRepresentationType ?? 'Segmentation'} tools`;
24571
24627
  const tValue = t(tKey);
24572
24628
  return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(default_src.Toolbox, {
@@ -24611,7 +24667,7 @@ const getPanelModule = ({
24611
24667
  name: 'panelSegmentationWithToolsLabelMap',
24612
24668
  iconName: 'tab-segmentation',
24613
24669
  iconLabel: 'Segmentation',
24614
- label: i18n_src/* default */.A.t('SegmentationTable:Labelmap'),
24670
+ label: i18n_src/* default */.A.t('SegmentationPanel:Labelmap'),
24615
24671
  component: props => wrappedPanelSegmentationWithTools({
24616
24672
  ...props,
24617
24673
  segmentationRepresentationType: esm_enums.SegmentationRepresentations.Labelmap
@@ -24620,7 +24676,7 @@ const getPanelModule = ({
24620
24676
  name: 'panelSegmentationWithToolsContour',
24621
24677
  iconName: 'tab-contours',
24622
24678
  iconLabel: 'Segmentation',
24623
- label: i18n_src/* default */.A.t('SegmentationTable:Contour'),
24679
+ label: i18n_src/* default */.A.t('SegmentationPanel:Contour'),
24624
24680
  component: props => wrappedPanelSegmentationWithTools({
24625
24681
  ...props,
24626
24682
  segmentationRepresentationType: esm_enums.SegmentationRepresentations.Contour
@@ -25124,11 +25180,15 @@ const setUpAnnotationEventHandlers = () => {
25124
25180
 
25125
25181
 
25126
25182
 
25183
+
25127
25184
  function MeasumentsMenu(props) {
25128
25185
  const {
25129
25186
  group,
25130
25187
  classNames
25131
25188
  } = props;
25189
+ const {
25190
+ t
25191
+ } = (0,es/* useTranslation */.Bd)('MeasurementTable');
25132
25192
  if (!group.items?.length) {
25133
25193
  console.log('No items to iterate', group.items);
25134
25194
  return null;
@@ -25160,7 +25220,7 @@ function MeasumentsMenu(props) {
25160
25220
  size: "icon",
25161
25221
  variant: "ghost",
25162
25222
  className: `h-6 w-6 transition-opacity ${isSelected || !isVisible ? 'opacity-100' : 'opacity-50 group-hover:opacity-100'}`,
25163
- "aria-label": isVisible ? 'Hide' : 'Show',
25223
+ "aria-label": isVisible ? t('Hide') : t('Show'),
25164
25224
  onClick: e => {
25165
25225
  e.stopPropagation();
25166
25226
  onAction(e, ['jumpToMeasurement', 'toggleVisibilityMeasurement']);
@@ -25189,7 +25249,7 @@ function MeasumentsMenu(props) {
25189
25249
  className: "text-foreground"
25190
25250
  }), /*#__PURE__*/react.createElement("span", {
25191
25251
  className: "pl-2"
25192
- }, "Delete")))));
25252
+ }, t('Delete'))))));
25193
25253
  }
25194
25254
  /* harmony default export */ const MeasurementsMenu = (MeasumentsMenu);
25195
25255
  ;// ../../../extensions/cornerstone/src/components/PanelAccordionTrigger.tsx
@@ -20,8 +20,8 @@ const id = package_namespaceObject.UU;
20
20
 
21
21
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
22
22
  var react = __webpack_require__(86326);
23
- // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
24
- var src = __webpack_require__(1246);
23
+ // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3075 modules
24
+ var src = __webpack_require__(12517);
25
25
  // EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
26
26
  var default_src = __webpack_require__(39195);
27
27
  // EXTERNAL MODULE: ../../core/src/index.ts + 69 modules
@@ -604,9 +604,12 @@ function areaOfPolygon(coordinates) {
604
604
  // (The value is halved as we are summing up triangles, not rectangles).
605
605
  return Math.abs(area / 2.0);
606
606
  }
607
+ // EXTERNAL MODULE: ../../i18n/src/index.js + 286 modules
608
+ var i18n_src = __webpack_require__(89010);
607
609
  ;// ../../../extensions/dicom-microscopy/src/utils/RoiAnnotation.js
608
610
 
609
611
 
612
+
610
613
  const RoiAnnotation_EVENTS = {
611
614
  LABEL_UPDATED: 'labelUpdated',
612
615
  GRAPHIC_UPDATED: 'graphicUpdated',
@@ -756,7 +759,8 @@ class RoiAnnotation extends core_src/* PubSubService */.Rc {
756
759
  * @returns {String} Text with geometry type and label
757
760
  */
758
761
  getDetailedLabel() {
759
- const label = this.label ? `${this.label}` : '(empty)';
762
+ const translatedEmpty = i18n_src/* default */.A?.t('MeasurementTable:empty') || '(empty)';
763
+ const label = this.label ? `${this.label}` : translatedEmpty;
760
764
  return label;
761
765
  }
762
766
  getLength() {