@ohif/app 3.10.0-beta.0 → 3.10.0-beta.10

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 (57) hide show
  1. package/dist/{1185.bundle.a6e220f00576d6926fe7.js → 1185.bundle.e63cef8446357b933672.js} +76 -11
  2. package/dist/{1266.bundle.8fd38b710e91305721e5.js → 1266.bundle.6ffa84cbf1408fcfd010.js} +25 -0
  3. package/dist/1266.css +1 -1
  4. package/dist/{1520.bundle.60fd5dd97de96c329748.js → 1520.bundle.5ebd373bdb50045c845d.js} +19 -11
  5. package/dist/1801.css +1 -1
  6. package/dist/{1927.bundle.49539e3ab5b0aad1399c.js → 1927.bundle.c55edd5a362e7d79e23d.js} +1 -1
  7. package/dist/3198.css +1 -1
  8. package/dist/{3200.bundle.45b19ea468d6208f0e7e.js → 3200.bundle.efc18fabd0ffd53057ad.js} +2 -2
  9. package/dist/3200.css +1 -1
  10. package/dist/{3677.bundle.7d9110e8c5682b56a456.js → 3677.bundle.b3ac66bea976765cde72.js} +30 -18
  11. package/dist/{3970.bundle.31942cc0c12a008e7ba0.js → 3970.bundle.dc6cd064ae2aeabe09bd.js} +13 -3
  12. package/dist/4182.css +1 -1
  13. package/dist/{4571.bundle.3b1691730b3c57bf4d35.js → 4571.bundle.142e8f6150bf81f1b7d2.js} +129 -107
  14. package/dist/5139.css +1 -1
  15. package/dist/{5247.bundle.03fa8aac71d4e597d708.js → 5247.bundle.dc1f8916871daa28d1ec.js} +2 -2
  16. package/dist/{5252.bundle.5ec502c53a9cc877ed8d.js → 5252.bundle.bc5ffde6db3fa348763e.js} +43 -19
  17. package/dist/{5717.bundle.848e13f256818475f57f.js → 5717.bundle.ef66d725a6417d6c11ca.js} +395 -94
  18. package/dist/{5823.bundle.cb588e5e33eea80cd49f.js → 5823.bundle.c4aac836954d54e38b4e.js} +2 -9
  19. package/dist/717.css +1 -1
  20. package/dist/{1436.bundle.773756cd51b69e887bac.js → 8104.bundle.e1a5126a7f7ba0e15fae.js} +357 -112
  21. package/dist/8228.css +2 -2
  22. package/dist/{8523.bundle.648334132159465cdc41.js → 8523.bundle.c0ec85de98ba380ebeb4.js} +55 -13
  23. package/dist/{8558.bundle.3b0654ad2a52ac9786dd.js → 8558.bundle.34b846e3b0f870ea33cb.js} +1 -0
  24. package/dist/{5807.bundle.dac5ce36534a71c77723.js → 967.bundle.fee0d6c1e9e244ad5bb3.js} +1134 -1128
  25. package/dist/{149.bundle.b8d177954628f4631fc0.js → 9909.bundle.3d2b059390abcf2c925b.js} +161 -34
  26. package/dist/{app.bundle.e76165bb9c66e71db096.js → app.bundle.a1b3010c5d6c12837e17.js} +7928 -7884
  27. package/dist/app.bundle.css +18 -18
  28. package/dist/{histogram-worker.bundle.f0e060cf2637a2ca94b7.js → histogram-worker.bundle.85d57affe3baefc07925.js} +1 -1
  29. package/dist/index.html +1 -1
  30. package/dist/{polySeg.bundle.b79ae514989e86301c71.js → polySeg.bundle.b69067365f2c2b916638.js} +1 -1
  31. package/dist/{suv-peak-worker.bundle.76dd4fdf82aaa2c3ad41.js → suv-peak-worker.bundle.cad6eeb6d738dc482be2.js} +3 -3
  32. package/dist/sw.js +1 -1
  33. package/package.json +19 -19
  34. /package/dist/{1374.bundle.f56c07364d8f6ed2d00e.js → 1374.bundle.833030ac08325d881c61.js} +0 -0
  35. /package/dist/{213.bundle.38caad239bcfec1d28fb.js → 213.bundle.f197401cd6547f6ff838.js} +0 -0
  36. /package/dist/{2424.bundle.c7b6d3475da1ffff744b.js → 2424.bundle.8dc654dd5b8a1ea90c90.js} +0 -0
  37. /package/dist/{2701.bundle.8c1ff2e0faaa7d2f4716.js → 2701.bundle.46f7148916e85e1cf4f4.js} +0 -0
  38. /package/dist/{2825.bundle.ba60e0011bcebdf7a413.js → 2825.bundle.96074384e8e37e0e021e.js} +0 -0
  39. /package/dist/{3121.bundle.d3e7092e305cf6cecdb5.js → 3121.bundle.67ff7e799683191bb324.js} +0 -0
  40. /package/dist/{3198.bundle.9b80ca2f1d99a7f9a4fe.js → 3198.bundle.4482082ca49ae5eea878.js} +0 -0
  41. /package/dist/{4202.bundle.5c8120ed4841da0af211.js → 4202.bundle.1311396ecdb6c0b09eb0.js} +0 -0
  42. /package/dist/{4834.bundle.4bfa1bd1d4a163de3350.js → 4834.bundle.7ee289df357aa46f131c.js} +0 -0
  43. /package/dist/{5139.bundle.b185b1df3847a2025829.js → 5139.bundle.d8f900bab68939cfd9fa.js} +0 -0
  44. /package/dist/{5261.bundle.74682659cce85f3ae592.js → 5261.bundle.54d7af66923a3bae707d.js} +0 -0
  45. /package/dist/{5687.bundle.3a558ac2eb26f5295668.js → 5687.bundle.0e0b349a72046c0e37bf.js} +0 -0
  46. /package/dist/{6939.bundle.9b79da82315a25f37d96.js → 6939.bundle.5e77a634e8784085c00e.js} +0 -0
  47. /package/dist/{7159.bundle.9f4856182f1eda29c59d.js → 7159.bundle.4ee84ebbce84383e30d4.js} +0 -0
  48. /package/dist/{717.bundle.62437bfeb54f01269abe.js → 717.bundle.06d5b435702c14013575.js} +0 -0
  49. /package/dist/{7197.bundle.db0d51e5529d88a4cd7f.js → 7197.bundle.d65cb32c7302143947d9.js} +0 -0
  50. /package/dist/{7955.bundle.699bffabae3a9915c326.js → 7955.bundle.408d0c295e30bc15ec21.js} +0 -0
  51. /package/dist/{8008.bundle.1ab47eccf7608fe14e92.js → 8008.bundle.6dd3113a5e440da583d1.js} +0 -0
  52. /package/dist/{8228.bundle.55ac03d7165248f47d4e.js → 8228.bundle.0c1f0d650adb9be44119.js} +0 -0
  53. /package/dist/{8259.bundle.4385bd89c3f7f4ced27c.js → 8259.bundle.61d6c45f3146ae624d3f.js} +0 -0
  54. /package/dist/{8295.bundle.4ecb27f9e58526f12bcb.js → 8295.bundle.14cddaccdcd3a7093398.js} +0 -0
  55. /package/dist/{9551.bundle.13a3eec1e003a46095bc.js → 9551.bundle.5fafcf2062ff29fcc7d4.js} +0 -0
  56. /package/dist/{9611.bundle.767595c93877e5166c03.js → 9611.bundle.bde27586a38e3b906f40.js} +0 -0
  57. /package/dist/{9862.bundle.7146682e56aa66130ae6.js → 9862.bundle.589cd2f5bf71e03152a1.js} +0 -0
