@aics/vole-app 2.11.0

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 (135) hide show
  1. package/LICENSE +33 -0
  2. package/LICENSE.txt +26 -0
  3. package/README.md +45 -0
  4. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.eot +0 -0
  5. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.js +2337 -0
  6. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.svg +604 -0
  7. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.ttf +0 -0
  8. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.woff +0 -0
  9. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.woff2 +0 -0
  10. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.eot +0 -0
  11. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.js +2336 -0
  12. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.svg +604 -0
  13. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.ttf +0 -0
  14. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.woff +0 -0
  15. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.woff2 +0 -0
  16. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.eot +0 -0
  17. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.js +2337 -0
  18. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.svg +604 -0
  19. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.ttf +0 -0
  20. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.woff +0 -0
  21. package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.woff2 +0 -0
  22. package/es/aics-image-viewer/assets/icons/axes.js +20 -0
  23. package/es/aics-image-viewer/assets/icons/boundingBox.js +18 -0
  24. package/es/aics-image-viewer/assets/icons/camera.js +15 -0
  25. package/es/aics-image-viewer/assets/icons/channels.js +15 -0
  26. package/es/aics-image-viewer/assets/icons/closePanel.js +18 -0
  27. package/es/aics-image-viewer/assets/icons/download.js +17 -0
  28. package/es/aics-image-viewer/assets/icons/dropdownArrow.js +15 -0
  29. package/es/aics-image-viewer/assets/icons/index.js +24 -0
  30. package/es/aics-image-viewer/assets/icons/metadata.js +15 -0
  31. package/es/aics-image-viewer/assets/icons/preferences.js +15 -0
  32. package/es/aics-image-viewer/assets/icons/resetView.js +16 -0
  33. package/es/aics-image-viewer/assets/icons/svg.d.js +0 -0
  34. package/es/aics-image-viewer/assets/icons/turnTable.js +18 -0
  35. package/es/aics-image-viewer/assets/styles/animatedEllipsis.css +21 -0
  36. package/es/aics-image-viewer/assets/styles/globals.css +35 -0
  37. package/es/aics-image-viewer/assets/styles/noui-slider-override.css +1 -0
  38. package/es/aics-image-viewer/assets/styles/variables.css +1 -0
  39. package/es/aics-image-viewer/components/App/ChannelUpdater.js +96 -0
  40. package/es/aics-image-viewer/components/App/index.js +849 -0
  41. package/es/aics-image-viewer/components/App/styles.css +60 -0
  42. package/es/aics-image-viewer/components/App/types.js +1 -0
  43. package/es/aics-image-viewer/components/AxisClipSliders/index.js +285 -0
  44. package/es/aics-image-viewer/components/AxisClipSliders/styles.css +257 -0
  45. package/es/aics-image-viewer/components/BottomPanel/index.js +70 -0
  46. package/es/aics-image-viewer/components/BottomPanel/styles.css +85 -0
  47. package/es/aics-image-viewer/components/CellViewerCanvasWrapper/index.js +113 -0
  48. package/es/aics-image-viewer/components/CellViewerCanvasWrapper/styles.css +12 -0
  49. package/es/aics-image-viewer/components/ChannelsWidget.js +100 -0
  50. package/es/aics-image-viewer/components/ChannelsWidgetRow/index.js +158 -0
  51. package/es/aics-image-viewer/components/ChannelsWidgetRow/styles.css +38 -0
  52. package/es/aics-image-viewer/components/ColorPicker.js +120 -0
  53. package/es/aics-image-viewer/components/ControlPanel/index.js +180 -0
  54. package/es/aics-image-viewer/components/ControlPanel/styles.css +169 -0
  55. package/es/aics-image-viewer/components/CustomizeWidget.js +46 -0
  56. package/es/aics-image-viewer/components/ErrorAlert/index.js +144 -0
  57. package/es/aics-image-viewer/components/ErrorAlert/styles.css +22 -0
  58. package/es/aics-image-viewer/components/GlobalVolumeControls.js +38 -0
  59. package/es/aics-image-viewer/components/MetadataViewer/index.js +99 -0
  60. package/es/aics-image-viewer/components/MetadataViewer/styles.css +81 -0
  61. package/es/aics-image-viewer/components/StyleProvider/index.js +210 -0
  62. package/es/aics-image-viewer/components/TfEditor/index.js +584 -0
  63. package/es/aics-image-viewer/components/TfEditor/styles.css +88 -0
  64. package/es/aics-image-viewer/components/Toolbar/DownloadButton.js +55 -0
  65. package/es/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.js +22 -0
  66. package/es/aics-image-viewer/components/Toolbar/index.js +274 -0
  67. package/es/aics-image-viewer/components/Toolbar/styles.css +241 -0
  68. package/es/aics-image-viewer/components/ViewerStateProvider/ResetStateProvider.js +160 -0
  69. package/es/aics-image-viewer/components/ViewerStateProvider/index.js +261 -0
  70. package/es/aics-image-viewer/components/ViewerStateProvider/types.js +1 -0
  71. package/es/aics-image-viewer/components/shared/NumericInput/index.js +147 -0
  72. package/es/aics-image-viewer/components/shared/NumericInput/styles.css +64 -0
  73. package/es/aics-image-viewer/components/shared/SharedCheckBox.js +17 -0
  74. package/es/aics-image-viewer/components/shared/SliderRow/index.js +31 -0
  75. package/es/aics-image-viewer/components/shared/SliderRow/styles.css +19 -0
  76. package/es/aics-image-viewer/components/shared/SmarterSlider.js +40 -0
  77. package/es/aics-image-viewer/components/shared/ViewerIcon.js +22 -0
  78. package/es/aics-image-viewer/shared/colorPalette.js +19 -0
  79. package/es/aics-image-viewer/shared/constants.js +164 -0
  80. package/es/aics-image-viewer/shared/enums.js +18 -0
  81. package/es/aics-image-viewer/shared/types.js +6 -0
  82. package/es/aics-image-viewer/shared/utils/colorRepresentations.js +16 -0
  83. package/es/aics-image-viewer/shared/utils/controlPointsToLut.js +182 -0
  84. package/es/aics-image-viewer/shared/utils/hooks.js +51 -0
  85. package/es/aics-image-viewer/shared/utils/httpClient.js +57 -0
  86. package/es/aics-image-viewer/shared/utils/playControls.js +97 -0
  87. package/es/aics-image-viewer/shared/utils/sceneStore.js +140 -0
  88. package/es/aics-image-viewer/shared/utils/sliderValuesToImageValues.js +36 -0
  89. package/es/aics-image-viewer/shared/utils/test/viewerChannelSettings.test.js +132 -0
  90. package/es/aics-image-viewer/shared/utils/utilsService.js +54 -0
  91. package/es/aics-image-viewer/shared/utils/viewerChannelSettings.js +152 -0
  92. package/es/aics-image-viewer/shared/utils/viewerState.js +69 -0
  93. package/es/aics-image-viewer/shared/utils/webgl-debug.js +1103 -0
  94. package/es/index.js +4 -0
  95. package/package.json +130 -0
  96. package/type-declarations/aics-image-viewer/assets/icons/index.d.ts +14 -0
  97. package/type-declarations/aics-image-viewer/components/App/ChannelUpdater.d.ts +16 -0
  98. package/type-declarations/aics-image-viewer/components/App/index.d.ts +6 -0
  99. package/type-declarations/aics-image-viewer/components/App/types.d.ts +45 -0
  100. package/type-declarations/aics-image-viewer/components/AxisClipSliders/index.d.ts +24 -0
  101. package/type-declarations/aics-image-viewer/components/BottomPanel/index.d.ts +11 -0
  102. package/type-declarations/aics-image-viewer/components/CellViewerCanvasWrapper/index.d.ts +33 -0
  103. package/type-declarations/aics-image-viewer/components/ChannelsWidget.d.ts +19 -0
  104. package/type-declarations/aics-image-viewer/components/ChannelsWidgetRow/index.d.ts +17 -0
  105. package/type-declarations/aics-image-viewer/components/ColorPicker.d.ts +13 -0
  106. package/type-declarations/aics-image-viewer/components/ControlPanel/index.d.ts +20 -0
  107. package/type-declarations/aics-image-viewer/components/CustomizeWidget.d.ts +15 -0
  108. package/type-declarations/aics-image-viewer/components/ErrorAlert/index.d.ts +12 -0
  109. package/type-declarations/aics-image-viewer/components/GlobalVolumeControls.d.ts +21 -0
  110. package/type-declarations/aics-image-viewer/components/MetadataViewer/index.d.ts +7 -0
  111. package/type-declarations/aics-image-viewer/components/StyleProvider/index.d.ts +5 -0
  112. package/type-declarations/aics-image-viewer/components/TfEditor/index.d.ts +19 -0
  113. package/type-declarations/aics-image-viewer/components/Toolbar/DownloadButton.d.ts +8 -0
  114. package/type-declarations/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.d.ts +8 -0
  115. package/type-declarations/aics-image-viewer/components/Toolbar/index.d.ts +31 -0
  116. package/type-declarations/aics-image-viewer/components/ViewerStateProvider/ResetStateProvider.d.ts +34 -0
  117. package/type-declarations/aics-image-viewer/components/ViewerStateProvider/index.d.ts +33 -0
  118. package/type-declarations/aics-image-viewer/components/ViewerStateProvider/types.d.ts +105 -0
  119. package/type-declarations/aics-image-viewer/components/shared/NumericInput/index.d.ts +19 -0
  120. package/type-declarations/aics-image-viewer/components/shared/SharedCheckBox.d.ts +9 -0
  121. package/type-declarations/aics-image-viewer/components/shared/SliderRow/index.d.ts +17 -0
  122. package/type-declarations/aics-image-viewer/components/shared/SmarterSlider.d.ts +5 -0
  123. package/type-declarations/aics-image-viewer/components/shared/ViewerIcon.d.ts +9 -0
  124. package/type-declarations/aics-image-viewer/shared/constants.d.ts +40 -0
  125. package/type-declarations/aics-image-viewer/shared/enums.d.ts +15 -0
  126. package/type-declarations/aics-image-viewer/shared/types.d.ts +15 -0
  127. package/type-declarations/aics-image-viewer/shared/utils/colorRepresentations.d.ts +10 -0
  128. package/type-declarations/aics-image-viewer/shared/utils/controlPointsToLut.d.ts +53 -0
  129. package/type-declarations/aics-image-viewer/shared/utils/hooks.d.ts +14 -0
  130. package/type-declarations/aics-image-viewer/shared/utils/playControls.d.ts +27 -0
  131. package/type-declarations/aics-image-viewer/shared/utils/sceneStore.d.ts +17 -0
  132. package/type-declarations/aics-image-viewer/shared/utils/sliderValuesToImageValues.d.ts +10 -0
  133. package/type-declarations/aics-image-viewer/shared/utils/viewerChannelSettings.d.ts +46 -0
  134. package/type-declarations/aics-image-viewer/shared/utils/viewerState.d.ts +10 -0
  135. package/type-declarations/index.d.ts +7 -0
