@ohif/app 3.9.0-beta.45 → 3.9.0-beta.47

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 (89) hide show
  1. package/dist/031089e563a18ada8441.wasm +0 -0
  2. package/dist/{445.bundle.38c6d2af64e41cd7c614.js → 10.bundle.c626810bd199ab63f3a2.js} +3 -3
  3. package/dist/{501.bundle.2f703ca4598a3be0d748.js → 129.bundle.3102eccbd5c78524c3dd.js} +6036 -11592
  4. package/dist/{140.bundle.fcf29be726bb9dcea834.js → 153.bundle.d3732d0fdebb39e139b4.js} +7 -4
  5. package/dist/{139.bundle.09e5af0a9ae8a285af77.js → 169.bundle.eeb9614e7b06f896c70f.js} +65 -535
  6. package/dist/{139.css → 169.css} +0 -1
  7. package/dist/{164.bundle.2b23bfbcb23497d7c87a.js → 196.bundle.cf8c2311aafb5312bbf7.js} +15562 -8539
  8. package/dist/{342.bundle.fcb2038060a062129d34.js → 202.bundle.bb0e8196739bb896dc9e.js} +238 -276
  9. package/dist/{129.bundle.894f29369d609094208b.js → 210.bundle.d6d6cbd1b65e4f506ed1.js} +46 -46
  10. package/dist/{363.bundle.c7e38cf0c1fc7d19a701.js → 217.bundle.042317b439df47cd38b1.js} +2099 -195
  11. package/dist/{363.css → 217.css} +1 -0
  12. package/dist/{14.bundle.60eed1138c62b91572a7.js → 246.bundle.288317813cd5781e64f7.js} +11 -11
  13. package/dist/250.bundle.4743b359797751102600.js +663 -0
  14. package/dist/{944.bundle.baa0880e0bbde13fccc5.js → 281.bundle.5946cbee5150dec1532f.js} +241 -254
  15. package/dist/{727.bundle.7b7f3962207601643615.js → 286.bundle.985c5ebbb2158c7e59ab.js} +4 -4
  16. package/dist/29.bundle.976319462f33868497c2.js +12347 -0
  17. package/dist/{675.bundle.c9720f40fd7c7e9b7e54.js → 315.bundle.92d7aefc4dc9cfd951bd.js} +18 -18
  18. package/dist/{218.bundle.a1709956bc65c4f54874.js → 353.bundle.58b3ea80771ebaca956b.js} +8 -8
  19. package/dist/{799.bundle.33fc63add3b915d0c2b2.js → 360.bundle.81592d66456d25930928.js} +62 -62
  20. package/dist/{555.bundle.768f1594e1d40b707342.js → 372.bundle.5e3dc2539055ca5861e6.js} +50 -50
  21. package/dist/{211.bundle.194272cd32bedb302303.js → 376.bundle.45b94427174400b86d5d.js} +8 -8
  22. package/dist/{612.bundle.297a033523539e0b47f9.js → 412.bundle.836f106f6e2896dc42a5.js} +4 -4
  23. package/dist/{931.bundle.058f8de4606f27b31f4f.js → 417.bundle.abf8bcee0f246002acb9.js} +25 -25
  24. package/dist/{370.bundle.bd9884c274c26a54dfae.js → 428.bundle.744fc5865b2d747de88a.js} +829 -1511
  25. package/dist/{483.bundle.0f1848f6a2cf34829fef.js → 497.bundle.ee102d6243f984113f08.js} +141 -141
  26. package/dist/{323.bundle.955cc8f5eb5c01295118.js → 498.bundle.bb47c493dd02451f77ef.js} +17 -17
  27. package/dist/{552.bundle.0d11c419f675cb5a63b1.js → 502.bundle.857675fc2cbb2fbe3e47.js} +8 -9
  28. package/dist/{835.bundle.5d1951da8bbc6afdf3e0.js → 530.bundle.87f8b13ff55bf7b2a6d1.js} +28 -28
  29. package/dist/{121.bundle.57fe5a392b0910f33c2d.js → 552.bundle.95c0f28b051797242104.js} +733 -62
  30. package/dist/{265.bundle.61b0e1ce9d444704a976.js → 571.bundle.a80609c9815339516d77.js} +24 -24
  31. package/dist/{853.bundle.26b774ab3259f3e6087c.js → 591.bundle.1dca7dfd3e0490ea6dc1.js} +15 -14
  32. package/dist/604.bundle.83f50929b208c60e48da.js +1950 -0
  33. package/dist/610.min.worker.js +1 -1
  34. package/dist/610.min.worker.js.map +1 -1
  35. package/dist/{792.bundle.485ad2f98823a4b3feb1.js → 658.bundle.219ed199728759098008.js} +17 -17
  36. package/dist/{989.bundle.4be1e8f36734961852a8.js → 791.bundle.be08fa50f9a84244253b.js} +11 -11
  37. package/dist/{722.bundle.1242e0348afc63ca4f5e.js → 793.bundle.c92f52ddff0e3bf506e6.js} +13 -13
  38. package/dist/{914.bundle.e15be8089bf422ed7b51.js → 818.bundle.cda4e369fdee5459a544.js} +1239 -627
  39. package/dist/{726.bundle.90d63d40a19b058034ee.js → 831.bundle.9e1a3495947e5bb49756.js} +512 -512
  40. package/dist/{382.bundle.7cdad0f12b64f248dd28.js → 842.bundle.0664bcdeb7f153ab52bb.js} +11 -11
  41. package/dist/{806.bundle.1ec5fda0b16e053350d7.js → 888.bundle.2d02f805cedcf5d2ee7d.js} +14 -14
  42. package/dist/{702.bundle.963481fbf871984b646f.js → 909.bundle.1fbb8bb4c41d0bb2994d.js} +119 -381
  43. package/dist/{109.bundle.b4fee2a22b622839baf5.js → 931.bundle.f6fa2a436ace89ebf60f.js} +5036 -4642
  44. package/dist/{141.bundle.556b4c1e4cab770417ac.js → 937.bundle.cc709c922731f9496810.js} +86 -478
  45. package/dist/{444.bundle.75f58f53dab4d04db97d.js → 944.bundle.194f4f4e4e55ec466b78.js} +9 -10
  46. package/dist/945.min.worker.js +1 -1
  47. package/dist/945.min.worker.js.map +1 -1
  48. package/dist/{194.bundle.e6fb48f13f312eded76b.js → 962.bundle.225fcd92e6a5af66b6a2.js} +33 -37
  49. package/dist/{920.bundle.f75637a18563de8c8235.js → 978.bundle.4edc8c4615d7e3b4717a.js} +6 -6
  50. package/dist/{236.bundle.34db90a140e37d34fd71.js → 993.bundle.aa31ebda5a5f62c44de5.js} +2363 -2351
  51. package/dist/{717.bundle.3b84fbd289af82208a19.js → 994.bundle.269ce05b16fd6aa28006.js} +90 -164
  52. package/dist/app-config.js +58 -4
  53. package/dist/app.bundle.css +3 -3
  54. package/dist/{app.bundle.e2d3b6781252f9c7b2a3.js → app.bundle.ecc3736aff52e6abfd49.js} +52547 -36094
  55. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  56. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  57. package/dist/dicom-microscopy-viewer/5004fdc02f329ce53b69.wasm +0 -0
  58. package/dist/dicom-microscopy-viewer/c22b37c3488e1d6c3aa4.wasm +0 -0
  59. package/dist/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js +3 -0
  60. package/dist/{dicomMicroscopyViewer.min.js.LICENSE.txt → dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.LICENSE.txt} +11 -0
  61. package/dist/dicom-microscopy-viewer/index.worker.min.worker.js +2 -0
  62. package/dist/dicom-microscopy-viewer/index.worker.min.worker.js.map +1 -0
  63. package/dist/{histogram-worker.bundle.6b31e5ed4c4a7a6998f2.js → histogram-worker.bundle.e7e9fea2c3236b0e747a.js} +12 -16
  64. package/dist/index.html +1 -1
  65. package/dist/index.worker.5a5a581362c14598c3d9.worker.js +2 -0
  66. package/dist/index.worker.5a5a581362c14598c3d9.worker.js.map +1 -0
  67. package/dist/{polySeg.bundle.df492df5042827938ba4.js → polySeg.bundle.b25c61224998018d0f79.js} +24 -5
  68. package/dist/{suv-peak-worker.bundle.8f4b505fad3d371489fe.js → suv-peak-worker.bundle.eb11e71db02e52601ecf.js} +40 -21
  69. package/dist/sw.js +1 -1
  70. package/package.json +25 -33
  71. package/dist/117.bundle.1f7b56504d506e7259e3.js +0 -6552
  72. package/dist/172.bundle.e0ee762bee7496d6491e.js +0 -662
  73. package/dist/36785fbd89b0e17f6099.wasm +0 -0
  74. package/dist/62ab5d58a2bea7b5a1dc.wasm +0 -0
  75. package/dist/644.bundle.1e77691d2eeb96a423b0.js +0 -19159
  76. package/dist/75a0c2dfe07b824c7d21.wasm +0 -0
  77. package/dist/dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js +0 -13
  78. package/dist/dicomMicroscopyViewer.min.js +0 -3
  79. package/dist/index.worker.f4bda803c15bc6359d5f.worker.js +0 -2
  80. package/dist/index.worker.f4bda803c15bc6359d5f.worker.js.map +0 -1
  81. package/dist/index.worker.min.worker.js +0 -2
  82. package/dist/index.worker.min.worker.js.map +0 -1
  83. /package/dist/{129.css → 210.css} +0 -0
  84. /package/dist/{727.css → 286.css} +0 -0
  85. /package/dist/{172.css → 552.css} +0 -0
  86. /package/dist/{404.css → 757.css} +0 -0
  87. /package/dist/{717.css → 994.css} +0 -0
  88. /package/dist/{65916ef3def695744bda.wasm → dicom-microscopy-viewer/65916ef3def695744bda.wasm} +0 -0
  89. /package/dist/{b6b803111e2d06a825bd.wasm → dicom-microscopy-viewer/b6b803111e2d06a825bd.wasm} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[944],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[281],{
3
3
 
4
- /***/ 16944:
4
+ /***/ 32281:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -31,11 +31,11 @@ __webpack_require__.d(utils_namespaceObject, {
31
31
  });
32
32
 
33
33
  // EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
34
- var dicomweb_client_es = __webpack_require__(36922);
34
+ var dicomweb_client_es = __webpack_require__(97604);
35
35
  // EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
36
- var src = __webpack_require__(75186);
36
+ var src = __webpack_require__(63810);
37
37
  // EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
38
- var sortStudy = __webpack_require__(75773);
38
+ var sortStudy = __webpack_require__(9415);
39
39
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
40
40
  /**
41
41
  * QIDO - Query based on ID for DICOM Objects
@@ -126,7 +126,7 @@ function processSeriesResults(qidoSeries) {
126
126
  description: getString(qidoSeries['0008103E'])
127
127
  }));
128
128
  }
129
- (0,sortStudy/* sortStudySeries */.LM)(series);
129
+ (0,sortStudy/* sortStudySeries */.IO)(series);
130
130
  return series;
131
131
  }
132
132
 
@@ -379,7 +379,7 @@ function getImageId({
379
379
  }
380
380
  }
381
381
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
382
- var dcmjs_es = __webpack_require__(31426);
382
+ var dcmjs_es = __webpack_require__(67540);
383
383
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoader.js
384
384
  /**
385
385
  * Class to define inheritance of load retrieve strategy.
@@ -631,9 +631,9 @@ class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader {
631
631
  const sortFunction = this.sortFunction;
632
632
  const {
633
633
  naturalizeDataset
634
- } = dcmjs_es/* default.data */.Ay.data.DicomMetaDictionary;
634
+ } = dcmjs_es["default"].data.DicomMetaDictionary;
635
635
  const naturalized = result.map(naturalizeDataset);
636
- return (0,sortStudy/* sortStudySeries */.LM)(naturalized, sortCriteria, sortFunction);
636
+ return (0,sortStudy/* sortStudySeries */.IO)(naturalized, sortCriteria, sortFunction);
637
637
  }