@@ -13305,6 +13305,20 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
13305
13305
  * individual resize observers
13306
13306
  */
13307
13307
  resize(isGridResize = false) {
13308
+ // https://stackoverflow.com/a/26279685
13309
+ // This resize() call, among other things, rerenders the viewports. But when the entire viewer is
13310
+ // display: none'd, it makes the size of all hidden elements 0, including the viewport canvas and its containers.
13311
+ // Even if the viewer is later displayed again, trying to render when the size is 0 permanently "breaks" the
13312
+ // viewport, making it fully black even after the size is normal again. So just ignore resize events when hidden:
13313
+ const areViewportsHidden = Array.from(this.viewportsById.values()).every(viewportInfo => {
13314
+ const element = viewportInfo.getElement();
13315
+ return element.clientWidth === 0 && element.clientHeight === 0;
13316
+ });
13317
+ if (areViewportsHidden) {
13318
+ console.warn('Ignoring resize when viewports have size 0');
13319
+ return;
13320
+ }
13321
+
13308
13322
  // if there is a grid resize happening, it means the viewport grid
13309
13323
  // has been manipulated (e.g., panels closed, added, etc.) and we need
13310
13324
  // to resize all viewports, so we will add a timeout here to make sure
@@ -15359,6 +15373,57 @@ function PanelSegmentation({
15359
15373
  id: 'default.showAddSegment',
15360
15374
  showAddSegment: true
15361
15375
  });
15376
+ const CustomDropdownMenuContent = customizationService.getCustomComponent('PanelSegmentation.CustomDropdownMenuContent', ({
15377
+ activeSegmentation,
15378
+ onSegmentationAdd,
15379
+ onSegmentationRemoveFromViewport,
15380
+ onSegmentationEdit,
15381
+ onSegmentationDelete,
15382
+ allowExport,
15383
+ storeSegmentation,
15384
+ onSegmentationDownload,
15385
+ onSegmentationDownloadRTSS,
15386
+ t
15387
+ }) => /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuContent */.SQ, {
15388
+ align: "start"
15389
+ }, /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15390
+ onClick: () => onSegmentationAdd(activeSegmentation.id)
15391
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI.Add, {
15392
+ className: "text-foreground"
15393
+ }), /*#__PURE__*/react.createElement("span", {
15394
+ className: "pl-2"
15395
+ }, t('Create New Segmentation'))), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSeparator */.mB, null), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuLabel */.lp, null, t('Manage Current Segmentation')), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15396
+ onClick: () => onSegmentationRemoveFromViewport(activeSegmentation.id)
15397
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI.Series, {
15398
+ className: "text-foreground"
15399
+ }), /*#__PURE__*/react.createElement("span", {
15400
+ className: "pl-2"
15401
+ }, t('Remove from Viewport'))), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15402
+ onClick: () => onSegmentationEdit(activeSegmentation.id)
15403
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI.Rename, {
15404
+ className: "text-foreground"
15405
+ }), /*#__PURE__*/react.createElement("span", {
15406
+ className: "pl-2"
15407
+ }, t('Rename'))), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSub */.lv, null, /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSubTrigger */.nV, {
15408
+ disabled: !allowExport,
15409
+ className: "pl-1"
15410
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI.Export, {
15411
+ className: "text-foreground"
15412
+ }), /*#__PURE__*/react.createElement("span", {
15413
+ className: "pl-2"
15414
+ }, t('Export & Download'))), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuPortal */.dc, null, /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSubContent */.M5, null, /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15415
+ onClick: () => storeSegmentation(activeSegmentation.id)
15416
+ }, t('Export DICOM SEG')), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15417
+ onClick: () => onSegmentationDownload(activeSegmentation.id)
15418
+ }, t('Download DICOM SEG')), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15419
+ onClick: () => onSegmentationDownloadRTSS(activeSegmentation.id)
15420
+ }, t('Download DICOM RTSTRUCT'))))), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuSeparator */.mB, null), /*#__PURE__*/react.createElement(ui_next_src/* DropdownMenuItem */._2, {
15421
+ onClick: () => onSegmentationDelete(activeSegmentation.id)
15422
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI.Delete, {
15423
+ className: "text-red-600"
15424
+ }), /*#__PURE__*/react.createElement("span", {
15425
+ className: "pl-2 text-red-600"
15426
+ }, t('Delete')))));
15362
15427
  const exportOptions = segmentationsWithRepresentations.map(({
15363
15428
  segmentation
15364
15429
  }) => {
@@ -15421,7 +15486,7 @@ function PanelSegmentation({
15421
15486
  setRenderOutline: handlers.setRenderOutline,
15422
15487
  setFillAlphaInactive: handlers.setFillAlphaInactive,
15423
15488
  renderInactiveSegmentations: handlers.getRenderInactiveSegmentations()
15424
- }, children, /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Config, null), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.AddSegmentationRow, null), SegmentationTableMode === 'collapsed' ? /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Collapsed, null, /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.SelectorHeader, null), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.AddSegmentRow, null), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Segments, null)) : /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Expanded, null, /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Header, null), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Segments, null))));
15489
+ }, children, /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Config, null), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.AddSegmentationRow, null), SegmentationTableMode === 'collapsed' ? /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Collapsed, null, /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.SelectorHeader, null, /*#__PURE__*/react.createElement(CustomDropdownMenuContent, null)), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.AddSegmentRow, null), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Segments, null)) : /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Expanded, null, /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Header, null, /*#__PURE__*/react.createElement(CustomDropdownMenuContent, null)), /*#__PURE__*/react.createElement(ui_next_src/* SegmentationTable */.R4.Segments, null))));
15425
15490
  }