@@ -0,0 +1,20 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ viewBox: "0 0 20 20",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("circle", {
11
+ cx: 6.26,
12
+ cy: 12.84,
13
+ r: 1,
14
+ fill: "currentColor"
15
+ }), /*#__PURE__*/React.createElement("path", {
16
+ fill: "currentColor",
17
+ d: "m14.27 15.23.7-1.64H8.11c.09-.23.15-.48.15-.75s-.06-.52-.15-.75h6.86l-.7-1.64 5.66 2.39zM6.26.03 3.87 5.69 5.51 5v5.99q.345-.15.75-.15c.405 0 .52.05.75.15V5l1.64.69zM5.59 17.23.07 19.91 2 14.08l.77 1.6 1.61-1.83s.08-.06.11-.09c.23.44.62.78 1.09.95-.02.04-.04.09-.07.12L3.9 16.67z"
18
+ }));
19
+ };
20
+ export default SvgComponent;
@@ -0,0 +1,18 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ viewBox: "0 0 20 20",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ fill: "currentColor",
12
+ d: "M13.28 10.25a.38.38 0 1 0 .76 0V9a.38.38 0 1 0-.76 0zm-2.5 3.42a.38.38 0 0 0-.38-.38H9.15a.38.38 0 1 0 0 .76h1.25c.21 0 .38-.17.38-.38m3.93.52-.68-.67v-1.26a.38.38 0 1 0-.76 0v1.05h-.88a.38.38 0 1 0 0 .76h1.1l.68.67c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53Zm2.31 2.29-.89-.88a.377.377 0 0 0-.53 0c-.15.15-.15.38 0 .53l.89.88c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53M4.29 13.67a.38.38 0 0 0-.38-.38H2.66a.38.38 0 1 0 0 .76h1.25c.21 0 .38-.17.38-.38m8.98-9.92a.38.38 0 1 0 .76 0V2.5a.38.38 0 1 0-.76 0zm.75 2a.38.38 0 1 0-.76 0v.08h.75v-.08Zm-.38 1.62c.21 0 .38-.17.38-.38v-.17h-.75v.17c0 .21.17.38.38.38Zm0-3.25c.21 0 .38-.17.38-.38V2.49a.38.38 0 1 0-.76 0v1.25c0 .21.17.38.38.38M3.9 13.3H2.65a.38.38 0 1 0 0 .76H3.9a.38.38 0 1 0 0-.76m1.62.38c0 .19.14.34.32.36v-.73c-.18.03-.32.18-.32.36Zm10.59 1.93a.377.377 0 0 0-.53 0c-.15.15-.15.38 0 .53l.89.88c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53zm2.86 2.84-.56-.55a.37.37 0 0 0-.53 0c-.15.15-.15.38 0 .53l.55.54h.54zm-8.58-5.14H9.14a.38.38 0 1 0 0 .76h1.25a.38.38 0 1 0 0-.76m3.62.22v-1.26a.38.38 0 1 0-.76 0v1.05h-.88a.38.38 0 1 0 0 .76h1.1l.68.67c.07.07.17.11.26.11s.19-.04.27-.11c.15-.15.15-.38 0-.53l-.68-.67Zm-.37-2.89c.21 0 .38-.17.38-.38V9.01a.38.38 0 1 0-.76 0v1.25c0 .21.17.38.38.38m-6.12 3.05a.38.38 0 0 0-.38-.38h-.3v.75h.3c.21 0 .38-.17.38-.38Z"
13
+ }), /*#__PURE__*/React.createElement("path", {
14
+ fill: "currentColor",
15
+ d: "m19.83 5.98-.7-.69L14.7.88l-.69-.69a.5.5 0 0 0-.35-.15H.52c-.28 0-.5.22-.5.5v13.13c0 .14.06.26.15.35.46.46.7.69.7.69l4.44 4.41s.23.23.7.69c.09.09.21.15.35.15h13.13c.28 0 .5-.22.5-.5V6.33a.5.5 0 0 0-.15-.35ZM5.85 13.31v4.96l-4.29-4.26s-.19-.19-.55-.54V1.74L5.3 6s.19.19.55.54zm.16-8.02L1.73 1.04h11.71l.55.55 4.28 4.25H6.55L6 5.29Zm.84 13.68V6.83h12.13v12.13H6.85Z"
16
+ }));
17
+ };
18
+ export default SvgComponent;
@@ -0,0 +1,15 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ "data-name": "Layer 2",
7
+ viewBox: "0 0 32 32",
8
+ role: "img"
9
+ }, props), /*#__PURE__*/React.createElement("g", {
10
+ fill: "currentColor"
11
+ }, /*#__PURE__*/React.createElement("path", {
12
+ d: "M29.54 32H2.46C1.1 32 0 30.9 0 29.55V15.34c0-1.35 1.1-2.45 2.46-2.45H9.1c1.21 0 2.34-.54 3.1-1.48l.88-1.09a3.92 3.92 0 0 1 3.08-1.47h6.32c1.21 0 2.33.54 3.08 1.47l.88 1.09a3.97 3.97 0 0 0 3.1 1.48c1.36 0 2.46 1.1 2.46 2.45v14.21C32 30.9 30.9 32 29.54 32M2.46 13.9c-.8 0-1.46.65-1.46 1.45v14.21c0 .8.65 1.45 1.46 1.45h27.08c.8 0 1.46-.65 1.46-1.45V15.34c0-.8-.65-1.45-1.46-1.45-1.52 0-2.93-.68-3.88-1.85l-.88-1.09c-.56-.7-1.4-1.1-2.3-1.1h-6.32c-.9 0-1.74.4-2.3 1.1l-.88 1.09a4.95 4.95 0 0 1-3.88 1.85H2.46Zm4.25 4.85c.58 0 1.04-.46 1.04-1.03s-.47-1.03-1.04-1.03H5.04c-.58 0-1.04.46-1.04 1.03s.47 1.03 1.04 1.03zm12.61-3.24c2.81 0 5.09 2.29 5.09 5.1s-2.28 5.1-5.09 5.1-5.09-2.29-5.09-5.1 2.28-5.1 5.09-5.1m0-2c-3.91 0-7.09 3.18-7.09 7.1s3.17 7.1 7.09 7.1 7.09-3.18 7.09-7.1-3.17-7.1-7.09-7.1M19.39 3.87c-.28 0-.5-.22-.5-.5V.5c0-.28.22-.5.5-.5s.5.22.5.5v2.87c0 .28-.22.5-.5.5m4.76 1.12 2.15-2.34c.19-.2.17-.52-.03-.71a.514.514 0 0 0-.71.03l-2.15 2.34c-.19.2-.17.52.03.71.1.09.22.13.34.13a.5.5 0 0 0 .37-.16m-8.95.03c.2-.19.22-.5.03-.71l-2.15-2.34c-.19-.2-.5-.21-.71-.03-.2.19-.22.5-.03.71l2.15 2.34c.1.11.23.16.37.16.12 0 .24-.04.34-.13"
13
+ })));
14
+ };
15
+ export default SvgComponent;
@@ -0,0 +1,15 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ viewBox: "0 0 20 20",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ fill: "currentColor",
12
+ d: "M13.55 10.36h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76M2.65 6.64a.38.38 0 0 1-.38-.38v-.3c0-.26.03-.52.08-.78.04-.2.24-.33.45-.29.2.04.33.24.29.45-.04.2-.07.41-.07.62v.3c0 .21-.17.38-.38.38Zm1.06-2.7c-.1 0-.2-.04-.28-.12a.38.38 0 0 1 .02-.53c.27-.25.59-.46.92-.62.19-.09.41 0 .5.18s0 .41-.18.5c-.27.12-.51.29-.73.49-.07.07-.16.1-.25.1m9.78-.86h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76M13.44 17.69h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-3 0h-1a.38.38 0 1 1 0-.76h1a.38.38 0 1 1 0 .76m-2.95-.32c-.05 0-.11-.01-.16-.04-.33-.16-.64-.38-.91-.63-.15-.14-.16-.38-.02-.53s.38-.16.53-.02c.22.2.46.37.73.5.19.09.26.32.17.5-.06.13-.2.21-.34.21Zm-1.78-2.28c-.17 0-.33-.12-.37-.3-.05-.24-.07-.48-.07-.73v-.34a.38.38 0 1 1 .76 0v.34c0 .19.02.39.06.58.04.2-.09.4-.29.44h-.08ZM5.42 12.69H.01v-5.4h5.41zm-4.4-1h3.4v-3.4H1.01v3.4ZM19.99 5.41h-5.4V0h5.4zm-4.4-1h3.4V1h-3.4v3.4ZM19.99 12.69h-5.4v-5.4h5.4zm-4.4-1h3.4v-3.4h-3.4zM19.99 19.97h-5.4v-5.4h5.4zm-4.4-1h3.4v-3.4h-3.4z"
13
+ }));
14
+ };
15
+ export default SvgComponent;
@@ -0,0 +1,18 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ viewBox: "0 0 20 20",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ fill: "currentColor",
12
+ d: "M10.64 17.78c-.21 0-.41-.06-.59-.2-.44-.33-.54-.96-.21-1.4l4.59-6.21-4.6-6.21c-.33-.44-.23-1.07.21-1.4s1.07-.23 1.4.21l5.03 6.8c.26.35.26.84 0 1.19l-5.03 6.81a1 1 0 0 1-.81.41Z"
13
+ }), /*#__PURE__*/React.createElement("path", {
14
+ fill: "currentColor",
15
+ d: "M4.33 17.84c-.21 0-.41-.06-.59-.2-.44-.33-.54-.96-.21-1.4l4.59-6.21-4.59-6.21c-.33-.44-.23-1.07.21-1.4s1.07-.23 1.4.21l5.03 6.81c.26.35.26.83 0 1.19l-5.03 6.81a1 1 0 0 1-.81.41Z"
16
+ }));
17
+ };
18
+ export default SvgComponent;
@@ -0,0 +1,17 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ "data-name": "Layer 2",
7
+ viewBox: "0 0 32 32",
8
+ role: "img"
9
+ }, props), /*#__PURE__*/React.createElement("g", {
10
+ fill: "currentColor"
11
+ }, /*#__PURE__*/React.createElement("path", {
12
+ d: "M17 14.93V0h-2v14.93l-3.44-1.46L16 24l4.44-10.53z"
13
+ }), /*#__PURE__*/React.createElement("path", {
14
+ d: "M28.5 32h-25A2.5 2.5 0 0 1 1 29.5V20h1v9.5c0 .83.67 1.5 1.5 1.5h25c.83 0 1.5-.67 1.5-1.5V20h1v9.5a2.5 2.5 0 0 1-2.5 2.5"
15
+ })));
16
+ };
17
+ export default SvgComponent;
@@ -0,0 +1,15 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 14,
7
+ height: 14,
8
+ viewBox: "0 0 12 12",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ fill: "currentColor",
12
+ d: "M1.117 3.12a.47.47 0 0 1 .662.035L6.006 7.85l4.227-4.695a.469.469 0 1 1 .697.627L6.372 8.845A.47.47 0 0 1 6.006 9a.47.47 0 0 1-.366-.155L1.082 3.782a.47.47 0 0 1 .035-.662"
13
+ }));
14
+ };
15
+ export default SvgComponent;
@@ -0,0 +1,24 @@
1
+ import axes from "./axes.js";
2
+ import boundingBox from "./boundingBox.js";
3
+ import camera from "./camera.js";
4
+ import channels from "./channels.js";
5
+ import closePanel from "./closePanel.js";
6
+ import download from "./download.js";
7
+ import dropdownArrow from "./dropdownArrow.js";
8
+ import metadata from "./metadata.js";
9
+ import preferences from "./preferences.js";
10
+ import resetView from "./resetView.js";
11
+ import turnTable from "./turnTable.js";
12
+ export default {
13
+ axes: axes,
14
+ boundingBox: boundingBox,
15
+ camera: camera,
16
+ channels: channels,
17
+ closePanel: closePanel,
18
+ download: download,
19
+ dropdownArrow: dropdownArrow,
20
+ metadata: metadata,
21
+ preferences: preferences,
22
+ resetView: resetView,
23
+ turnTable: turnTable
24
+ };
@@ -0,0 +1,15 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ "data-name": "Layer 2",
7
+ viewBox: "0 0 32 32",
8
+ role: "img"
9
+ }, props), /*#__PURE__*/React.createElement("g", {
10
+ fill: "currentColor"
11
+ }, /*#__PURE__*/React.createElement("path", {
12
+ d: "M19.46 21.54c0-.28-.22-.5-.5-.5H.5c-.28 0-.5.22-.5.5s.22.5.5.5h18.46c.28 0 .5-.22.5-.5m3.52-14.03c0-.28-.22-.5-.5-.5H.51c-.28 0-.51.23-.51.5s.22.5.5.5h21.98c.28 0 .5-.22.5-.5m-4.74 7.01c0-.28-.22-.5-.5-.5H.5c-.28 0-.5.22-.5.5s.22.5.5.5h17.25c.28 0 .5-.22.5-.5ZM32 .5c0-.28-.22-.5-.5-.5H.54c-.28 0-.5.22-.5.5s.22.5.5.5H31.5c.28 0 .5-.22.5-.5M23.62 14.79l.16-.56h6.29L25.4 27.89c-.13.4-.26.81-.4 1.23-.13.42-.2.81-.2 1.19 0 .32.09.6.28.83.18.23.46.34.83.34.42 0 .84-.15 1.25-.44s.78-.64 1.13-1.03c.34-.39.63-.79.87-1.19s.41-.73.51-.97l.47.2c-.11.21-.27.54-.49.99-.23.44-.53.89-.93 1.33-.39.44-.88.83-1.46 1.15S26 32 25.2 32c-.87 0-1.56-.18-2.08-.54s-.77-.97-.77-1.83c0-.46.08-.96.24-1.51s.32-1.05.48-1.51l4.07-11.81h-3.52Zm4.67-6.57c0 .54.18.99.53 1.35s.8.54 1.32.54.97-.18 1.32-.54.53-.81.53-1.35-.18-.99-.53-1.35-.8-.54-1.32-.54-.97.18-1.32.54-.53.81-.53 1.35"
13
+ })));
14
+ };
15
+ export default SvgComponent;
@@ -0,0 +1,15 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ viewBox: "0 0 20 20",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ fill: "currentColor",
12
+ d: "M8.04 3.61H.81a.749.749 0 1 1 0-1.5h7.23zm11.15-1.5h-5.65v1.5h5.65c.41 0 .75-.34.75-.75s-.34-.75-.75-.75M10.79 5.61c-.41 0-.75-.34-.75-.75V.85c0-.41.34-.75.75-.75s.75.34.75.75v4.01c0 .41-.34.75-.75.75M2.81 10.75h-2c-.41 0-.75-.34-.75-.75s.34-.75.75-.75h2zm16.38-1.5H8.31v1.5h10.88c.41 0 .75-.34.75-.75s-.34-.75-.75-.75M5.56 12.76c-.41 0-.75-.34-.75-.75V7.99c0-.41.34-.75.75-.75s.75.34.75.75V12c0 .41-.34.75-.75.75ZM19.94 17.14c0 .41-.34.75-.75.75h-3.08v-1.5h3.08c.41 0 .75.34.75.75m-9.33-.75H.81c-.41 0-.75.34-.75.75s.34.75.75.75h9.8zM13.36 19.9c-.41 0-.75-.34-.75-.75v-4.01c0-.41.34-.75.75-.75s.75.34.75.75v4.01c0 .41-.34.75-.75.75"
13
+ }));
14
+ };
15
+ export default SvgComponent;
@@ -0,0 +1,16 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ "data-name": "icon-resetView",
9
+ viewBox: "0 0 20 20",
10
+ role: "img"
11
+ }, props), /*#__PURE__*/React.createElement("path", {
12
+ fill: "currentColor",
13
+ d: "M.6 5.48c-.28 0-.5-.22-.5-.5V.09h4.89c.28 0 .5.22.5.5s-.22.5-.5.5H1.1v3.89c0 .28-.22.5-.5.5M4.99 19.91H.1v-4.88c0-.28.22-.5.5-.5s.5.22.5.5v3.88h3.89c.28 0 .5.22.5.5s-.22.5-.5.5M19.9 19.91h-4.89c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h3.89v-3.88c0-.28.22-.5.5-.5s.5.22.5.5zM19.4 6.11c-.28 0-.5-.22-.5-.5V1.09h-4.51c-.28 0-.5-.22-.5-.5s.22-.5.5-.5h5.51v5.52c0 .28-.22.5-.5.5M16.46 16.46H3.54V3.54h12.92zm-10.92-2h8.92V5.54H5.54z"
14
+ }));
15
+ };
16
+ export default SvgComponent;
File without changes
@@ -0,0 +1,18 @@
1
+ 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); }
2
+ import * as React from "react";
3
+ var SvgComponent = function SvgComponent(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: 20,
7
+ height: 20,
8
+ viewBox: "0 0 20 20",
9
+ role: "img"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ fill: "currentColor",
12
+ d: "M19.19 7.69c-.09.16-.19.3-.3.44-.26-.29-.55-.56-.85-.8.34-.28.58-.61.61-.99.05-.55-.4-1.15-.95-1.59-.56-.45-1.23-.79-1.92-1.07-.08-.04-.12-.13-.08-.21.03-.07.11-.11.19-.09.73.21 1.46.48 2.15.89.34.21.67.46.95.79.28.32.51.76.55 1.25.05.49-.1.99-.35 1.38M7.85 5.12l1.54-1.8c-1.27.03-2.52.18-3.73.46-.71.16-1.4.37-2.05.65-.64.28-1.25.63-1.67 1.06-.43.45-.54.87-.33 1.29.22.45.76.88 1.36 1.19 1.13.6 2.46.94 3.81 1.15-.27.42-.51.87-.7 1.35-1.29-.23-2.56-.6-3.79-1.26-.71-.4-1.46-.9-1.93-1.83C.13 6.92.06 6.33.2 5.81c.14-.53.43-.94.75-1.27.65-.65 1.39-1.04 2.13-1.35.75-.32 1.51-.54 2.28-.71 1.39-.31 2.79-.45 4.19-.46L8.28 0l5.86 3.07zM18.17 8.83c-.31-.36-.66-.67-1.05-.95h-.01a6.6 6.6 0 0 0-3.89-1.26c-2.16 0-4.09 1.03-5.3 2.63-.33.42-.61.88-.82 1.38a6.68 6.68 0 0 0 6.12 9.35 6.68 6.68 0 0 0 6.68-6.68c0-1.73-.65-3.29-1.73-4.47m-4.95 10.15c-3.13 0-5.68-2.55-5.68-5.68 0-.92.22-1.79.62-2.56.26-.52.6-1 1.01-1.41a5.63 5.63 0 0 1 4.05-1.71 5.62 5.62 0 0 1 4.11 1.78 5.6 5.6 0 0 1 1.57 3.9c0 3.13-2.55 5.68-5.68 5.68"
13
+ }), /*#__PURE__*/React.createElement("path", {
14
+ fill: "currentColor",
15
+ d: "m12.83 10.68-1.18-.94v7.16l4.48-3.58zm-.18 1.14 1.88 1.5-1.88 1.5z"
16
+ }));
17
+ };
18
+ export default SvgComponent;
@@ -0,0 +1,21 @@
1
+ .animated-ellipsis:after{
2
+ overflow:hidden;
3
+ display:inline-block;
4
+ vertical-align:bottom;
5
+ -webkit-animation:ellipsis steps(4, end) 900ms infinite;
6
+ animation:ellipsis steps(4, end) 900ms infinite;
7
+ content:"\2026";
8
+ width:0;
9
+ }
10
+
11
+ @keyframes ellipsis{
12
+ to{
13
+ width:1.25em;
14
+ }
15
+ }
16
+
17
+ @-webkit-keyframes ellipsis{
18
+ to{
19
+ width:1.25em;
20
+ }
21
+ }
@@ -0,0 +1,35 @@
1
+ #cell-viewer,
2
+ .cell-viewer-app{
3
+ height:100%;
4
+ }
5
+
6
+ @font-face{
7
+ font-family:"Open Sans Local";
8
+ font-style:normal;
9
+ font-weight:400;
10
+ src:url("../fonts/open-sans/open-sans-regular.eot");
11
+ src:url("../fonts/open-sans/open-sans-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/open-sans-regular.woff2") format("woff2"), url("../fonts/open-sans/open-sans-regular.woff") format("woff"), url("../fonts/open-sans/open-sans-regular.ttf") format("truetype"), url("../fonts/open-sans/open-sans-regular.svg#svgFontName") format("svg");
12
+ }
13
+
14
+ @font-face{
15
+ font-family:"Open Sans Local";
16
+ font-style:normal;
17
+ font-weight:500;
18
+ src:url("../fonts/open-sans/open-sans-500.eot");
19
+ src:url("../fonts/open-sans/open-sans-500.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/open-sans-500.woff2") format("woff2"), url("../fonts/open-sans/open-sans-500.woff") format("woff"), url("../fonts/open-sans/open-sans-500.ttf") format("truetype"), url("../fonts/open-sans/open-sans-500.svg#svgFontName") format("svg");
20
+ }
21
+
22
+ @font-face{
23
+ font-family:"Open Sans Local";
24
+ font-style:normal;
25
+ font-weight:700;
26
+ src:url("../fonts/open-sans/open-sans-700.eot");
27
+ src:url("../fonts/open-sans/open-sans-700.eot?#iefix") format("embedded-opentype"), url("../fonts/open-sans/open-sans-700.woff2") format("woff2"), url("../fonts/open-sans/open-sans-700.woff") format("woff"), url("../fonts/open-sans/open-sans-700.ttf") format("truetype"), url("../fonts/open-sans/open-sans-700.svg#svgFontName") format("svg");
28
+ }
29
+
30
+ @font-face{
31
+ font-family:"Material Icons";
32
+ font-style:normal;
33
+ font-weight:400;
34
+ src:url(https://fonts.gstatic.com/s/materialicons/v29/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format("woff2");
35
+ }
@@ -0,0 +1,96 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
+ import { Lut } from "@aics/vole-core";
8
+ import { useEffect } from "react";
9
+ import { controlPointsToLut, rampToControlPoints } from "../../shared/utils/controlPointsToLut";
10
+ /**
11
+ * A component that doesn't render anything, but reacts to the provided `ChannelState`
12
+ * and keeps it in sync with the viewer.
13
+ */
14
+ var ChannelUpdater = function ChannelUpdater(_ref) {
15
+ var index = _ref.index,
16
+ channelState = _ref.channelState,
17
+ view3d = _ref.view3d,
18
+ image = _ref.image,
19
+ version = _ref.version;
20
+ var volumeEnabled = channelState.volumeEnabled,
21
+ isosurfaceEnabled = channelState.isosurfaceEnabled,
22
+ isovalue = channelState.isovalue,
23
+ colorizeEnabled = channelState.colorizeEnabled,
24
+ colorizeAlpha = channelState.colorizeAlpha,
25
+ opacity = channelState.opacity,
26
+ color = channelState.color;
27
+
28
+ // Effects to update channel settings should check if image is present and channel is loaded first
29
+ var useImageEffect = function useImageEffect(effect, deps) {
30
+ useEffect(function () {
31
+ if (image && version > 0) {
32
+ return effect(image);
33
+ }
34
+ }, [].concat(_toConsumableArray(deps), [image, version]));
35
+ };
36
+
37
+ // enable/disable channel can't be dependent on channel load state because it may trigger the channel to load
38
+ useEffect(function () {
39
+ if (image) {
40
+ view3d.setVolumeChannelEnabled(image, index, volumeEnabled);
41
+ view3d.updateLuts(image);
42
+ }
43
+ }, [image, volumeEnabled]);
44
+ useEffect(function () {
45
+ if (image) {
46
+ view3d.setVolumeChannelOptions(image, index, {
47
+ isosurfaceEnabled: isosurfaceEnabled
48
+ });
49
+ }
50
+ }, [image, isosurfaceEnabled]);
51
+ useImageEffect(function (currentImage) {
52
+ return view3d.setVolumeChannelOptions(currentImage, index, {
53
+ isovalue: isovalue
54
+ });
55
+ }, [isovalue]);
56
+ useImageEffect(function (currentImage) {
57
+ return view3d.setVolumeChannelOptions(currentImage, index, {
58
+ isosurfaceOpacity: opacity
59
+ });
60
+ }, [opacity]);
61
+ useImageEffect(function (currentImage) {
62
+ view3d.setVolumeChannelOptions(currentImage, index, {
63
+ color: color
64
+ });
65
+ view3d.updateLuts(currentImage);
66
+ }, [color]);
67
+ var controlPoints = channelState.controlPoints,
68
+ ramp = channelState.ramp,
69
+ useControlPoints = channelState.useControlPoints;
70
+ useImageEffect(function (currentImage) {
71
+ if (useControlPoints && controlPoints.length < 2) {
72
+ return;
73
+ }
74
+ var controlPointsToUse = useControlPoints ? controlPoints : rampToControlPoints(ramp);
75
+ var gradient = controlPointsToLut(controlPointsToUse);
76
+ currentImage.setLut(index, gradient);
77
+ view3d.updateLuts(currentImage);
78
+ }, [controlPoints, ramp, useControlPoints]);
79
+ useImageEffect(function (currentImage) {
80
+ if (colorizeEnabled) {
81
+ // TODO get the labelColors from the tf editor component
82
+ var lut = new Lut().createLabelColors(currentImage.getHistogram(index));
83
+ currentImage.setColorPalette(index, lut.lut);
84
+ currentImage.setColorPaletteAlpha(index, colorizeAlpha);
85
+ } else {
86
+ currentImage.setColorPaletteAlpha(index, 0);
87
+ }
88
+ view3d.updateLuts(currentImage);
89
+ }, [colorizeEnabled]);
90
+ useImageEffect(function (currentImage) {
91
+ currentImage.setColorPaletteAlpha(index, colorizeEnabled ? colorizeAlpha : 0);
92
+ view3d.updateLuts(currentImage);
93
+ }, [colorizeAlpha]);
94
+ return null;
95
+ };
96
+ export default ChannelUpdater;