638
638
  async load(preLoadData) {
639
639
  const {
@@ -906,7 +906,7 @@ function uint8ArrayToString(data, offset, length) {
906
906
 
907
907
  const {
908
908
  DICOMwebClient
909
- } = dicomweb_client_es/* api */.FH;
909
+ } = dicomweb_client_es.api;
910
910
  const anyDicomwebClient = DICOMwebClient;
911
911
 
912
912
  // Ugly over-ride, but the internals aren't otherwise accessible.
@@ -929,7 +929,7 @@ if (!anyDicomwebClient._orig_buildMultipartAcceptHeaderFieldValue) {
929
929
  * by manually implementing a query option.
930
930
  */
931
931
 
932
- class StaticWadoClient extends dicomweb_client_es/* api */.FH.DICOMwebClient {
932
+ class StaticWadoClient extends dicomweb_client_es.api.DICOMwebClient {
933
933
  constructor(config) {
934
934
  super(config);
935
935
  this.config = void 0;
@@ -1159,6 +1159,7 @@ const getBulkdataValue = (config, params) => {
1159
1159
  } = params;
1160
1160
  const value = instance[tag];
1161
1161
  const {
1162
+ StudyInstanceUID,
1162
1163
  SeriesInstanceUID,
1163
1164
  SOPInstanceUID
1164
1165
  } = instance;
@@ -1166,6 +1167,12 @@ const getBulkdataValue = (config, params) => {
1166
1167
  const hasQuery = BulkDataURI.indexOf('?') !== -1;
1167
1168
  const hasAccept = BulkDataURI.indexOf('accept=') !== -1;
1168
1169
  const acceptUri = BulkDataURI + (hasAccept ? '' : (hasQuery ? '&' : '?') + `accept=${defaultType}`);
1170
+ if (acceptUri.startsWith('series/')) {
1171
+ const {
1172
+ wadoRoot
1173
+ } = config;
1174
+ return `${wadoRoot}/studies/${StudyInstanceUID}/${acceptUri}`;
1175
+ }
1169
1176
 
1170
1177
  // The DICOMweb standard states that the default is multipart related, and then
1171
1178
  // separately states that the accept parameter is the URL parameter equivalent of the accept header.
@@ -1201,12 +1208,17 @@ const createRenderedRetrieve = (config, params) => {
1201
1208
  SeriesInstanceUID,
1202
1209
  SOPInstanceUID
1203
1210
  } = instance;
1211
+ const value = instance[tag];
1212
+ if (value?.BulkDataURI?.indexOf('?') !== -1) {
1213
+ // The value instance has parameters, so it should not revert to the rendered
1214
+ return;
1215
+ }
1204
1216
  if (tag === 'PixelData' || tag === 'EncapsulatedDocument') {
1205
1217
  return `${wadoRoot}/studies/${StudyInstanceUID}/series/${SeriesInstanceUID}/instances/${SOPInstanceUID}/rendered`;
1206
1218
  }
1207
1219
  };
1208
1220
  /* harmony default export */ const utils_createRenderedRetrieve = (createRenderedRetrieve);
1209
- ;// CONCATENATED MODULE: ../../../extensions/default/src/utils/getDirectURL.js
1221
+ ;// CONCATENATED MODULE: ../../../extensions/default/src/utils/getDirectURL.ts
1210
1222
 
1211
1223
 
1212
1224
 
@@ -1292,11 +1304,19 @@ function fixBulkDataURI(value, instance, dicomWebConfig) {
1292
1304
  // in case of the relative path, make it absolute. The current DICOM standard says
1293
1305
  // the bulkdataURI is relative to the series. However, there are situations where
1294
1306
  // it can be relative to the study too
1295
- if (!value.BulkDataURI.startsWith('http') && !value.BulkDataURI.startsWith('/')) {
1296
- if (dicomWebConfig.bulkDataURI?.relativeResolution === 'studies') {
1297
- value.BulkDataURI = `${dicomWebConfig.wadoRoot}/studies/${instance.StudyInstanceUID}/${value.BulkDataURI}`;
1298
- } else if (dicomWebConfig.bulkDataURI?.relativeResolution === 'series' || !dicomWebConfig.bulkDataURI?.relativeResolution) {
1299
- value.BulkDataURI = `${dicomWebConfig.wadoRoot}/studies/${instance.StudyInstanceUID}/series/${instance.SeriesInstanceUID}/${value.BulkDataURI}`;
1307
+ const {
1308
+ BulkDataURI
1309
+ } = value;
1310
+ if (!BulkDataURI.startsWith('http') && !value.BulkDataURI.startsWith('/')) {
1311
+ const {
1312
+ StudyInstanceUID,
1313
+ SeriesInstanceUID
1314
+ } = instance;
1315
+ const isInstanceStart = BulkDataURI.startsWith('instances/') || BulkDataURI.startsWith('../');
1316
+ if (BulkDataURI.startsWith('series/') || BulkDataURI.startsWith('bulkdata/') || dicomWebConfig.bulkDataURI?.relativeResolution === 'studies' && isInstanceStart) {
1317
+ value.BulkDataURI = `${dicomWebConfig.wadoRoot}/studies/${StudyInstanceUID}/${BulkDataURI}`;
1318
+ } else if (isInstanceStart || dicomWebConfig.bulkDataURI?.relativeResolution === 'series' || !dicomWebConfig.bulkDataURI?.relativeResolution) {
1319
+ value.BulkDataURI = `${dicomWebConfig.wadoRoot}/studies/${StudyInstanceUID}/series/${SeriesInstanceUID}/${BulkDataURI}`;
1300
1320
  }
1301
1321
  return;
1302
1322
  }
@@ -1307,11 +1327,11 @@ function fixBulkDataURI(value, instance, dicomWebConfig) {
1307
1327
  // uri (e.g., bulkData: /bulk/1e, wado root: http://myserver.com/dicomweb, output: http://myserver.com/bulk/1e)
1308
1328
  // and in case of relative wado root, we need to prepend the bulkdata uri to the wado root (e.g,. bulkData: /bulk/1e
1309
1329
  // wado root: /dicomweb, output: /bulk/1e)
1310
- if (value.BulkDataURI[0] === '/') {
1330
+ if (BulkDataURI[0] === '/') {
1311
1331
  if (dicomWebConfig.wadoRoot.startsWith('http')) {
1312
1332
  // Absolute wado root
1313
1333
  const url = new URL(dicomWebConfig.wadoRoot);
1314
- value.BulkDataURI = `${url.origin}${value.BulkDataURI}`;
1334
+ value.BulkDataURI = `${url.origin}${BulkDataURI}`;
1315
1335
  } else {
1316
1336
  // Relative wado root, we don't need to do anything, bulkdata uri is already correct
1317
1337
  }
@@ -1332,7 +1352,7 @@ function fixBulkDataURI(value, instance, dicomWebConfig) {
1332
1352
  const {
1333
1353
  DicomMetaDictionary,
1334
1354
  DicomDict
1335
- } = dcmjs_es/* default.data */.Ay.data;
1355
+ } = dcmjs_es["default"].data;
1336
1356
  const {
1337
1357
  naturalizeDataset,
1338
1358
  denaturalizeDataset
@@ -1413,20 +1433,20 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
1413
1433
  staticWado: dicomWebConfig.staticWado,
1414
1434
  singlepart: dicomWebConfig.singlepart,
1415
1435
  headers: userAuthenticationService.getAuthorizationHeader(),
1416
- errorInterceptor: src/* errorHandler */.r_.getHTTPErrorHandler()
1436
+ errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
1417
1437
  };
1418
1438
  wadoConfig = {
1419
1439
  url: dicomWebConfig.wadoRoot,
1420
1440
  staticWado: dicomWebConfig.staticWado,
1421
1441
  singlepart: dicomWebConfig.singlepart,
1422
1442
  headers: userAuthenticationService.getAuthorizationHeader(),
1423
- errorInterceptor: src/* errorHandler */.r_.getHTTPErrorHandler()
1443
+ errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
1424
1444
  };
1425
1445
 
1426
1446
  // TODO -> Two clients sucks, but its better than 1000.
1427
1447
  // TODO -> We'll need to merge auth later.
1428
- qidoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es/* api */.FH.DICOMwebClient(qidoConfig);
1429
- wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es/* api */.FH.DICOMwebClient(wadoConfig);
1448
+ qidoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es.api.DICOMwebClient(qidoConfig);
1449
+ wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es.api.DICOMwebClient(wadoConfig);
1430
1450
  },
1431
1451
  query: {
1432
1452
  studies: {
@@ -1623,10 +1643,10 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
1623
1643
  // The value.Value will be set with the bulkdata read value
1624
1644
  // in which case it isn't necessary to re-read this.
1625
1645
  if (value && value.BulkDataURI && !value.Value) {
1646
+ // handle the scenarios where bulkDataURI is relative path
1647
+ fixBulkDataURI(value, naturalized, dicomWebConfig);
1626
1648
  // Provide a method to fetch bulkdata
1627
1649
  value.retrieveBulkData = (options = {}) => {
1628
- // handle the scenarios where bulkDataURI is relative path
1629
- fixBulkDataURI(value, naturalized, dicomWebConfig);
1630
1650
  const {
1631
1651
  mediaType
1632
1652
  } = options;
@@ -1648,7 +1668,6 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
1648
1668
  }] : undefined,
1649
1669
  ...options
1650
1670
  };
1651
- // Todo: this needs to be from wado dicom web client
1652
1671
  return qidoDicomWebClient.retrieveBulkData(useOptions).then(val => {
1653
1672
  // There are DICOM PDF cases where the first ArrayBuffer in the array is
1654
1673
  // the bulk data and DICOM video cases where the second ArrayBuffer is
@@ -1778,7 +1797,7 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
1778
1797
  if (dicomWebConfig.supportsReject) {
1779
1798
  implementation.reject = dcm4cheeReject(dicomWebConfig.wadoRoot);
1780
1799
  }
1781
- return src/* IWebApiDataSource */.pt.create(implementation);
1800
+ return src/* IWebApiDataSource */.Is.create(implementation);
1782
1801
  }
1783
1802
 
1784
1803
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomJSONDataSource/index.js
@@ -1786,7 +1805,7 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
1786
1805
 
1787
1806
 
1788
1807
 
1789
- const DicomJSONDataSource_metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
1808
+ const DicomJSONDataSource_metadataProvider = src["default"].classes.MetadataProvider;
1790
1809
  const mappings = {
1791
1810
  studyInstanceUid: 'StudyInstanceUID',
1792
1811
  patientId: 'PatientID'
@@ -1813,7 +1832,7 @@ function wrapSequences(obj) {
1813
1832
  acc[key] = obj[key];
1814
1833
  }
1815
1834
  if (key.endsWith('Sequence')) {
1816
- acc[key] = src/* default.utils */.Ay.utils.addAccessors(acc[key]);
1835
+ acc[key] = src["default"].utils.addAccessors(acc[key]);
1817
1836
  }
1818
1837
  return acc;
1819
1838
  }, Array.isArray(obj) ? [] : {});
@@ -2058,14 +2077,14 @@ function createDicomJSONApi(dicomJsonConfig) {
2058
2077
  return _store.studyInstanceUIDMap.get(url);
2059
2078
  }
2060
2079
  };
2061
- return src/* IWebApiDataSource */.pt.create(implementation);
2080
+ return src/* IWebApiDataSource */.Is.create(implementation);
2062
2081
  }
2063
2082
 
2064
2083
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomLocalDataSource/index.js
2065
2084
 
2066
2085
 
2067
2086
 
2068
- const DicomLocalDataSource_metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
2087
+ const DicomLocalDataSource_metadataProvider = src["default"].classes.MetadataProvider;
2069
2088
  const {
2070
2089
  EVENTS
2071
2090
  } = src.DicomMetadataStore;
@@ -2237,7 +2256,7 @@ function createDicomLocalApi(dicomLocalConfig) {
2237
2256
  },
2238
2257
  store: {
2239
2258
  dicom: naturalizedReport => {
2240
- const reportBlob = dcmjs_es/* default.data */.Ay.data.datasetToBlob(naturalizedReport);
2259
+ const reportBlob = dcmjs_es["default"].data.datasetToBlob(naturalizedReport);
2241
2260
 
2242
2261
  //Create a URL for the binary.
2243
2262
  var objectUrl = URL.createObjectURL(reportBlob);
@@ -2312,7 +2331,7 @@ function createDicomLocalApi(dicomLocalConfig) {
2312
2331
  return isStudyInCache ? StudyInstanceUIDsAsArray : [];
2313
2332
  }
2314
2333
  };
2315
- return src/* IWebApiDataSource */.pt.create(implementation);
2334
+ return src/* IWebApiDataSource */.Is.create(implementation);
2316
2335
  }
2317
2336
 
2318
2337
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebProxyDataSource/index.ts
@@ -2391,11 +2410,11 @@ function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager) {
2391
2410
  return studyInstanceUIDs;
2392
2411
  }
2393
2412
  };
2394
- return src/* IWebApiDataSource */.pt.create(implementation);
2413
+ return src/* IWebApiDataSource */.Is.create(implementation);
2395
2414
  }
2396
2415
 
2397
2416
  // EXTERNAL MODULE: ../../../node_modules/lodash/lodash.js
2398
- var lodash = __webpack_require__(5517);
2417
+ var lodash = __webpack_require__(44379);
2399
2418
  ;// CONCATENATED MODULE: ../../../extensions/default/src/MergeDataSource/index.ts
2400
2419
 
2401
2420
 
@@ -2662,7 +2681,7 @@ function createMergeDataSourceApi(mergeConfig, servicesManager, extensionManager
2662
2681
  defaultDataSourceName
2663
2682
  })
2664
2683
  };
2665
- return src/* IWebApiDataSource */.pt.create(implementation);
2684
+ return src/* IWebApiDataSource */.Is.create(implementation);
2666
2685
  }
2667
2686
 
2668
2687
  ;// CONCATENATED MODULE: ../../../extensions/default/src/getDataSourcesModule.js
@@ -2704,24 +2723,24 @@ function getDataSourcesModule() {
2704
2723
  }
2705
2724
  /* harmony default export */ const src_getDataSourcesModule = (getDataSourcesModule);
2706
2725
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
2707
- var react = __webpack_require__(41766);
2726
+ var react = __webpack_require__(43001);
2708
2727
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
2709
- var prop_types = __webpack_require__(11374);
2728
+ var prop_types = __webpack_require__(3827);
2710
2729
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
2711
- // EXTERNAL MODULE: ../../ui/src/index.js + 782 modules
2712
- var ui_src = __webpack_require__(79047);
2730
+ // EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
2731
+ var ui_src = __webpack_require__(38604);
2713
2732
  // EXTERNAL MODULE: ./state/index.js + 1 modules
2714
- var state = __webpack_require__(81883);
2733
+ var state = __webpack_require__(52490);
2715
2734
  // EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
2716
- var dist = __webpack_require__(37396);
2735
+ var dist = __webpack_require__(62474);
2717
2736
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
2718
- var es = __webpack_require__(80619);
2737
+ var es = __webpack_require__(69190);
2719
2738
  // EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
2720
- var react_router_dist = __webpack_require__(10971);
2739
+ var react_router_dist = __webpack_require__(85066);
2721
2740
  // EXTERNAL MODULE: ../../i18n/src/index.js + 150 modules
2722
- var i18n_src = __webpack_require__(43608);
2741
+ var i18n_src = __webpack_require__(91629);
2723
2742
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Toolbar/Toolbar.tsx
2724
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2743
+ 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); }
2725
2744
 
2726
2745
 
2727
2746
  function Toolbar({
@@ -2731,7 +2750,7 @@ function Toolbar({
2731
2750
  const {
2732
2751
  toolbarButtons,
2733
2752
  onInteraction
2734
- } = (0,src/* useToolbar */.tR)({
2753
+ } = (0,src/* useToolbar */.Sm)({
2735
2754
  servicesManager,
2736
2755
  buttonSection
2737
2756
  });
@@ -2771,15 +2790,15 @@ const {
2771
2790
  availableLanguages,
2772
2791
  defaultLanguage,
2773
2792
  currentLanguage
2774
- } = i18n_src/* default */.A;
2793
+ } = i18n_src["default"];
2775
2794
  function ViewerHeader({
2776
2795
  hotkeysManager,
2777
2796
  extensionManager,
2778
2797
  servicesManager,
2779
2798
  appConfig
2780
2799
  }) {
2781
- const navigate = (0,dist/* useNavigate */.Zp)();
2782
- const location = (0,react_router_dist/* useLocation */.zy)();
2800
+ const navigate = (0,dist/* useNavigate */.s0)();
2801
+ const location = (0,react_router_dist/* useLocation */.TH)();
2783
2802
  const onClickReturnButton = () => {
2784
2803
  const {
2785
2804
  pathname
@@ -2803,22 +2822,22 @@ function ViewerHeader({
2803
2822
  };
2804
2823
  const {
2805
2824
  t
2806
- } = (0,es/* useTranslation */.Bd)();
2825
+ } = (0,es/* useTranslation */.$G)();
2807
2826
  const {
2808
2827
  show,
2809
2828
  hide
2810
- } = (0,ui_src/* useModal */.hS)();
2829
+ } = (0,ui_src/* useModal */.dd)();
2811
2830
  const {
2812
2831
  hotkeyDefinitions,
2813
2832
  hotkeyDefaults
2814
2833
  } = hotkeysManager;
2815
- const versionNumber = "3.9.0-beta.45";
2816
- const commitHash = "2eab049d7993bb834f7736093941c175f16d61fc";
2834
+ const versionNumber = "3.9.0-beta.47";
2835
+ const commitHash = "71a1e561bf5e3b85a6ff1d91ba1af4d1811dede4";
2817
2836
  const menuOptions = [{
2818
2837
  title: t('Header:About'),
2819
2838
  icon: 'info',
2820
2839
  onClick: () => show({
2821
- content: ui_src/* AboutModal */.VT,
2840
+ content: ui_src/* AboutModal */.tk,
2822
2841
  title: t('AboutModal:About OHIF Viewer'),
2823
2842
  contentProps: {
2824
2843
  versionNumber,
@@ -2831,7 +2850,7 @@ function ViewerHeader({
2831
2850
  icon: 'settings',
2832
2851
  onClick: () => show({
2833
2852
  title: t('UserPreferencesModal:User preferences'),
2834
- content: ui_src/* UserPreferences */.im,
2853
+ content: ui_src/* UserPreferences */.i1,
2835
2854
  containerDimensions: 'w-[70%] max-w-[900px]',
2836
2855
  contentProps: {
2837
2856
  hotkeyDefaults: hotkeysManager.getValidHotkeyDefinitions(hotkeyDefaults),
@@ -2840,8 +2859,8 @@ function ViewerHeader({
2840
2859
  availableLanguages,
2841
2860
  defaultLanguage,
2842
2861
  onCancel: () => {
2843
- src/* hotkeys */.ot.stopRecord();
2844
- src/* hotkeys */.ot.unpause();
2862
+ src/* hotkeys */.dD.stopRecord();
2863
+ src/* hotkeys */.dD.unpause();
2845
2864
  hide();
2846
2865
  },
2847
2866
  onSubmit: ({
@@ -2849,13 +2868,13 @@ function ViewerHeader({
2849
2868
  language
2850
2869
  }) => {
2851
2870
  if (language.value !== currentLanguage().value) {
2852
- i18n_src/* default */.A.changeLanguage(language.value);
2871
+ i18n_src["default"].changeLanguage(language.value);
2853
2872
  }
2854
2873
  hotkeysManager.setHotkeys(hotkeyDefinitions);
2855
2874
  hide();
2856
2875
  },
2857
2876
  onReset: () => hotkeysManager.restoreDefaultBindings(),
2858
- hotkeysModule: src/* hotkeys */.ot
2877
+ hotkeysModule: src/* hotkeys */.dD
2859
2878
  }
2860
2879
  })
2861
2880
  }];
@@ -2868,7 +2887,7 @@ function ViewerHeader({
2868
2887
  }
2869
2888
  });
2870
2889
  }
2871
- return /*#__PURE__*/react.createElement(ui_src/* Header */.Y9, {
2890
+ return /*#__PURE__*/react.createElement(ui_src/* Header */.h4, {
2872
2891
  menuOptions: menuOptions,
2873
2892
  isReturnEnabled: !!appConfig.showStudyList,
2874
2893
  onClickReturnButton: onClickReturnButton,
@@ -2880,7 +2899,7 @@ function ViewerHeader({
2880
2899
  buttonSection: "secondary"
2881
2900
  }),
2882
2901
  appConfig: appConfig
2883
- }, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.tH, {
2902
+ }, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
2884
2903
  context: "Primary Toolbar"
2885
2904
  }, /*#__PURE__*/react.createElement("div", {
2886
2905
  className: "relative flex justify-center gap-[4px]"
@@ -2890,7 +2909,7 @@ function ViewerHeader({
2890
2909
  }
2891
2910
  /* harmony default export */ const ViewerLayout_ViewerHeader = (ViewerHeader);
2892
2911
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Components/SidePanelWithServices.tsx
2893
- function SidePanelWithServices_extends() { SidePanelWithServices_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return SidePanelWithServices_extends.apply(this, arguments); }
2912
+ function SidePanelWithServices_extends() { return SidePanelWithServices_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; }, SidePanelWithServices_extends.apply(null, arguments); }
2894
2913
 
2895
2914
 
2896
2915
  const SidePanelWithServices = ({
@@ -2947,7 +2966,7 @@ const SidePanelWithServices = ({
2947
2966
  activatePanelSubscription.unsubscribe();
2948
2967
  };
2949
2968
  }, [tabs, hasBeenOpened, panelService]);
2950
- return /*#__PURE__*/react.createElement(ui_src/* SidePanel */.wv, SidePanelWithServices_extends({}, props, {
2969
+ return /*#__PURE__*/react.createElement(ui_src/* SidePanel */.hs, SidePanelWithServices_extends({}, props, {
2951
2970
  side: side,
2952
2971
  tabs: tabs,
2953
2972
  activeTabIndex: activeTabIndex,
@@ -2977,7 +2996,7 @@ function ViewerLayout({
2977
2996
  leftPanelClosed = false,
2978
2997
  rightPanelClosed = false
2979
2998
  }) {
2980
- const [appConfig] = (0,state/* useAppConfig */.r)();
2999
+ const [appConfig] = (0,state/* useAppConfig */.M)();
2981
3000
  const {
2982
3001
  panelService,
2983
3002
  hangingProtocolService
@@ -3015,7 +3034,7 @@ function ViewerLayout({
3015
3034
  (0,react.useEffect)(() => {
3016
3035
  const {
3017
3036
  unsubscribe
3018
- } = hangingProtocolService.subscribe(src/* HangingProtocolService */.Qe.EVENTS.PROTOCOL_CHANGED,
3037
+ } = hangingProtocolService.subscribe(src/* HangingProtocolService */.hy.EVENTS.PROTOCOL_CHANGED,
3019
3038
  // Todo: right now to set the loading indicator to false, we need to wait for the
3020
3039
  // hangingProtocolService to finish applying the viewport matching to each viewport,
3021
3040
  // however, this might not be the only approach to set the loading indicator to false. we need to explore this further.
@@ -3065,9 +3084,9 @@ function ViewerLayout({
3065
3084
  style: {
3066
3085
  height: 'calc(100vh - 52px'
3067
3086
  }
3068
- }, /*#__PURE__*/react.createElement(react.Fragment, null, showLoadingIndicator && /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.Jx, {
3087
+ }, /*#__PURE__*/react.createElement(react.Fragment, null, showLoadingIndicator && /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.LE, {
3069
3088
  className: "h-full w-full bg-black"
3070
- }), hasLeftPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.tH, {
3089
+ }), hasLeftPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
3071
3090
  context: "Left Panel"
3072
3091
  }, /*#__PURE__*/react.createElement(Components_SidePanelWithServices, {
3073
3092
  side: "left",
@@ -3077,19 +3096,19 @@ function ViewerLayout({
3077
3096
  className: "flex h-full flex-1 flex-col"
3078
3097
  }, /*#__PURE__*/react.createElement("div", {
3079
3098
  className: "relative flex h-full flex-1 items-center justify-center overflow-hidden bg-black"
3080
- }, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.tH, {
3099
+ }, /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
3081
3100
  context: "Grid"
3082
3101
  }, /*#__PURE__*/react.createElement(ViewportGridComp, {
3083
3102
  servicesManager: servicesManager,
3084
3103
  viewportComponents: viewportComponents,
3085
3104
  commandsManager: commandsManager
3086
- })))), hasRightPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.tH, {
3105
+ })))), hasRightPanels ? /*#__PURE__*/react.createElement(ui_src/* ErrorBoundary */.SV, {
3087
3106
  context: "Right Panel"
3088
3107
  }, /*#__PURE__*/react.createElement(Components_SidePanelWithServices, {
3089
3108
  side: "right",
3090
3109
  activeTabIndex: rightPanelClosedState ? null : 0,
3091
3110
  servicesManager: servicesManager
3092
- })) : null)), /*#__PURE__*/react.createElement(ui_src/* InvestigationalUseDialog */.j, {
3111
+ })) : null)), /*#__PURE__*/react.createElement(ui_src/* InvestigationalUseDialog */.NE, {
3093
3112
  dialogConfiguration: appConfig?.investigationalUseDialog
3094
3113
  }));
3095
3114
  }
@@ -3098,7 +3117,7 @@ ViewerLayout.propTypes = {
3098
3117
  extensionManager: prop_types_default().shape({
3099
3118
  getModuleEntry: (prop_types_default()).func.isRequired
3100
3119
  }).isRequired,
3101
- commandsManager: prop_types_default().instanceOf(src/* CommandsManager */.Sp),
3120
+ commandsManager: prop_types_default().instanceOf(src/* CommandsManager */.HQ),
3102
3121
  servicesManager: (prop_types_default()).object.isRequired,
3103
3122
  // From modes
3104
3123
  leftPanels: (prop_types_default()).array,
@@ -3150,7 +3169,8 @@ ViewerLayout.propTypes = {
3150
3169
 
3151
3170
  const {
3152
3171
  sortStudyInstances,
3153
- formatDate
3172
+ formatDate,
3173
+ createStudyBrowserTabs
3154
3174
  } = src.utils;
3155
3175
 
3156
3176
  /**
@@ -3169,19 +3189,19 @@ function PanelStudyBrowser({
3169
3189
  displaySetService,
3170
3190
  uiNotificationService
3171
3191
  } = servicesManager.services;
3172
- const navigate = (0,dist/* useNavigate */.Zp)();
3192
+ const navigate = (0,dist/* useNavigate */.s0)();
3173
3193
 
3174
3194
  // Normally you nest the components so the tree isn't so deep, and the data
3175
3195
  // doesn't have to have such an intense shape. This works well enough for now.
3176
3196
  // Tabs --> Studies --> DisplaySets --> Thumbnails
3177
3197
  const {
3178
3198
  StudyInstanceUIDs
3179
- } = (0,ui_src/* useImageViewer */.Bz)();
3199
+ } = (0,ui_src/* useImageViewer */.zG)();
3180
3200
  const [{
3181
3201
  activeViewportId,
3182
3202
  viewports,
3183
3203
  isHangingProtocolLayout
3184
- }, viewportGridService] = (0,ui_src/* useViewportGrid */.ih)();
3204
+ }, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
3185
3205
  const [activeTabName, setActiveTabName] = (0,react.useState)('primary');
3186
3206
  const [expandedStudyInstanceUIDs, setExpandedStudyInstanceUIDs] = (0,react.useState)([...StudyInstanceUIDs]);
3187
3207
  const [studyDisplayList, setStudyDisplayList] = (0,react.useState)([]);
@@ -3332,7 +3352,7 @@ function PanelStudyBrowser({
3332
3352
  SubscriptionDisplaySetMetaDataInvalidated.unsubscribe();
3333
3353
  };
3334
3354
  }, [StudyInstanceUIDs, thumbnailImageSrcMap, displaySetService]);
3335
- const tabs = _createStudyBrowserTabs(StudyInstanceUIDs, studyDisplayList, displaySets);
3355
+ const tabs = createStudyBrowserTabs(StudyInstanceUIDs, studyDisplayList, displaySets);
3336
3356
 
3337
3357
  // TODO: Should not fire this on "close"
3338
3358
  function _handleStudyClick(StudyInstanceUID) {
@@ -3347,7 +3367,7 @@ function PanelStudyBrowser({
3347
3367
  }
3348
3368
  }
3349
3369
  const activeDisplaySetInstanceUIDs = viewports.get(activeViewportId)?.displaySetInstanceUIDs;
3350
- return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.M4, {
3370
+ return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.eX, {
3351
3371
  tabs: tabs,
3352
3372
  servicesManager: servicesManager,
3353
3373
  activeTabName: activeTabName,
@@ -3430,51 +3450,6 @@ function _getComponentType(ds) {
3430
3450
  }
3431
3451
  return 'thumbnail';
3432
3452
  }
3433
-
3434
- /**
3435
- *
3436
- * @param {string[]} primaryStudyInstanceUIDs
3437
- * @param {object[]} studyDisplayList
3438
- * @param {string} studyDisplayList.studyInstanceUid
3439
- * @param {string} studyDisplayList.date
3440
- * @param {string} studyDisplayList.description
3441
- * @param {string} studyDisplayList.modalities
3442
- * @param {number} studyDisplayList.numInstances
3443
- * @param {object[]} displaySets
3444
- * @returns tabs - The prop object expected by the StudyBrowser component
3445
- */
3446
- function _createStudyBrowserTabs(primaryStudyInstanceUIDs, studyDisplayList, displaySets) {
3447
- const primaryStudies = [];
3448
- const recentStudies = [];
3449
- const allStudies = [];
3450
- studyDisplayList.forEach(study => {
3451
- const displaySetsForStudy = displaySets.filter(ds => ds.StudyInstanceUID === study.studyInstanceUid);
3452
- const tabStudy = Object.assign({}, study, {
3453
- displaySets: displaySetsForStudy
3454
- });
3455
- if (primaryStudyInstanceUIDs.includes(study.studyInstanceUid)) {
3456
- primaryStudies.push(tabStudy);
3457
- } else {
3458
- // TODO: Filter allStudies to dates within one year of current date
3459
- recentStudies.push(tabStudy);
3460
- allStudies.push(tabStudy);
3461
- }
3462
- });
3463
- const tabs = [{
3464
- name: 'primary',
3465
- label: 'Primary',
3466
- studies: primaryStudies
3467
- }, {
3468
- name: 'recent',
3469
- label: 'Recent',
3470
- studies: recentStudies
3471
- }, {
3472
- name: 'all',
3473
- label: 'All',
3474
- studies: allStudies
3475
- }];
3476
- return tabs;
3477
- }
3478
3453
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Panels/getImageSrcFromImageId.js
3479
3454
  /**
3480
3455
  * @param {*} cornerstone
@@ -3579,7 +3554,7 @@ WrappedPanelStudyBrowser.propTypes = {
3579
3554
  };
3580
3555
  /* harmony default export */ const Panels_WrappedPanelStudyBrowser = (WrappedPanelStudyBrowser);
3581
3556
  // EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
3582
- var lodash_debounce = __webpack_require__(14771);
3557
+ var lodash_debounce = __webpack_require__(8324);
3583
3558
  var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
3584
3559
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Panels/createReportDialogPrompt.tsx
3585
3560
 
@@ -3649,7 +3624,7 @@ function CreateReportDialogPrompt(uiDialogService, {
3649
3624
  dialogId = uiDialogService.create({
3650
3625
  centralize: true,
3651
3626
  isDraggable: false,
3652
- content: ui_src/* Dialog */.lG,
3627
+ content: ui_src/* Dialog */.Vq,
3653
3628
  useLastPosition: false,
3654
3629
  showOverlay: true,
3655
3630
  contentProps: {
@@ -3663,11 +3638,11 @@ function CreateReportDialogPrompt(uiDialogService, {
3663
3638
  actions: [{
3664
3639
  id: 'cancel',
3665
3640
  text: 'Cancel',
3666
- type: ui_src/* ButtonEnums.type */.Ny.NW.secondary
3641
+ type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
3667
3642
  }, {
3668
3643
  id: 'save',
3669
3644
  text: 'Save',
3670
- type: ui_src/* ButtonEnums.type */.Ny.NW.primary
3645
+ type: ui_src/* ButtonEnums.type */.LZ.dt.primary
3671
3646
  }],
3672
3647
  // TODO: Should be on button press...
3673
3648
  onSubmit: _handleFormSubmit,
@@ -3695,7 +3670,7 @@ function CreateReportDialogPrompt(uiDialogService, {
3695
3670
  };
3696
3671
  return /*#__PURE__*/react.createElement(react.Fragment, null, dataSourcesOpts.length > 1 && window.config?.allowMultiSelectExport && /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("label", {
3697
3672
  className: "text-[14px] leading-[1.2] text-white"
3698
- }, "Data Source"), /*#__PURE__*/react.createElement(ui_src/* Select */.l6, {
3673
+ }, "Data Source"), /*#__PURE__*/react.createElement(ui_src/* Select */.Ph, {
3699
3674
  closeMenuOnSelect: true,
3700
3675
  className: "border-primary-main mt-2 bg-black",
3701
3676
  options: dataSourcesOpts,
@@ -3710,7 +3685,7 @@ function CreateReportDialogPrompt(uiDialogService, {
3710
3685
  isClearable: false
3711
3686
  })), /*#__PURE__*/react.createElement("div", {
3712
3687
  className: "mt-3"
3713
- }, /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
3688
+ }, /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
3714
3689
  autoFocus: true,
3715
3690
  label: "Enter the report name",
3716
3691
  labelClassName: "text-white text-[14px] leading-[1.2]",
@@ -3860,8 +3835,8 @@ function PanelMeasurementTable({
3860
3835
  }) {
3861
3836
  const {
3862
3837
  t
3863
- } = (0,es/* useTranslation */.Bd)('MeasurementTable');
3864
- const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.ih)();
3838
+ } = (0,es/* useTranslation */.$G)('MeasurementTable');
3839
+ const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
3865
3840
  const {
3866
3841
  activeViewportId,
3867
3842
  viewports
@@ -3987,7 +3962,7 @@ function PanelMeasurementTable({
3987
3962
  centralize: true,
3988
3963
  isDraggable: false,
3989
3964
  showOverlay: true,
3990
- content: ui_src/* Dialog */.lG,
3965
+ content: ui_src/* Dialog */.Vq,
3991
3966
  contentProps: {
3992
3967
  title: 'Annotation',
3993
3968
  noCloseButton: true,
@@ -4015,7 +3990,7 @@ function PanelMeasurementTable({
4015
3990
  });
4016
3991
  }
4017
3992
  };
4018
- return /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
3993
+ return /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
4019
3994
  label: "Enter your annotation",
4020
3995
  labelClassName: "text-white text-[14px] leading-[1.2]",
4021
3996
  autoFocus: true,
@@ -4030,11 +4005,11 @@ function PanelMeasurementTable({
4030
4005
  actions: [{
4031
4006
  id: 'cancel',
4032
4007
  text: 'Cancel',
4033
- type: ui_src/* ButtonEnums.type */.Ny.NW.secondary
4008
+ type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
4034
4009
  }, {
4035
4010
  id: 'save',
4036
4011
  text: 'Save',
4037
- type: ui_src/* ButtonEnums.type */.Ny.NW.primary
4012
+ type: ui_src/* ButtonEnums.type */.LZ.dt.primary
4038
4013
  }],
4039
4014
  onSubmit: onSubmitHandler
4040
4015
  }
@@ -4055,7 +4030,7 @@ function PanelMeasurementTable({
4055
4030
  return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
4056
4031
  className: "ohif-scrollbar overflow-y-auto overflow-x-hidden",
4057
4032
  "data-cy": 'measurements-panel'
4058
- }, /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.V, {
4033
+ }, /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.wt, {
4059
4034
  title: t('Measurements'),
4060
4035
  servicesManager: servicesManager,
4061
4036
  data: displayMeasurements,
@@ -4063,7 +4038,7 @@ function PanelMeasurementTable({
4063
4038
  onEdit: onMeasurementItemEditHandler
4064
4039
  })), /*#__PURE__*/react.createElement("div", {
4065
4040
  className: "flex justify-center p-4"
4066
- }, /*#__PURE__*/react.createElement(ui_src/* ActionButtons */.wr, {
4041
+ }, /*#__PURE__*/react.createElement(ui_src/* ActionButtons */.EY, {
4067
4042
  t: t,
4068
4043
  actions: [{
4069
4044
  label: 'Export',
@@ -4133,7 +4108,7 @@ function _mapMeasurementToDisplay(measurement, index, types) {
4133
4108
 
4134
4109
 
4135
4110
  // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
4136
- var i18next = __webpack_require__(92344);
4111
+ var i18next = __webpack_require__(73577);
4137
4112
  ;// CONCATENATED MODULE: ../../../extensions/default/src/getPanelModule.tsx
4138
4113
 
4139
4114
 
@@ -4160,7 +4135,7 @@ function getPanelModule({
4160
4135
  name: 'seriesList',
4161
4136
  iconName: 'tab-studies',
4162
4137
  iconLabel: 'Studies',
4163
- label: i18next/* default */.A.t('SidePanel:Studies'),
4138
+ label: i18next/* default */.Z.t('SidePanel:Studies'),
4164
4139
  component: Panels_WrappedPanelStudyBrowser.bind(null, {
4165
4140
  commandsManager,
4166
4141
  extensionManager,
@@ -4170,28 +4145,28 @@ function getPanelModule({
4170
4145
  name: 'measure',
4171
4146
  iconName: 'tab-linear',
4172
4147
  iconLabel: 'Measure',
4173
- label: i18next/* default */.A.t('SidePanel:Measurements'),
4174
- secondaryLabel: i18next/* default */.A.t('SidePanel:Measurements'),
4148
+ label: i18next/* default */.Z.t('SidePanel:Measurements'),
4149
+ secondaryLabel: i18next/* default */.Z.t('SidePanel:Measurements'),
4175
4150
  component: wrappedMeasurementPanel
4176
4151
  }];
4177
4152
  }
4178
4153
  /* harmony default export */ const src_getPanelModule = (getPanelModule);
4179
4154
  // EXTERNAL MODULE: ../../core/src/utils/isImage.js
4180
- var isImage = __webpack_require__(92087);
4155
+ var isImage = __webpack_require__(74440);
4181
4156
  // EXTERNAL MODULE: ../../core/src/utils/sopClassDictionary.js
4182
- var sopClassDictionary = __webpack_require__(6342);
4157
+ var sopClassDictionary = __webpack_require__(66050);
4183
4158
  // EXTERNAL MODULE: ../../core/src/classes/ImageSet.ts
4184
- var ImageSet = __webpack_require__(61378);
4159
+ var ImageSet = __webpack_require__(15337);
4185
4160
  // EXTERNAL MODULE: ../../core/src/utils/isDisplaySetReconstructable.js
4186
- var isDisplaySetReconstructable = __webpack_require__(52378);
4161
+ var isDisplaySetReconstructable = __webpack_require__(74824);
4187
4162
  ;// CONCATENATED MODULE: ../../../extensions/default/package.json
4188
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-default"}');
4163
+ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-default"}');
4189
4164
  ;// CONCATENATED MODULE: ../../../extensions/default/src/id.js
4190
4165
 
4191
- const id = package_namespaceObject.UU;
4166
+ const id = package_namespaceObject.u2;
4192
4167
 
4193
4168
  // EXTERNAL MODULE: ../../core/src/utils/sortInstancesByPosition.ts
4194
- var sortInstancesByPosition = __webpack_require__(7986);
4169
+ var sortInstancesByPosition = __webpack_require__(87134);
4195
4170
  ;// CONCATENATED MODULE: ../../../extensions/default/src/utils/validations/checkMultiframe.ts
4196
4171
 
4197
4172
 
@@ -4202,18 +4177,18 @@ var sortInstancesByPosition = __webpack_require__(7986);
4202
4177
  * @param {*} warnings
4203
4178
  */
4204
4179
  function checkMultiFrame(multiFrameInstance, messages) {
4205
- if (!(0,isDisplaySetReconstructable/* hasPixelMeasurements */.Yt)(multiFrameInstance)) {
4206
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.MULTIFRAME_NO_PIXEL_MEASUREMENTS);
4180
+ if (!(0,isDisplaySetReconstructable/* hasPixelMeasurements */.hu)(multiFrameInstance)) {
4181
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MULTIFRAME_NO_PIXEL_MEASUREMENTS);
4207
4182
  }
4208
- if (!(0,isDisplaySetReconstructable/* hasOrientation */.VX)(multiFrameInstance)) {
4209
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.MULTIFRAME_NO_ORIENTATION);
4183
+ if (!(0,isDisplaySetReconstructable/* hasOrientation */.sb)(multiFrameInstance)) {
4184
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MULTIFRAME_NO_ORIENTATION);
4210
4185
  }
4211
- if (!(0,isDisplaySetReconstructable/* hasPosition */.sL)(multiFrameInstance)) {
4212
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.MULTIFRAME_NO_POSITION_INFORMATION);
4186
+ if (!(0,isDisplaySetReconstructable/* hasPosition */.kN)(multiFrameInstance)) {
4187
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MULTIFRAME_NO_POSITION_INFORMATION);
4213
4188
  }
4214
4189
  }
4215
4190
  // EXTERNAL MODULE: ../../core/src/utils/toNumber.js
4216
- var toNumber = __webpack_require__(69508);
4191
+ var toNumber = __webpack_require__(11218);
4217
4192
  ;// CONCATENATED MODULE: ../../../extensions/default/src/utils/validations/areAllImageDimensionsEqual.ts
4218
4193
 
4219
4194
 
@@ -4227,8 +4202,8 @@ function areAllImageDimensionsEqual(instances) {
4227
4202
  return false;
4228
4203
  }
4229
4204
  const firstImage = instances[0];
4230
- const firstImageRows = (0,toNumber/* default */.A)(firstImage.Rows);
4231
- const firstImageColumns = (0,toNumber/* default */.A)(firstImage.Columns);
4205
+ const firstImageRows = (0,toNumber/* default */.Z)(firstImage.Rows);
4206
+ const firstImageColumns = (0,toNumber/* default */.Z)(firstImage.Columns);
4232
4207
  for (let i = 1; i < instances.length; i++) {
4233
4208
  const instance = instances[i];
4234
4209
  const {
@@ -4254,7 +4229,7 @@ function areAllImageComponentsEqual(instances) {
4254
4229
  return false;
4255
4230
  }
4256
4231
  const firstImage = instances[0];
4257
- const firstImageSamplesPerPixel = (0,toNumber/* default */.A)(firstImage.SamplesPerPixel);
4232
+ const firstImageSamplesPerPixel = (0,toNumber/* default */.Z)(firstImage.SamplesPerPixel);
4258
4233
  for (let i = 1; i < instances.length; i++) {
4259
4234
  const instance = instances[i];
4260
4235
  const {
@@ -4280,18 +4255,18 @@ function areAllImageOrientationsEqual(instances) {
4280
4255
  return false;
4281
4256
  }
4282
4257
  const firstImage = instances[0];
4283
- const firstImageOrientationPatient = (0,toNumber/* default */.A)(firstImage.ImageOrientationPatient);
4258
+ const firstImageOrientationPatient = (0,toNumber/* default */.Z)(firstImage.ImageOrientationPatient);
4284
4259
  for (let i = 1; i < instances.length; i++) {
4285
4260
  const instance = instances[i];
4286
- const imageOrientationPatient = (0,toNumber/* default */.A)(instance.ImageOrientationPatient);
4287
- if (!(0,isDisplaySetReconstructable/* _isSameOrientation */.sW)(imageOrientationPatient, firstImageOrientationPatient)) {
4261
+ const imageOrientationPatient = (0,toNumber/* default */.Z)(instance.ImageOrientationPatient);
4262
+ if (!(0,isDisplaySetReconstructable/* _isSameOrientation */.NB)(imageOrientationPatient, firstImageOrientationPatient)) {
4288
4263
  return false;
4289
4264
  }
4290
4265
  }
4291
4266
  return true;
4292
4267
  }
4293
4268
  // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 1 modules
4294
- var esm = __webpack_require__(44753);
4269
+ var esm = __webpack_require__(72076);
4295
4270
  ;// CONCATENATED MODULE: ../../../extensions/default/src/utils/calculateScanAxisNormal.ts
4296
4271
 
4297
4272
 
@@ -4301,9 +4276,9 @@ var esm = __webpack_require__(44753);
4301
4276
  * @returns
4302
4277
  */
4303
4278
  function calculateScanAxisNormal(imageOrientation) {
4304
- const rowCosineVec = esm/* vec3.fromValues */.eR.fromValues(imageOrientation[0], imageOrientation[1], imageOrientation[2]);
4305
- const colCosineVec = esm/* vec3.fromValues */.eR.fromValues(imageOrientation[3], imageOrientation[4], imageOrientation[5]);
4306
- return esm/* vec3.cross */.eR.cross(esm/* vec3.create */.eR.create(), rowCosineVec, colCosineVec);
4279
+ const rowCosineVec = esm/* vec3.fromValues */.R3.fromValues(imageOrientation[0], imageOrientation[1], imageOrientation[2]);
4280
+ const colCosineVec = esm/* vec3.fromValues */.R3.fromValues(imageOrientation[3], imageOrientation[4], imageOrientation[5]);
4281
+ return esm/* vec3.cross */.R3.cross(esm/* vec3.create */.R3.create(), rowCosineVec, colCosineVec);
4307
4282
  }
4308
4283
  ;// CONCATENATED MODULE: ../../../extensions/default/src/utils/validations/areAllImagePositionsEqual.ts
4309
4284
 
@@ -4322,8 +4297,8 @@ function calculateScanAxisNormal(imageOrientation) {
4322
4297
  function _checkSeriesPositionShift(previousPosition, actualPosition, scanAxisNormal, averageSpacingBetweenFrames) {
4323
4298
  // predicted position should be the previous position added by the multiplication
4324
4299
  // of the scanAxisNormal and the average spacing between frames
4325
- const predictedPosition = esm/* vec3.scaleAndAdd */.eR.scaleAndAdd(esm/* vec3.create */.eR.create(), previousPosition, scanAxisNormal, averageSpacingBetweenFrames);
4326
- return esm/* vec3.distance */.eR.distance(actualPosition, predictedPosition) > averageSpacingBetweenFrames;
4300
+ const predictedPosition = esm/* vec3.scaleAndAdd */.R3.scaleAndAdd(esm/* vec3.create */.R3.create(), previousPosition, scanAxisNormal, averageSpacingBetweenFrames);
4301
+ return esm/* vec3.distance */.R3.distance(actualPosition, predictedPosition) > averageSpacingBetweenFrames;
4327
4302
  }
4328
4303
 
4329
4304
  /**
@@ -4335,18 +4310,18 @@ function areAllImagePositionsEqual(instances) {
4335
4310
  if (!instances?.length) {
4336
4311
  return false;
4337
4312
  }
4338
- const firstImageOrientationPatient = (0,toNumber/* default */.A)(instances[0].ImageOrientationPatient);
4313
+ const firstImageOrientationPatient = (0,toNumber/* default */.Z)(instances[0].ImageOrientationPatient);
4339
4314
  if (!firstImageOrientationPatient) {
4340
4315
  return false;
4341
4316
  }
4342
4317
  const scanAxisNormal = calculateScanAxisNormal(firstImageOrientationPatient);
4343
- const firstImagePositionPatient = (0,toNumber/* default */.A)(instances[0].ImagePositionPatient);
4344
- const lastIpp = (0,toNumber/* default */.A)(instances[instances.length - 1].ImagePositionPatient);
4345
- const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.jj)(firstImagePositionPatient, lastIpp) / (instances.length - 1);
4318
+ const firstImagePositionPatient = (0,toNumber/* default */.Z)(instances[0].ImagePositionPatient);
4319
+ const lastIpp = (0,toNumber/* default */.Z)(instances[instances.length - 1].ImagePositionPatient);
4320
+ const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.Xn)(firstImagePositionPatient, lastIpp) / (instances.length - 1);
4346
4321
  let previousImagePositionPatient = firstImagePositionPatient;
4347
4322
  for (let i = 1; i < instances.length; i++) {
4348
4323
  const instance = instances[i];
4349
- const imagePositionPatient = (0,toNumber/* default */.A)(instance.ImagePositionPatient);
4324
+ const imagePositionPatient = (0,toNumber/* default */.Z)(instance.ImagePositionPatient);
4350
4325
  if (_checkSeriesPositionShift(previousImagePositionPatient, imagePositionPatient, scanAxisNormal, averageSpacingBetweenFrames)) {
4351
4326
  return false;
4352
4327
  }
@@ -4367,29 +4342,29 @@ function areAllImageSpacingEqual(instances, messages) {
4367
4342
  if (!instances?.length) {
4368
4343
  return;
4369
4344
  }
4370
- const firstImagePositionPatient = (0,toNumber/* default */.A)(instances[0].ImagePositionPatient);
4345
+ const firstImagePositionPatient = (0,toNumber/* default */.Z)(instances[0].ImagePositionPatient);
4371
4346
  if (!firstImagePositionPatient) {
4372
4347
  return;
4373
4348
  }
4374
- const lastIpp = (0,toNumber/* default */.A)(instances[instances.length - 1].ImagePositionPatient);
4375
- const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.jj)(firstImagePositionPatient, lastIpp) / (instances.length - 1);
4349
+ const lastIpp = (0,toNumber/* default */.Z)(instances[instances.length - 1].ImagePositionPatient);
4350
+ const averageSpacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.Xn)(firstImagePositionPatient, lastIpp) / (instances.length - 1);
4376
4351
  let previousImagePositionPatient = firstImagePositionPatient;
4377
4352
  const issuesFound = [];
4378
4353
  for (let i = 1; i < instances.length; i++) {
4379
4354
  const instance = instances[i];
4380
- const imagePositionPatient = (0,toNumber/* default */.A)(instance.ImagePositionPatient);
4381
- const spacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.jj)(imagePositionPatient, previousImagePositionPatient);
4382
- const spacingIssue = (0,isDisplaySetReconstructable/* _getSpacingIssue */.Op)(spacingBetweenFrames, averageSpacingBetweenFrames);
4355
+ const imagePositionPatient = (0,toNumber/* default */.Z)(instance.ImagePositionPatient);
4356
+ const spacingBetweenFrames = (0,isDisplaySetReconstructable/* _getPerpendicularDistance */.Xn)(imagePositionPatient, previousImagePositionPatient);
4357
+ const spacingIssue = (0,isDisplaySetReconstructable/* _getSpacingIssue */.bg)(spacingBetweenFrames, averageSpacingBetweenFrames);
4383
4358
  if (spacingIssue) {
4384
4359
  const issue = spacingIssue.issue;
4385
4360
 
4386
4361
  // avoid multiple warning of the same thing
4387
4362
  if (!issuesFound.includes(issue)) {
4388
4363
  issuesFound.push(issue);
4389
- if (issue === isDisplaySetReconstructable/* reconstructionIssues */.JG.MISSING_FRAMES) {
4390
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.MISSING_FRAMES);
4391
- } else if (issue === isDisplaySetReconstructable/* reconstructionIssues */.JG.IRREGULAR_SPACING) {
4392
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.IRREGULAR_SPACING);
4364
+ if (issue === isDisplaySetReconstructable/* reconstructionIssues */.e1.MISSING_FRAMES) {
4365
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.MISSING_FRAMES);
4366
+ } else if (issue === isDisplaySetReconstructable/* reconstructionIssues */.e1.IRREGULAR_SPACING) {
4367
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.IRREGULAR_SPACING);
4393
4368
  }
4394
4369
  }
4395
4370
  // we just want to find issues not how many
@@ -4416,16 +4391,16 @@ function areAllImageSpacingEqual(instances, messages) {
4416
4391
  function checkSingleFrames(instances, messages) {
4417
4392
  if (instances.length > 2) {
4418
4393
  if (!areAllImageDimensionsEqual(instances)) {
4419
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.INCONSISTENT_DIMENSIONS);
4394
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_DIMENSIONS);
4420
4395
  }
4421
4396
  if (!areAllImageComponentsEqual(instances)) {
4422
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.INCONSISTENT_COMPONENTS);
4397
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_COMPONENTS);
4423
4398
  }
4424
4399
  if (!areAllImageOrientationsEqual(instances)) {
4425
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.INCONSISTENT_ORIENTATIONS);
4400
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_ORIENTATIONS);
4426
4401
  }
4427
4402
  if (!areAllImagePositionsEqual(instances)) {
4428
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.INCONSISTENT_POSITION_INFORMATION);
4403
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.INCONSISTENT_POSITION_INFORMATION);
4429
4404
  }
4430
4405
  areAllImageSpacingEqual(instances, messages);
4431
4406
  }
@@ -4442,12 +4417,12 @@ function checkSingleFrames(instances, messages) {
4442
4417
  * @param {Object[]} instances An array of `OHIFInstanceMetadata` objects.
4443
4418
  */
4444
4419
  function getDisplaySetMessages(instances, isReconstructable, isDynamicVolume) {
4445
- const messages = new src/* DisplaySetMessageList */.WZ();
4420
+ const messages = new src/* DisplaySetMessageList */.iK();
4446
4421
  if (isDynamicVolume) {
4447
4422
  return messages;
4448
4423
  }
4449
4424
  if (!instances.length) {
4450
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.NO_VALID_INSTANCES);
4425
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.NO_VALID_INSTANCES);
4451
4426
  return;
4452
4427
  }
4453
4428
  const firstInstance = instances[0];
@@ -4460,18 +4435,18 @@ function getDisplaySetMessages(instances, isReconstructable, isDynamicVolume) {
4460
4435
  if (ImageType?.includes('LOCALIZER')) {
4461
4436
  return messages;
4462
4437
  }
4463
- if (!isDisplaySetReconstructable/* constructableModalities */.Hf.includes(Modality)) {
4438
+ if (!isDisplaySetReconstructable/* constructableModalities */.M6.includes(Modality)) {
4464
4439
  return messages;
4465
4440
  }
4466
4441
  const isMultiframe = NumberOfFrames > 1;
4467
4442
  // Can't reconstruct if all instances don't have the ImagePositionPatient.
4468
4443
  if (!isMultiframe && !instances.every(instance => instance.ImagePositionPatient)) {
4469
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.NO_POSITION_INFORMATION);
4444
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.NO_POSITION_INFORMATION);
4470
4445
  }
4471
- const sortedInstances = (0,sortInstancesByPosition/* default */.A)(instances);
4446
+ const sortedInstances = (0,sortInstancesByPosition/* default */.Z)(instances);
4472
4447
  isMultiframe ? checkMultiFrame(sortedInstances[0], messages) : checkSingleFrames(sortedInstances, messages);
4473
4448
  if (!isReconstructable) {
4474
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.NOT_RECONSTRUCTABLE);
4449
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.NOT_RECONSTRUCTABLE);
4475
4450
  }
4476
4451
  return messages;
4477
4452
  }
@@ -4482,9 +4457,9 @@ function getDisplaySetMessages(instances, isReconstructable, isDynamicVolume) {
4482
4457
  * Default handler for a instance list with an unsupported sopClassUID
4483
4458
  */
4484
4459
  function getDisplaySetsFromUnsupportedSeries(instances) {
4485
- const imageSet = new ImageSet/* default */.A(instances);
4486
- const messages = new src/* DisplaySetMessageList */.WZ();
4487
- messages.addMessage(src/* DisplaySetMessage */.Ob.CODES.UNSUPPORTED_DISPLAYSET);
4460
+ const imageSet = new ImageSet/* default */.Z(instances);
4461
+ const messages = new src/* DisplaySetMessageList */.iK();
4462
+ messages.addMessage(src/* DisplaySetMessage */.Lt.CODES.UNSUPPORTED_DISPLAYSET);
4488
4463
  const instance = instances[0];
4489
4464
  imageSet.setAttributes({
4490
4465
  displaySetInstanceUID: imageSet.uid,
@@ -4634,9 +4609,9 @@ function getDisplaySetInfo(instances) {
4634
4609
  // O(n) to convert it into a map and O(1) to find each instance
4635
4610
  instances.forEach(instance => instancesMap.set(instance.imageId, instance));
4636
4611
  const firstTimePointInstances = timePoint.map(imageId => instancesMap.get(imageId));
4637
- displaySetInfo = (0,isDisplaySetReconstructable/* default */.Ay)(firstTimePointInstances, appConfig);
4612
+ displaySetInfo = (0,isDisplaySetReconstructable/* default */.ZP)(firstTimePointInstances, appConfig);
4638
4613
  } else {
4639
- displaySetInfo = (0,isDisplaySetReconstructable/* default */.Ay)(instances, appConfig);
4614
+ displaySetInfo = (0,isDisplaySetReconstructable/* default */.ZP)(instances, appConfig);
4640
4615
  }
4641
4616
  return {
4642
4617
  isDynamicVolume,
@@ -4646,7 +4621,7 @@ function getDisplaySetInfo(instances) {
4646
4621
  }
4647
4622
  const makeDisplaySet = instances => {
4648
4623
  const instance = instances[0];
4649
- const imageSet = new ImageSet/* default */.A(instances);
4624
+ const imageSet = new ImageSet/* default */.Z(instances);
4650
4625
  const {
4651
4626
  isDynamicVolume,
4652
4627
  value: isReconstructable,
@@ -4741,7 +4716,7 @@ function getDisplaySetsFromSeries(instances) {
4741
4716
  const stackableInstances = [];
4742
4717
  instances.forEach(instance => {
4743
4718
  // All imaging modalities must have a valid value for sopClassUid (x00080016) or rows (x00280010)
4744
- if (!(0,isImage/* isImage */.w)(instance.SOPClassUID) && !instance.Rows) {
4719
+ if (!(0,isImage/* isImage */.O)(instance.SOPClassUID) && !instance.Rows) {
4745
4720
  return;
4746
4721
  }
4747
4722
  let displaySet;
@@ -4777,7 +4752,7 @@ function getDisplaySetsFromSeries(instances) {
4777
4752
  }
4778
4753
  return displaySets;
4779
4754
  }
4780
- const getSopClassHandlerModule_sopClassUids = [sopClassDictionary/* default */.A.ComputedRadiographyImageStorage, sopClassDictionary/* default */.A.DigitalXRayImageStorageForPresentation, sopClassDictionary/* default */.A.DigitalXRayImageStorageForProcessing, sopClassDictionary/* default */.A.DigitalMammographyXRayImageStorageForPresentation, sopClassDictionary/* default */.A.DigitalMammographyXRayImageStorageForProcessing, sopClassDictionary/* default */.A.DigitalIntraOralXRayImageStorageForPresentation, sopClassDictionary/* default */.A.DigitalIntraOralXRayImageStorageForProcessing, sopClassDictionary/* default */.A.CTImageStorage, sopClassDictionary/* default */.A.EnhancedCTImageStorage, sopClassDictionary/* default */.A.LegacyConvertedEnhancedCTImageStorage, sopClassDictionary/* default */.A.UltrasoundMultiframeImageStorage, sopClassDictionary/* default */.A.MRImageStorage, sopClassDictionary/* default */.A.EnhancedMRImageStorage, sopClassDictionary/* default */.A.EnhancedMRColorImageStorage, sopClassDictionary/* default */.A.LegacyConvertedEnhancedMRImageStorage, sopClassDictionary/* default */.A.UltrasoundImageStorage, sopClassDictionary/* default */.A.UltrasoundImageStorageRET, sopClassDictionary/* default */.A.SecondaryCaptureImageStorage, sopClassDictionary/* default */.A.MultiframeSingleBitSecondaryCaptureImageStorage, sopClassDictionary/* default */.A.MultiframeGrayscaleByteSecondaryCaptureImageStorage, sopClassDictionary/* default */.A.MultiframeGrayscaleWordSecondaryCaptureImageStorage, sopClassDictionary/* default */.A.MultiframeTrueColorSecondaryCaptureImageStorage, sopClassDictionary/* default */.A.XRayAngiographicImageStorage, sopClassDictionary/* default */.A.EnhancedXAImageStorage, sopClassDictionary/* default */.A.XRayRadiofluoroscopicImageStorage, sopClassDictionary/* default */.A.EnhancedXRFImageStorage, sopClassDictionary/* default */.A.XRay3DAngiographicImageStorage, sopClassDictionary/* default */.A.XRay3DCraniofacialImageStorage, sopClassDictionary/* default */.A.BreastTomosynthesisImageStorage, sopClassDictionary/* default */.A.BreastProjectionXRayImageStorageForPresentation, sopClassDictionary/* default */.A.BreastProjectionXRayImageStorageForProcessing, sopClassDictionary/* default */.A.IntravascularOpticalCoherenceTomographyImageStorageForPresentation, sopClassDictionary/* default */.A.IntravascularOpticalCoherenceTomographyImageStorageForProcessing, sopClassDictionary/* default */.A.NuclearMedicineImageStorage, sopClassDictionary/* default */.A.VLEndoscopicImageStorage, sopClassDictionary/* default */.A.VideoEndoscopicImageStorage, sopClassDictionary/* default */.A.VLMicroscopicImageStorage, sopClassDictionary/* default */.A.VideoMicroscopicImageStorage, sopClassDictionary/* default */.A.VLSlideCoordinatesMicroscopicImageStorage, sopClassDictionary/* default */.A.VLPhotographicImageStorage, sopClassDictionary/* default */.A.VideoPhotographicImageStorage, sopClassDictionary/* default */.A.OphthalmicPhotography8BitImageStorage, sopClassDictionary/* default */.A.OphthalmicPhotography16BitImageStorage, sopClassDictionary/* default */.A.OphthalmicTomographyImageStorage, sopClassDictionary/* default */.A.VLWholeSlideMicroscopyImageStorage, sopClassDictionary/* default */.A.PositronEmissionTomographyImageStorage, sopClassDictionary/* default */.A.EnhancedPETImageStorage, sopClassDictionary/* default */.A.LegacyConvertedEnhancedPETImageStorage, sopClassDictionary/* default */.A.RTImageStorage, sopClassDictionary/* default */.A.EnhancedUSVolumeStorage];
4755
+ const getSopClassHandlerModule_sopClassUids = [sopClassDictionary/* default */.Z.ComputedRadiographyImageStorage, sopClassDictionary/* default */.Z.DigitalXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.DigitalXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.DigitalMammographyXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.DigitalMammographyXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.DigitalIntraOralXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.DigitalIntraOralXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.CTImageStorage, sopClassDictionary/* default */.Z.EnhancedCTImageStorage, sopClassDictionary/* default */.Z.LegacyConvertedEnhancedCTImageStorage, sopClassDictionary/* default */.Z.UltrasoundMultiframeImageStorage, sopClassDictionary/* default */.Z.MRImageStorage, sopClassDictionary/* default */.Z.EnhancedMRImageStorage, sopClassDictionary/* default */.Z.EnhancedMRColorImageStorage, sopClassDictionary/* default */.Z.LegacyConvertedEnhancedMRImageStorage, sopClassDictionary/* default */.Z.UltrasoundImageStorage, sopClassDictionary/* default */.Z.UltrasoundImageStorageRET, sopClassDictionary/* default */.Z.SecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeSingleBitSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeGrayscaleByteSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeGrayscaleWordSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.MultiframeTrueColorSecondaryCaptureImageStorage, sopClassDictionary/* default */.Z.XRayAngiographicImageStorage, sopClassDictionary/* default */.Z.EnhancedXAImageStorage, sopClassDictionary/* default */.Z.XRayRadiofluoroscopicImageStorage, sopClassDictionary/* default */.Z.EnhancedXRFImageStorage, sopClassDictionary/* default */.Z.XRay3DAngiographicImageStorage, sopClassDictionary/* default */.Z.XRay3DCraniofacialImageStorage, sopClassDictionary/* default */.Z.BreastTomosynthesisImageStorage, sopClassDictionary/* default */.Z.BreastProjectionXRayImageStorageForPresentation, sopClassDictionary/* default */.Z.BreastProjectionXRayImageStorageForProcessing, sopClassDictionary/* default */.Z.IntravascularOpticalCoherenceTomographyImageStorageForPresentation, sopClassDictionary/* default */.Z.IntravascularOpticalCoherenceTomographyImageStorageForProcessing, sopClassDictionary/* default */.Z.NuclearMedicineImageStorage, sopClassDictionary/* default */.Z.VLEndoscopicImageStorage, sopClassDictionary/* default */.Z.VideoEndoscopicImageStorage, sopClassDictionary/* default */.Z.VLMicroscopicImageStorage, sopClassDictionary/* default */.Z.VideoMicroscopicImageStorage, sopClassDictionary/* default */.Z.VLSlideCoordinatesMicroscopicImageStorage, sopClassDictionary/* default */.Z.VLPhotographicImageStorage, sopClassDictionary/* default */.Z.VideoPhotographicImageStorage, sopClassDictionary/* default */.Z.OphthalmicPhotography8BitImageStorage, sopClassDictionary/* default */.Z.OphthalmicPhotography16BitImageStorage, sopClassDictionary/* default */.Z.OphthalmicTomographyImageStorage, sopClassDictionary/* default */.Z.VLWholeSlideMicroscopyImageStorage, sopClassDictionary/* default */.Z.PositronEmissionTomographyImageStorage, sopClassDictionary/* default */.Z.EnhancedPETImageStorage, sopClassDictionary/* default */.Z.LegacyConvertedEnhancedPETImageStorage, sopClassDictionary/* default */.Z.RTImageStorage, sopClassDictionary/* default */.Z.EnhancedUSVolumeStorage];
4781
4756
  function getSopClassHandlerModule(appContextParam) {
4782
4757
  appContext = appContextParam;
4783
4758
  return [{
@@ -4803,7 +4778,7 @@ function ToolbarDivider() {
4803
4778
  });
4804
4779
  }
4805
4780
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Toolbar/ToolbarLayoutSelector.tsx
4806
- function ToolbarLayoutSelector_extends() { ToolbarLayoutSelector_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return ToolbarLayoutSelector_extends.apply(this, arguments); }
4781
+ function ToolbarLayoutSelector_extends() { return ToolbarLayoutSelector_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; }, ToolbarLayoutSelector_extends.apply(null, arguments); }
4807
4782
 
4808
4783
 
4809
4784
 
@@ -4947,8 +4922,8 @@ function LayoutSelector({
4947
4922
  const onInteractionHandler = () => {
4948
4923
  setIsOpen(!isOpen);
4949
4924
  };
4950
- const DropdownContent = isOpen ? ui_src/* LayoutSelector */.sG : null;
4951
- return /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.IB, {
4925
+ const DropdownContent = isOpen ? ui_src/* LayoutSelector */.OF : null;
4926
+ return /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.hA, {
4952
4927
  id: "Layout",
4953
4928
  label: "Layout",
4954
4929
  icon: "tool-layout",
@@ -4965,7 +4940,7 @@ function LayoutSelector({
4965
4940
  className: "text-aqua-pale text-xs"
4966
4941
  }, "Common"), /*#__PURE__*/react.createElement("div", {
4967
4942
  className: "flex gap-4"
4968
- }, commonPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.qu, {
4943
+ }, commonPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.W6, {
4969
4944
  key: index,
4970
4945
  classNames: "hover:bg-primary-dark group p-1 cursor-pointer",
4971
4946
  icon: preset.icon,
@@ -4977,7 +4952,7 @@ function LayoutSelector({
4977
4952
  className: "text-aqua-pale text-xs"
4978
4953
  }, "Advanced"), /*#__PURE__*/react.createElement("div", {
4979
4954
  className: "flex flex-col gap-2.5"
4980
- }, advancedPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.qu, {
4955
+ }, advancedPresets.map((preset, index) => /*#__PURE__*/react.createElement(ui_src/* LayoutPreset */.W6, {
4981
4956
  key: index + commonPresets.length,
4982
4957
  classNames: "hover:bg-primary-dark group flex gap-2 p-1 cursor-pointer",
4983
4958
  icon: preset.icon,
@@ -5008,7 +4983,7 @@ LayoutSelector.propTypes = {
5008
4983
  };
5009
4984
  /* harmony default export */ const ToolbarLayoutSelector = (ToolbarLayoutSelectorWithServices);
5010
4985
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Toolbar/ToolbarSplitButtonWithServices.tsx
5011
- function ToolbarSplitButtonWithServices_extends() { ToolbarSplitButtonWithServices_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return ToolbarSplitButtonWithServices_extends.apply(this, arguments); }
4986
+ function ToolbarSplitButtonWithServices_extends() { return ToolbarSplitButtonWithServices_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; }, ToolbarSplitButtonWithServices_extends.apply(null, arguments); }
5012
4987
 
5013
4988
 
5014
4989
 
@@ -5037,9 +5012,9 @@ function ToolbarSplitButtonWithServices({
5037
5012
  });
5038
5013
  }
5039
5014
  })), []);
5040
- const PrimaryButtonComponent = toolbarService?.getButtonComponentForUIType(primary.uiType) ?? ui_src/* ToolbarButton */.IB;
5015
+ const PrimaryButtonComponent = toolbarService?.getButtonComponentForUIType(primary.uiType) ?? ui_src/* ToolbarButton */.hA;
5041
5016
  const listItemRenderer = renderer;
5042
- return /*#__PURE__*/react.createElement(ui_src/* SplitButton */.fk, {
5017
+ return /*#__PURE__*/react.createElement(ui_src/* SplitButton */.aW, {
5043
5018
  primary: primary,
5044
5019
  secondary: secondary,
5045
5020
  items: getSplitButtonItems(items),
@@ -5091,7 +5066,7 @@ function ToolbarButtonGroupWithServices({
5091
5066
  onInteraction,
5092
5067
  size
5093
5068
  }) {
5094
- const getSplitButtonItems = (0,react.useCallback)(items => items.map((item, index) => /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.IB, {
5069
+ const getSplitButtonItems = (0,react.useCallback)(items => items.map((item, index) => /*#__PURE__*/react.createElement(ui_src/* ToolbarButton */.hA, {
5095
5070
  key: item.id,
5096
5071
  icon: item.icon,
5097
5072
  label: item.label,
@@ -5113,7 +5088,7 @@ function ToolbarButtonGroupWithServices({
5113
5088
  ,
5114
5089
  toolTipClassName: ""
5115
5090
  })), [onInteraction, groupId]);
5116
- return /*#__PURE__*/react.createElement(ui_src/* ButtonGroup */.e2, null, getSplitButtonItems(items));
5091
+ return /*#__PURE__*/react.createElement(ui_src/* ButtonGroup */.hE, null, getSplitButtonItems(items));
5117
5092
  }
5118
5093
  /* harmony default export */ const Toolbar_ToolbarButtonGroupWithServices = (ToolbarButtonGroupWithServices);
5119
5094
  ;// CONCATENATED MODULE: ../../../extensions/default/src/Components/ProgressDropdownWithService.tsx
@@ -5191,7 +5166,7 @@ function ProgressDropdownWithService({
5191
5166
  unsubActiveStepChanged();
5192
5167
  };
5193
5168
  }, [servicesManager, workflowStepsService]);
5194
- return /*#__PURE__*/react.createElement(ui_src/* ProgressDropdown */.LW, {
5169
+ return /*#__PURE__*/react.createElement(ui_src/* ProgressDropdown */.LU, {
5195
5170
  options: dropdownOptions,
5196
5171
  value: activeStepId,
5197
5172
  onChange: handleDropdownChange
@@ -5218,7 +5193,7 @@ function getToolbarModule({
5218
5193
  } = servicesManager.services;
5219
5194
  return [{
5220
5195
  name: 'ohif.radioGroup',
5221
- defaultComponent: ui_src/* ToolbarButton */.IB
5196
+ defaultComponent: ui_src/* ToolbarButton */.hA
5222
5197
  }, {
5223
5198
  name: 'ohif.divider',
5224
5199
  defaultComponent: ToolbarDivider
@@ -5435,9 +5410,9 @@ function adaptItem(item, subProps) {
5435
5410
  return newItem;
5436
5411
  }
5437
5412
  // EXTERNAL MODULE: ../../ui/src/components/ContextMenu/ContextMenu.tsx
5438
- var ContextMenu = __webpack_require__(117);
5413
+ var ContextMenu = __webpack_require__(58705);
5439
5414
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
5440
- var dist_esm = __webpack_require__(39371);
5415
+ var dist_esm = __webpack_require__(93725);
5441
5416
  ;// CONCATENATED MODULE: ../../../extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx
5442
5417
  var _ContextMenuController;
5443
5418
 
@@ -5508,7 +5483,7 @@ class ContextMenuController {
5508
5483
  preventCutOf: true,
5509
5484
  defaultPosition: ContextMenuController._getDefaultPosition(defaultPointsPosition, event?.detail, viewportElement),
5510
5485
  event,
5511
- content: ContextMenu/* default */.A,
5486
+ content: ContextMenu/* default */.Z,
5512
5487
  // This naming is part of the uiDialogService convention
5513
5488
  // Clicking outside simply closes the dialog box.
5514
5489
  onClickOutside: () => this.services.uiDialogService.dismiss({
@@ -5656,12 +5631,12 @@ const defaultContextMenu = {
5656
5631
 
5657
5632
 
5658
5633
  // EXTERNAL MODULE: ../../../node_modules/moment/moment.js
5659
- var moment = __webpack_require__(8291);
5634
+ var moment = __webpack_require__(71271);
5660
5635
  var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
5661
5636
  // EXTERNAL MODULE: ../../../node_modules/react-window/dist/index.esm.js
5662
- var index_esm = __webpack_require__(6943);
5637
+ var index_esm = __webpack_require__(94614);
5663
5638
  // EXTERNAL MODULE: ../../../node_modules/classnames/index.js
5664
- var classnames = __webpack_require__(61466);
5639
+ var classnames = __webpack_require__(33901);
5665
5640
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
5666
5641
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomTagBrowser/DicomTagTable.tsx
5667
5642
 
@@ -5835,7 +5810,7 @@ function DicomTagTable({
5835
5810
  style: {
5836
5811
  height: '32rem'
5837
5812
  }
5838
- }, isHeaderRendered() && /*#__PURE__*/react.createElement(index_esm/* VariableSizeList */._m, {
5813
+ }, isHeaderRendered() && /*#__PURE__*/react.createElement(index_esm/* VariableSizeList */.S_, {
5839
5814
  ref: listRef,
5840
5815
  height: 500,
5841
5816
  itemCount: rows.length,
@@ -5862,7 +5837,7 @@ const {
5862
5837
  } = src.classes;
5863
5838
  const {
5864
5839
  DicomMetaDictionary: DicomTagBrowser_DicomMetaDictionary
5865
- } = dcmjs_es/* default.data */.Ay.data;
5840
+ } = dcmjs_es["default"].data;
5866
5841
  const {
5867
5842
  nameMap
5868
5843
  } = DicomTagBrowser_DicomMetaDictionary;
@@ -5952,12 +5927,12 @@ const DicomTagBrowser = ({
5952
5927
  className: "mb-6 flex flex-row items-center pl-1"
5953
5928
  }, /*#__PURE__*/react.createElement("div", {
5954
5929
  className: "flex w-1/2 flex-row items-center"
5955
- }, /*#__PURE__*/react.createElement(ui_src/* Typography */.o5, {
5930
+ }, /*#__PURE__*/react.createElement(ui_src/* Typography */.ZT, {
5956
5931
  variant: "subtitle",
5957
5932
  className: "mr-4"
5958
5933
  }, "Series"), /*#__PURE__*/react.createElement("div", {
5959
5934
  className: "mr-8 grow"
5960
- }, /*#__PURE__*/react.createElement(ui_src/* Select */.l6, {
5935
+ }, /*#__PURE__*/react.createElement(ui_src/* Select */.Ph, {
5961
5936
  id: "display-set-selector",
5962
5937
  isClearable: false,
5963
5938
  onChange: onSelectChange,
@@ -5966,12 +5941,12 @@ const DicomTagBrowser = ({
5966
5941
  className: "text-white"
5967
5942
  }))), /*#__PURE__*/react.createElement("div", {
5968
5943
  className: "flex w-1/2 flex-row items-center"
5969
- }, showInstanceList && /*#__PURE__*/react.createElement(ui_src/* Typography */.o5, {
5944
+ }, showInstanceList && /*#__PURE__*/react.createElement(ui_src/* Typography */.ZT, {
5970
5945
  variant: "subtitle",
5971
5946
  className: "mr-4"
5972
5947
  }, "Instance Number"), showInstanceList && /*#__PURE__*/react.createElement("div", {
5973
5948
  className: "grow"
5974
- }, /*#__PURE__*/react.createElement(ui_src/* InputRange */.Qr, {
5949
+ }, /*#__PURE__*/react.createElement(ui_src/* InputRange */.OX, {
5975
5950
  value: instanceNumber,
5976
5951
  key: selectedDisplaySetInstanceUID,
5977
5952
  onChange: value => {
@@ -5987,7 +5962,7 @@ const DicomTagBrowser = ({
5987
5962
  className: "h-1 w-full bg-black"
5988
5963
  }), /*#__PURE__*/react.createElement("div", {
5989
5964
  className: "my-3 flex w-1/2 flex-row"
5990
- }, /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.Cv, {
5965
+ }, /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.Xe, {
5991
5966
  className: "mr-8 block w-full",
5992
5967
  placeholder: "Search metadata...",
5993
5968
  onDebounceChange: setFilterValue
@@ -6011,7 +5986,7 @@ function getFormattedRowsFromTags(tags, metadata) {
6011
5986
  } else {
6012
5987
  if (tagInfo.vr === 'xs') {
6013
5988
  try {
6014
- const tag = dcmjs_es/* default.data */.Ay.data.Tag.fromPString(tagInfo.tag).toCleanString();
5989
+ const tag = dcmjs_es["default"].data.Tag.fromPString(tagInfo.tag).toCleanString();
6015
5990
  const originalTagInfo = metadata[tag];
6016
5991
  tagInfo.vr = originalTagInfo.vr;
6017
5992
  } catch (error) {
@@ -6333,7 +6308,7 @@ const findViewportsByPosition = (state, {
6333
6308
  };
6334
6309
  /* harmony default export */ const src_findViewportsByPosition = (findViewportsByPosition);
6335
6310
  // EXTERNAL MODULE: ./index.js + 35 modules
6336
- var index = __webpack_require__(40335);
6311
+ var index = __webpack_require__(6317);
6337
6312
  ;// CONCATENATED MODULE: ../../../extensions/default/src/commandsModule.ts
6338
6313
 
6339
6314
 
@@ -6732,7 +6707,7 @@ const commandsModule = ({
6732
6707
  * for `replace` is false
6733
6708
  */
6734
6709
  navigateHistory(historyArgs) {
6735
- index/* history */.b.navigate(historyArgs.to, historyArgs.options);
6710
+ index/* history */.m.navigate(historyArgs.to, historyArgs.options);
6736
6711
  },
6737
6712
  openDICOMTagViewer() {
6738
6713
  const {
@@ -6801,12 +6776,7 @@ const commandsModule = ({
6801
6776
  excludeNonImageModalities
6802
6777
  }) => {
6803
6778
  const nonImageModalities = ['SR', 'SEG', 'SM', 'RTSTRUCT', 'RTPLAN', 'RTDOSE'];
6804
-
6805
- // Sort the display sets as per the hanging protocol service viewport/display set scoring system.
6806
- // The thumbnail list uses the same sorting.
6807
- const dsSortFn = hangingProtocolService.getDisplaySetSortFunction();
6808
6779
  const currentDisplaySets = [...displaySetService.activeDisplaySets];
6809
- currentDisplaySets.sort(dsSortFn);
6810
6780
  const {
6811
6781
  activeViewportId,
6812
6782
  viewports,
@@ -7860,8 +7830,8 @@ function getHangingProtocolModule() {
7860
7830
 
7861
7831
 
7862
7832
  function DataSourceSelector() {
7863
- const [appConfig] = (0,state/* useAppConfig */.r)();
7864
- const navigate = (0,dist/* useNavigate */.Zp)();
7833
+ const [appConfig] = (0,state/* useAppConfig */.M)();
7834
+ const navigate = (0,dist/* useNavigate */.s0)();
7865
7835
 
7866
7836
  // This is frowned upon, but the raw config is needed here to provide
7867
7837
  // the selector
@@ -7885,8 +7855,8 @@ function DataSourceSelector() {
7885
7855
  key: ds.sourceName
7886
7856
  }, /*#__PURE__*/react.createElement("h1", {
7887
7857
  className: "text-white"
7888
- }, ds.configuration?.friendlyName || ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
7889
- type: ui_src/* ButtonEnums.type */.Ny.NW.primary,
7858
+ }, ds.configuration?.friendlyName || ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
7859
+ type: ui_src/* ButtonEnums.type */.LZ.dt.primary,
7890
7860
  className: classnames_default()('ml-2'),
7891
7861
  onClick: () => {
7892
7862
  navigate({
@@ -7909,7 +7879,7 @@ function ItemListComponent({
7909
7879
  }) {
7910
7880
  const {
7911
7881
  t
7912
- } = (0,es/* useTranslation */.Bd)('DataSourceConfiguration');
7882
+ } = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
7913
7883
  const [filterValue, setFilterValue] = (0,react.useState)('');
7914
7884
  (0,react.useEffect)(() => {
7915
7885
  setFilterValue('');
@@ -7920,18 +7890,18 @@ function ItemListComponent({
7920
7890
  className: "flex items-center justify-between"
7921
7891
  }, /*#__PURE__*/react.createElement("div", {
7922
7892
  className: "text-primary-light text-[20px]"
7923
- }, t(`Select ${itemLabel}`)), /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.Cv, {
7893
+ }, t(`Select ${itemLabel}`)), /*#__PURE__*/react.createElement(ui_src/* InputFilterText */.Xe, {
7924
7894
  className: "max-w-[40%] grow",
7925
7895
  value: filterValue,
7926
7896
  onDebounceChange: setFilterValue,
7927
7897
  placeholder: t(`Search ${itemLabel} list`)
7928
7898
  })), /*#__PURE__*/react.createElement("div", {
7929
7899
  className: "relative flex min-h-[1px] grow flex-col bg-black text-[14px]"
7930
- }, itemList == null ? /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.Jx, {
7900
+ }, itemList == null ? /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorProgress */.LE, {
7931
7901
  className: 'h-full w-full'
7932
7902
  }) : itemList.length === 0 ? /*#__PURE__*/react.createElement("div", {
7933
7903
  className: "text-primary-light flex h-full flex-col items-center justify-center px-6 py-4"
7934
- }, /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
7904
+ }, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
7935
7905
  name: "magnifier",
7936
7906
  className: "mb-4"
7937
7907
  }), /*#__PURE__*/react.createElement("span", null, t(`No ${itemLabel} available`))) : /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
@@ -7943,10 +7913,10 @@ function ItemListComponent({
7943
7913
  return /*#__PURE__*/react.createElement("div", {
7944
7914
  className: classnames_default()('hover:text-primary-light hover:bg-primary-dark group mx-2 flex items-center justify-between px-6 py-2', border),
7945
7915
  key: item.id
7946
- }, /*#__PURE__*/react.createElement("div", null, item.name), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
7916
+ }, /*#__PURE__*/react.createElement("div", null, item.name), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
7947
7917
  onClick: () => onItemClicked(item),
7948
7918
  className: "invisible group-hover:visible",
7949
- endIcon: /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
7919
+ endIcon: /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
7950
7920
  name: "arrow-left"
7951
7921
  })
7952
7922
  }, t('Select')));
@@ -7967,7 +7937,7 @@ function DataSourceConfigurationModalComponent({
7967
7937
  }) {
7968
7938
  const {
7969
7939
  t
7970
- } = (0,es/* useTranslation */.Bd)('DataSourceConfiguration');
7940
+ } = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
7971
7941
  const [itemList, setItemList] = (0,react.useState)();
7972
7942
  const [selectedItems, setSelectedItems] = (0,react.useState)(configuredItems);
7973
7943
  const [errorMessage, setErrorMessage] = (0,react.useState)();
@@ -8041,9 +8011,9 @@ function DataSourceConfigurationModalComponent({
8041
8011
  } : undefined
8042
8012
  }, /*#__PURE__*/react.createElement("div", {
8043
8013
  className: "text- flex items-center gap-2"
8044
- }, itemLabelIndex < selectedItems.length ? /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
8014
+ }, itemLabelIndex < selectedItems.length ? /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
8045
8015
  name: "status-tracked"
8046
- }) : /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
8016
+ }) : /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
8047
8017
  name: "status-untracked"
8048
8018
  }), /*#__PURE__*/react.createElement("div", {
8049
8019
  className: classnames_default()(NO_WRAP_ELLIPSIS_CLASS_NAMES)
@@ -8077,11 +8047,11 @@ function DataSourceConfigurationComponent({
8077
8047
  }) {
8078
8048
  const {
8079
8049
  t
8080
- } = (0,es/* useTranslation */.Bd)('DataSourceConfiguration');
8050
+ } = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
8081
8051
  const {
8082
8052
  show,
8083
8053
  hide
8084
- } = (0,ui_src/* useModal */.hS)();
8054
+ } = (0,ui_src/* useModal */.dd)();
8085
8055
  const {
8086
8056
  customizationService
8087
8057
  } = servicesManager.services;
@@ -8140,7 +8110,7 @@ function DataSourceConfigurationComponent({
8140
8110
  }, [configurationAPI, configuredItems, showConfigurationModal]);
8141
8111
  return configuredItems ? /*#__PURE__*/react.createElement("div", {
8142
8112
  className: "text-aqua-pale flex items-center overflow-hidden"
8143
- }, /*#__PURE__*/react.createElement(ui_src/* Icon */.In, {
8113
+ }, /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
8144
8114
  name: "settings",
8145
8115
  className: "mr-2.5 h-3.5 w-3.5 shrink-0 cursor-pointer",
8146
8116
  onClick: showConfigurationModal
@@ -8329,6 +8299,8 @@ class GoogleCloudDataSourceConfigurationAPI {
8329
8299
 
8330
8300
 
8331
8301
 
8302
+ const getCustomizationModule_formatDate = src.utils.formatDate;
8303
+
8332
8304
  /**
8333
8305
  *
8334
8306
  * Note: this is an example of how the customization module can be used
@@ -8471,6 +8443,21 @@ function getCustomizationModule({
8471
8443
  }, {
8472
8444
  id: 'progressDropdownWithServiceComponent',
8473
8445
  component: ProgressDropdownWithService
8446
+ }, {
8447
+ id: 'studyBrowser.sortFunctions',
8448
+ values: [{
8449
+ label: 'Series Number',
8450
+ sortFunction: (a, b) => {
8451
+ return a?.SeriesNumber - b?.SeriesNumber;
8452
+ }
8453
+ }, {
8454
+ label: 'Series Date',
8455
+ sortFunction: (a, b) => {
8456
+ const dateA = new Date(getCustomizationModule_formatDate(a?.SeriesDate));
8457
+ const dateB = new Date(getCustomizationModule_formatDate(b?.SeriesDate));
8458
+ return dateB.getTime() - dateA.getTime();
8459
+ }
8460
+ }]
8474
8461
  }]
8475
8462
  }];
8476
8463
  }
@@ -8485,7 +8472,7 @@ const LineChartViewport = ({
8485
8472
  axis: chartAxis,
8486
8473
  series: chartSeries
8487
8474
  } = displaySet.instance.chartData;
8488
- return /*#__PURE__*/react.createElement(ui_src/* LineChart */.bl, {
8475
+ return /*#__PURE__*/react.createElement(ui_src/* LineChart */.wW, {
8489
8476
  showLegend: true,
8490
8477
  legendWidth: 150,
8491
8478
  axis: {
@@ -8523,10 +8510,10 @@ const getViewportModule = ({
8523
8510
  };
8524
8511
 
8525
8512
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/calculate-suv/dist/calculate-suv.esm.js
8526
- var calculate_suv_esm = __webpack_require__(79717);
8513
+ var calculate_suv_esm = __webpack_require__(15747);
8527
8514
  ;// CONCATENATED MODULE: ../../../extensions/default/src/getPTImageIdInstanceMetadata.ts
8528
8515
 
8529
- const getPTImageIdInstanceMetadata_metadataProvider = src/* default.classes */.Ay.classes.MetadataProvider;
8516
+ const getPTImageIdInstanceMetadata_metadataProvider = src["default"].classes.MetadataProvider;
8530
8517
  function getPTImageIdInstanceMetadata(imageId) {
8531
8518
  const dicomMetaData = getPTImageIdInstanceMetadata_metadataProvider.get('instance', imageId);
8532
8519
  if (!dicomMetaData) {
@@ -8782,7 +8769,7 @@ const handlePETImageMetadata = ({
8782
8769
  if (!instanceMetadataArray.length) {
8783
8770
  return;
8784
8771
  }
8785
- const suvScalingFactors = (0,calculate_suv_esm/* calculateSUVScalingFactors */.C)(instanceMetadataArray);
8772
+ const suvScalingFactors = (0,calculate_suv_esm/* calculateSUVScalingFactors */.d)(instanceMetadataArray);
8786
8773
  instanceMetadataArray.forEach((instanceMetadata, index) => {
8787
8774
  init_metadataProvider.addCustomMetadata(imageIds[index], 'scalingModule', suvScalingFactors[index]);
8788
8775
  });