15426
15491
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
15427
15492
  var prop_types = __webpack_require__(97598);
@@ -16992,8 +17057,8 @@ const addUniqueIndex = (arr, key, viewports, isUpdatingSameViewport) => {
16992
17057
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
16993
17058
  /* harmony export */ I: () => (/* binding */ useLutPresentationStore)
16994
17059
  /* harmony export */ });
16995
- /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(95759);
16996
- /* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39100);
17060
+ /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78713);
17061
+ /* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21978);
16997
17062
  /* harmony import */ var _presentationUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46026);
16998
17063
 
16999
17064
 
@@ -17107,8 +17172,8 @@ const useLutPresentationStore = (0,zustand__WEBPACK_IMPORTED_MODULE_0__/* .creat
17107
17172
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17108
17173
  /* harmony export */ q: () => (/* binding */ usePositionPresentationStore)
17109
17174
  /* harmony export */ });
17110
- /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(95759);
17111
- /* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39100);
17175
+ /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78713);
17176
+ /* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21978);
17112
17177
  /* harmony import */ var _presentationUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46026);
17113
17178
 
17114
17179
 
@@ -17221,10 +17286,10 @@ __webpack_require__.d(__webpack_exports__, {
17221
17286
  v: () => (/* binding */ useSegmentationPresentationStore)
17222
17287
  });
17223
17288
 
17224
- // EXTERNAL MODULE: ../node_modules/zustand/esm/index.mjs + 1 modules
17225
- var esm = __webpack_require__(95759);
17226
- // EXTERNAL MODULE: ../node_modules/zustand/esm/middleware.mjs
17227
- var middleware = __webpack_require__(39100);
17289
+ // EXTERNAL MODULE: ../../../node_modules/zustand/esm/index.mjs + 1 modules
17290
+ var esm = __webpack_require__(78713);
17291
+ // EXTERNAL MODULE: ../../../node_modules/zustand/esm/middleware.mjs
17292
+ var middleware = __webpack_require__(21978);
17228
17293
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/stores/presentationUtils.ts
17229
17294
  var presentationUtils = __webpack_require__(46026);
17230
17295
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js
@@ -17427,8 +17492,8 @@ const useSegmentationPresentationStore = (0,esm/* create */.vt)()(DEBUG_STORE ?
17427
17492
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17428
17493
  /* harmony export */ U: () => (/* binding */ useSynchronizersStore)
17429
17494
  /* harmony export */ });
17430
- /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(95759);
17431
- /* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39100);
17495
+ /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78713);
17496
+ /* harmony import */ var zustand_middleware__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21978);
17432
17497
 
17433
17498
 
17434
17499
 
@@ -778,6 +778,31 @@ const performCustomizations = customizationService => {
778
778
  // { value: 'Toe', label: 'Toe' },
779
779
  // ],
780
780
  // },
781
+ /**
782
+ * Custom Dropdown Menu Item
783
+ */
784
+ // {
785
+ // id: 'PanelSegmentation.CustomDropdownMenuContent',
786
+ // content: ({
787
+ // activeSegmentation,
788
+ // onSegmentationAdd,
789
+ // onSegmentationRemoveFromViewport,
790
+ // onSegmentationEdit,
791
+ // onSegmentationDelete,
792
+ // allowExport,
793
+ // storeSegmentation,
794
+ // onSegmentationDownload,
795
+ // onSegmentationDownloadRTSS,
796
+ // t,
797
+ // }) => (
798
+ // <DropdownMenuContent align="start">
799
+ // <DropdownMenuItem onClick={() => onSegmentationDelete(activeSegmentation.id)}>
800
+ // <Icons.Delete className="text-red-600" />
801
+ // <span className="pl-2 text-red-600">{t('My Custom Dropdown Menu Item')}</span>
802
+ // </DropdownMenuItem>
803
+ // </DropdownMenuContent>
804
+ // ),
805
+ // },
781
806
  ]);
782
807
  };
783
808
  ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/index.ts
package/dist/1266.css CHANGED
@@ -1,4 +1,4 @@
1
1
  .dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
2
2
  .chrome-picker{background:#090c29!important}
3
3
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
4
- .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
4
+ .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
@@ -2829,12 +2829,12 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
2829
2829
  var ui_src = __webpack_require__(35647);
2830
2830
  // EXTERNAL MODULE: ./state/index.js + 1 modules
2831
2831
  var state = __webpack_require__(45981);
2832
- // EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
2833
- var dist = __webpack_require__(49348);
2832
+ // EXTERNAL MODULE: ../../../node_modules/react-router-dom/dist/index.js
2833
+ var dist = __webpack_require__(4194);
2834
2834
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
2835
2835
  var es = __webpack_require__(99993);
2836
- // EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
2837
- var react_router_dist = __webpack_require__(67435);
2836
+ // EXTERNAL MODULE: ../../../node_modules/react-router/dist/index.js
2837
+ var react_router_dist = __webpack_require__(42277);
2838
2838
  // EXTERNAL MODULE: ../../ui-next/src/index.ts + 2483 modules
2839
2839
  var ui_next_src = __webpack_require__(35570);
2840
2840
  // EXTERNAL MODULE: ../../i18n/src/index.js + 150 modules
@@ -3056,8 +3056,8 @@ function ViewerHeader({
3056
3056
  hotkeyDefinitions,
3057
3057
  hotkeyDefaults
3058
3058
  } = hotkeysManager;
3059
- const versionNumber = "3.10.0-beta.0";
3060
- const commitHash = "6d0fa11ff86a7ab3da599fd23576b77f4c25acae";
3059
+ const versionNumber = "3.10.0-beta.10";
3060
+ const commitHash = "397fd856539cd3b949a9614a9ea32d0d04a90000";
3061
3061
  const menuOptions = [{
3062
3062
  title: t('Header:About'),
3063
3063
  icon: 'info',
@@ -6059,10 +6059,10 @@ function _sortTagList(tagList) {
6059
6059
  });
6060
6060
  }
6061
6061
  /* harmony default export */ const DicomTagBrowser_DicomTagBrowser = (DicomTagBrowser);
6062
- // EXTERNAL MODULE: ../node_modules/zustand/esm/index.mjs + 1 modules
6063
- var zustand_esm = __webpack_require__(95759);
6064
- // EXTERNAL MODULE: ../node_modules/zustand/esm/middleware.mjs
6065
- var middleware = __webpack_require__(39100);
6062
+ // EXTERNAL MODULE: ../../../node_modules/zustand/esm/index.mjs + 1 modules
6063
+ var zustand_esm = __webpack_require__(78713);
6064
+ // EXTERNAL MODULE: ../../../node_modules/zustand/esm/middleware.mjs
6065
+ var middleware = __webpack_require__(21978);
6066
6066
  ;// CONCATENATED MODULE: ../../../extensions/default/src/stores/useViewportGridStore.ts
6067
6067
 
6068
6068
 
@@ -6602,6 +6602,14 @@ const commandsModule = ({
6602
6602
  * @param options.stageId - the stageId to apply
6603
6603
  * @param options.stageIndex - the index of the stage to go to.
6604
6604
  * @param options.reset - flag to indicate if the HP should be reset to its original and not restored to a previous state
6605
+ *
6606
+ * commandsManager.run('setHangingProtocol', {
6607
+ * activeStudyUID: '1.2.3',
6608
+ * protocolId: 'myProtocol',
6609
+ * stageId: 'myStage',
6610
+ * stageIndex: 0,
6611
+ * reset: false,
6612
+ * });
6605
6613
  */
6606
6614
  setHangingProtocol: ({
6607
6615
  activeStudyUID = '',
@@ -9628,7 +9636,7 @@ const defaultExtension = {
9628
9636
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9629
9637
  /* harmony export */ Y: () => (/* binding */ useToggleOneUpViewportGridStore)
9630
9638
  /* harmony export */ });
9631
- /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(95759);
9639
+ /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78713);
9632
9640
 
9633
9641
  const PRESENTATION_TYPE_ID = 'toggleOneUpViewportGridId';
9634
9642
  // Stores the entire ViewportGridService getState when toggling to one up
package/dist/1801.css CHANGED
@@ -1,4 +1,4 @@
1
1
  .dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
2
2
  .chrome-picker{background:#090c29!important}
3
3
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
4
- .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
4
+ .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
@@ -172,7 +172,7 @@
172
172
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
173
173
  /******/ __webpack_require__.u = (chunkId) => {
174
174
  /******/ // return url for filenames based on template
175
- /******/ return "" + chunkId + ".bundle." + {"732":"532947c280e1a8f6e020","4571":"3b1691730b3c57bf4d35","8094":"411698eaf81975a7f12d"}[chunkId] + ".js";
175
+ /******/ return "" + chunkId + ".bundle." + {"732":"532947c280e1a8f6e020","4571":"142e8f6150bf81f1b7d2","8094":"411698eaf81975a7f12d"}[chunkId] + ".js";
176
176
  /******/ };
177
177
  /******/ })();
178
178
  /******/
package/dist/3198.css CHANGED
@@ -1,4 +1,4 @@
1
1
  .dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
2
2
  .chrome-picker{background:#090c29!important}
3
3
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
4
- .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
4
+ .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
@@ -1149,8 +1149,8 @@ var react = __webpack_require__(86326);
1149
1149
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
1150
1150
  var prop_types = __webpack_require__(97598);
1151
1151
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
1152
- // EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
1153
- var dist = __webpack_require__(49348);
1152
+ // EXTERNAL MODULE: ../../../node_modules/react-router-dom/dist/index.js
1153
+ var dist = __webpack_require__(4194);
1154
1154
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
1155
1155
  var es = __webpack_require__(99993);
1156
1156
  // EXTERNAL MODULE: ../../core/src/index.ts + 71 modules
package/dist/3200.css CHANGED
@@ -1,4 +1,4 @@
1
1
  .dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
2
2
  .chrome-picker{background:#090c29!important}
3
3
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
4
- .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
4
+ .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
@@ -8450,7 +8450,24 @@ function closeEndPoint(endpoint) {
8450
8450
  endpoint.close();
8451
8451
  }
8452
8452
  function wrap(ep, target) {
8453
- return createProxy(ep, [], target);
8453
+ const pendingListeners = new Map();
8454
+ ep.addEventListener("message", function handleMessage(ev) {
8455
+ const { data } = ev;
8456
+ if (!data || !data.id) {
8457
+ return;
8458
+ }
8459
+ const resolver = pendingListeners.get(data.id);
8460
+ if (!resolver) {
8461
+ return;
8462
+ }
8463
+ try {
8464
+ resolver(data);
8465
+ }
8466
+ finally {
8467
+ pendingListeners.delete(data.id);
8468
+ }
8469
+ });
8470
+ return createProxy(ep, pendingListeners, [], target);
8454
8471
  }
8455
8472
  function throwIfProxyReleased(isReleased) {
8456
8473
  if (isReleased) {
@@ -8458,7 +8475,7 @@ function throwIfProxyReleased(isReleased) {
8458
8475
  }
8459
8476
  }
8460
8477
  function releaseEndpoint(ep) {
8461
- return requestResponseMessage(ep, {
8478
+ return requestResponseMessage(ep, new Map(), {
8462
8479
  type: "RELEASE" /* MessageType.RELEASE */,
8463
8480
  }).then(() => {
8464
8481
  closeEndPoint(ep);
@@ -8485,7 +8502,7 @@ function unregisterProxy(proxy) {
8485
8502
  proxyFinalizers.unregister(proxy);
8486
8503
  }
8487
8504
  }
8488
- function createProxy(ep, path = [], target = function () { }) {
8505
+ function createProxy(ep, pendingListeners, path = [], target = function () { }) {
8489
8506
  let isProxyReleased = false;
8490
8507
  const proxy = new Proxy(target, {
8491
8508
  get(_target, prop) {
@@ -8494,6 +8511,7 @@ function createProxy(ep, path = [], target = function () { }) {
8494
8511
  return () => {
8495
8512
  unregisterProxy(proxy);
8496
8513
  releaseEndpoint(ep);
8514
+ pendingListeners.clear();
8497
8515
  isProxyReleased = true;
8498
8516
  };
8499
8517
  }
@@ -8501,20 +8519,20 @@ function createProxy(ep, path = [], target = function () { }) {
8501
8519
  if (path.length === 0) {
8502
8520
  return { then: () => proxy };
8503
8521
  }
8504
- const r = requestResponseMessage(ep, {
8522
+ const r = requestResponseMessage(ep, pendingListeners, {
8505
8523
  type: "GET" /* MessageType.GET */,
8506
8524
  path: path.map((p) => p.toString()),
8507
8525
  }).then(fromWireValue);
8508
8526
  return r.then.bind(r);
8509
8527
  }
8510
- return createProxy(ep, [...path, prop]);
8528
+ return createProxy(ep, pendingListeners, [...path, prop]);
8511
8529
  },
8512
8530
  set(_target, prop, rawValue) {
8513
8531
  throwIfProxyReleased(isProxyReleased);
8514
8532
  // FIXME: ES6 Proxy Handler `set` methods are supposed to return a
8515
8533
  // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯
8516
8534
  const [value, transferables] = toWireValue(rawValue);
8517
- return requestResponseMessage(ep, {
8535
+ return requestResponseMessage(ep, pendingListeners, {
8518
8536
  type: "SET" /* MessageType.SET */,
8519
8537
  path: [...path, prop].map((p) => p.toString()),
8520
8538
  value,
@@ -8524,16 +8542,16 @@ function createProxy(ep, path = [], target = function () { }) {
8524
8542
  throwIfProxyReleased(isProxyReleased);
8525
8543
  const last = path[path.length - 1];
8526
8544
  if (last === createEndpoint) {
8527
- return requestResponseMessage(ep, {
8545
+ return requestResponseMessage(ep, pendingListeners, {
8528
8546
  type: "ENDPOINT" /* MessageType.ENDPOINT */,
8529
8547
  }).then(fromWireValue);
8530
8548
  }
8531
8549
  // We just pretend that `bind()` didn’t happen.
8532
8550
  if (last === "bind") {
8533
- return createProxy(ep, path.slice(0, -1));
8551
+ return createProxy(ep, pendingListeners, path.slice(0, -1));
8534
8552
  }
8535
8553
  const [argumentList, transferables] = processArguments(rawArgumentList);
8536
- return requestResponseMessage(ep, {
8554
+ return requestResponseMessage(ep, pendingListeners, {
8537
8555
  type: "APPLY" /* MessageType.APPLY */,
8538
8556
  path: path.map((p) => p.toString()),
8539
8557
  argumentList,
@@ -8542,7 +8560,7 @@ function createProxy(ep, path = [], target = function () { }) {
8542
8560
  construct(_target, rawArgumentList) {
8543
8561
  throwIfProxyReleased(isProxyReleased);
8544
8562
  const [argumentList, transferables] = processArguments(rawArgumentList);
8545
- return requestResponseMessage(ep, {
8563
+ return requestResponseMessage(ep, pendingListeners, {
8546
8564
  type: "CONSTRUCT" /* MessageType.CONSTRUCT */,
8547
8565
  path: path.map((p) => p.toString()),
8548
8566
  argumentList,
@@ -8604,16 +8622,10 @@ function fromWireValue(value) {
8604
8622
  return value.value;
8605
8623
  }
8606
8624
  }
8607
- function requestResponseMessage(ep, msg, transfers) {
8625
+ function requestResponseMessage(ep, pendingListeners, msg, transfers) {
8608
8626
  return new Promise((resolve) => {
8609
8627
  const id = generateUUID();
8610
- ep.addEventListener("message", function l(ev) {
8611
- if (!ev.data || !ev.data.id || ev.data.id !== id) {
8612
- return;
8613
- }
8614
- ep.removeEventListener("message", l);
8615
- resolve(ev.data);
8616
- });
8628
+ pendingListeners.set(id, resolve);
8617
8629
  if (ep.start) {
8618
8630
  ep.start();
8619
8631
  }
@@ -6247,9 +6247,19 @@ module.exports = iota
6247
6247
  * @license MIT
6248
6248
  */
6249
6249
 
6250
- module.exports = function isBuffer (obj) {
6251
- return obj != null && obj.constructor != null &&
6252
- typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
6250
+ // The _isBuffer check is for Safari 5-7 support, because it's missing
6251
+ // Object.prototype.constructor. Remove this eventually
6252
+ module.exports = function (obj) {
6253
+ return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
6254
+ }
6255
+
6256
+ function isBuffer (obj) {
6257
+ return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
6258
+ }
6259
+
6260
+ // For Node v0.10 support. Remove this eventually.
6261
+ function isSlowBuffer (obj) {
6262
+ return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
6253
6263
  }
6254
6264
 
6255
6265
 
package/dist/4182.css CHANGED
@@ -1,4 +1,4 @@
1
1
  .dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
2
2
  .chrome-picker{background:#090c29!important}
3
3
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
4
- .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,transparent 0,transparent);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
4
+ .dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}