@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.
- package/LICENSE +33 -0
- package/LICENSE.txt +26 -0
- package/README.md +45 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.eot +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.js +2337 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.svg +604 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.ttf +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.woff +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-500.woff2 +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.eot +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.js +2336 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.svg +604 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.ttf +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.woff +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-700.woff2 +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.eot +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.js +2337 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.svg +604 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.ttf +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.woff +0 -0
- package/es/aics-image-viewer/assets/fonts/open-sans/open-sans-regular.woff2 +0 -0
- package/es/aics-image-viewer/assets/icons/axes.js +20 -0
- package/es/aics-image-viewer/assets/icons/boundingBox.js +18 -0
- package/es/aics-image-viewer/assets/icons/camera.js +15 -0
- package/es/aics-image-viewer/assets/icons/channels.js +15 -0
- package/es/aics-image-viewer/assets/icons/closePanel.js +18 -0
- package/es/aics-image-viewer/assets/icons/download.js +17 -0
- package/es/aics-image-viewer/assets/icons/dropdownArrow.js +15 -0
- package/es/aics-image-viewer/assets/icons/index.js +24 -0
- package/es/aics-image-viewer/assets/icons/metadata.js +15 -0
- package/es/aics-image-viewer/assets/icons/preferences.js +15 -0
- package/es/aics-image-viewer/assets/icons/resetView.js +16 -0
- package/es/aics-image-viewer/assets/icons/svg.d.js +0 -0
- package/es/aics-image-viewer/assets/icons/turnTable.js +18 -0
- package/es/aics-image-viewer/assets/styles/animatedEllipsis.css +21 -0
- package/es/aics-image-viewer/assets/styles/globals.css +35 -0
- package/es/aics-image-viewer/assets/styles/noui-slider-override.css +1 -0
- package/es/aics-image-viewer/assets/styles/variables.css +1 -0
- package/es/aics-image-viewer/components/App/ChannelUpdater.js +96 -0
- package/es/aics-image-viewer/components/App/index.js +849 -0
- package/es/aics-image-viewer/components/App/styles.css +60 -0
- package/es/aics-image-viewer/components/App/types.js +1 -0
- package/es/aics-image-viewer/components/AxisClipSliders/index.js +285 -0
- package/es/aics-image-viewer/components/AxisClipSliders/styles.css +257 -0
- package/es/aics-image-viewer/components/BottomPanel/index.js +70 -0
- package/es/aics-image-viewer/components/BottomPanel/styles.css +85 -0
- package/es/aics-image-viewer/components/CellViewerCanvasWrapper/index.js +113 -0
- package/es/aics-image-viewer/components/CellViewerCanvasWrapper/styles.css +12 -0
- package/es/aics-image-viewer/components/ChannelsWidget.js +100 -0
- package/es/aics-image-viewer/components/ChannelsWidgetRow/index.js +158 -0
- package/es/aics-image-viewer/components/ChannelsWidgetRow/styles.css +38 -0
- package/es/aics-image-viewer/components/ColorPicker.js +120 -0
- package/es/aics-image-viewer/components/ControlPanel/index.js +180 -0
- package/es/aics-image-viewer/components/ControlPanel/styles.css +169 -0
- package/es/aics-image-viewer/components/CustomizeWidget.js +46 -0
- package/es/aics-image-viewer/components/ErrorAlert/index.js +144 -0
- package/es/aics-image-viewer/components/ErrorAlert/styles.css +22 -0
- package/es/aics-image-viewer/components/GlobalVolumeControls.js +38 -0
- package/es/aics-image-viewer/components/MetadataViewer/index.js +99 -0
- package/es/aics-image-viewer/components/MetadataViewer/styles.css +81 -0
- package/es/aics-image-viewer/components/StyleProvider/index.js +210 -0
- package/es/aics-image-viewer/components/TfEditor/index.js +584 -0
- package/es/aics-image-viewer/components/TfEditor/styles.css +88 -0
- package/es/aics-image-viewer/components/Toolbar/DownloadButton.js +55 -0
- package/es/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.js +22 -0
- package/es/aics-image-viewer/components/Toolbar/index.js +274 -0
- package/es/aics-image-viewer/components/Toolbar/styles.css +241 -0
- package/es/aics-image-viewer/components/ViewerStateProvider/ResetStateProvider.js +160 -0
- package/es/aics-image-viewer/components/ViewerStateProvider/index.js +261 -0
- package/es/aics-image-viewer/components/ViewerStateProvider/types.js +1 -0
- package/es/aics-image-viewer/components/shared/NumericInput/index.js +147 -0
- package/es/aics-image-viewer/components/shared/NumericInput/styles.css +64 -0
- package/es/aics-image-viewer/components/shared/SharedCheckBox.js +17 -0
- package/es/aics-image-viewer/components/shared/SliderRow/index.js +31 -0
- package/es/aics-image-viewer/components/shared/SliderRow/styles.css +19 -0
- package/es/aics-image-viewer/components/shared/SmarterSlider.js +40 -0
- package/es/aics-image-viewer/components/shared/ViewerIcon.js +22 -0
- package/es/aics-image-viewer/shared/colorPalette.js +19 -0
- package/es/aics-image-viewer/shared/constants.js +164 -0
- package/es/aics-image-viewer/shared/enums.js +18 -0
- package/es/aics-image-viewer/shared/types.js +6 -0
- package/es/aics-image-viewer/shared/utils/colorRepresentations.js +16 -0
- package/es/aics-image-viewer/shared/utils/controlPointsToLut.js +182 -0
- package/es/aics-image-viewer/shared/utils/hooks.js +51 -0
- package/es/aics-image-viewer/shared/utils/httpClient.js +57 -0
- package/es/aics-image-viewer/shared/utils/playControls.js +97 -0
- package/es/aics-image-viewer/shared/utils/sceneStore.js +140 -0
- package/es/aics-image-viewer/shared/utils/sliderValuesToImageValues.js +36 -0
- package/es/aics-image-viewer/shared/utils/test/viewerChannelSettings.test.js +132 -0
- package/es/aics-image-viewer/shared/utils/utilsService.js +54 -0
- package/es/aics-image-viewer/shared/utils/viewerChannelSettings.js +152 -0
- package/es/aics-image-viewer/shared/utils/viewerState.js +69 -0
- package/es/aics-image-viewer/shared/utils/webgl-debug.js +1103 -0
- package/es/index.js +4 -0
- package/package.json +130 -0
- package/type-declarations/aics-image-viewer/assets/icons/index.d.ts +14 -0
- package/type-declarations/aics-image-viewer/components/App/ChannelUpdater.d.ts +16 -0
- package/type-declarations/aics-image-viewer/components/App/index.d.ts +6 -0
- package/type-declarations/aics-image-viewer/components/App/types.d.ts +45 -0
- package/type-declarations/aics-image-viewer/components/AxisClipSliders/index.d.ts +24 -0
- package/type-declarations/aics-image-viewer/components/BottomPanel/index.d.ts +11 -0
- package/type-declarations/aics-image-viewer/components/CellViewerCanvasWrapper/index.d.ts +33 -0
- package/type-declarations/aics-image-viewer/components/ChannelsWidget.d.ts +19 -0
- package/type-declarations/aics-image-viewer/components/ChannelsWidgetRow/index.d.ts +17 -0
- package/type-declarations/aics-image-viewer/components/ColorPicker.d.ts +13 -0
- package/type-declarations/aics-image-viewer/components/ControlPanel/index.d.ts +20 -0
- package/type-declarations/aics-image-viewer/components/CustomizeWidget.d.ts +15 -0
- package/type-declarations/aics-image-viewer/components/ErrorAlert/index.d.ts +12 -0
- package/type-declarations/aics-image-viewer/components/GlobalVolumeControls.d.ts +21 -0
- package/type-declarations/aics-image-viewer/components/MetadataViewer/index.d.ts +7 -0
- package/type-declarations/aics-image-viewer/components/StyleProvider/index.d.ts +5 -0
- package/type-declarations/aics-image-viewer/components/TfEditor/index.d.ts +19 -0
- package/type-declarations/aics-image-viewer/components/Toolbar/DownloadButton.d.ts +8 -0
- package/type-declarations/aics-image-viewer/components/Toolbar/ViewModeRadioButtons.d.ts +8 -0
- package/type-declarations/aics-image-viewer/components/Toolbar/index.d.ts +31 -0
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/ResetStateProvider.d.ts +34 -0
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/index.d.ts +33 -0
- package/type-declarations/aics-image-viewer/components/ViewerStateProvider/types.d.ts +105 -0
- package/type-declarations/aics-image-viewer/components/shared/NumericInput/index.d.ts +19 -0
- package/type-declarations/aics-image-viewer/components/shared/SharedCheckBox.d.ts +9 -0
- package/type-declarations/aics-image-viewer/components/shared/SliderRow/index.d.ts +17 -0
- package/type-declarations/aics-image-viewer/components/shared/SmarterSlider.d.ts +5 -0
- package/type-declarations/aics-image-viewer/components/shared/ViewerIcon.d.ts +9 -0
- package/type-declarations/aics-image-viewer/shared/constants.d.ts +40 -0
- package/type-declarations/aics-image-viewer/shared/enums.d.ts +15 -0
- package/type-declarations/aics-image-viewer/shared/types.d.ts +15 -0
- package/type-declarations/aics-image-viewer/shared/utils/colorRepresentations.d.ts +10 -0
- package/type-declarations/aics-image-viewer/shared/utils/controlPointsToLut.d.ts +53 -0
- package/type-declarations/aics-image-viewer/shared/utils/hooks.d.ts +14 -0
- package/type-declarations/aics-image-viewer/shared/utils/playControls.d.ts +27 -0
- package/type-declarations/aics-image-viewer/shared/utils/sceneStore.d.ts +17 -0
- package/type-declarations/aics-image-viewer/shared/utils/sliderValuesToImageValues.d.ts +10 -0
- package/type-declarations/aics-image-viewer/shared/utils/viewerChannelSettings.d.ts +46 -0
- package/type-declarations/aics-image-viewer/shared/utils/viewerState.d.ts +10 -0
- package/type-declarations/index.d.ts +7 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure 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 _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; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
+
import { RightOutlined } from "@ant-design/icons";
|
|
14
|
+
import React from "react";
|
|
15
|
+
import "./styles.css";
|
|
16
|
+
var isCategory = function isCategory(entry) {
|
|
17
|
+
return _typeof(entry) === "object" && entry !== null;
|
|
18
|
+
};
|
|
19
|
+
var sortCategoriesFirst = function sortCategoriesFirst(entry) {
|
|
20
|
+
if (!isCategory(entry) || Array.isArray(entry)) {
|
|
21
|
+
return entry;
|
|
22
|
+
}
|
|
23
|
+
var cats = {};
|
|
24
|
+
var vals = {};
|
|
25
|
+
for (var key in entry) {
|
|
26
|
+
if (isCategory(entry[key])) {
|
|
27
|
+
cats[key] = entry[key];
|
|
28
|
+
} else {
|
|
29
|
+
vals[key] = entry[key];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return _objectSpread(_objectSpread({}, cats), vals);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/** Component to hold collapse state */
|
|
36
|
+
var MetadataCategory = function MetadataCategory(_ref) {
|
|
37
|
+
var metadata = _ref.metadata,
|
|
38
|
+
title = _ref.title;
|
|
39
|
+
var _React$useState = React.useState(true),
|
|
40
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
41
|
+
collapsed = _React$useState2[0],
|
|
42
|
+
setCollapsed = _React$useState2[1];
|
|
43
|
+
var collapsedClass = collapsed ? " metadata-collapse-collapsed" : "";
|
|
44
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", {
|
|
45
|
+
className: "metadata-row-collapse-title" + collapsedClass,
|
|
46
|
+
onClick: function onClick() {
|
|
47
|
+
return setCollapsed(!collapsed);
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/React.createElement("td", {
|
|
50
|
+
colSpan: 2
|
|
51
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
52
|
+
className: "metadata-collapse-caret"
|
|
53
|
+
}, /*#__PURE__*/React.createElement(RightOutlined, {
|
|
54
|
+
style: {
|
|
55
|
+
transform: "rotate(".concat(collapsed ? 0 : 90, "deg)")
|
|
56
|
+
}
|
|
57
|
+
})), title)), /*#__PURE__*/React.createElement("tr", {
|
|
58
|
+
className: "metadata-row-collapse-content" + collapsedClass
|
|
59
|
+
}, /*#__PURE__*/React.createElement("td", {
|
|
60
|
+
className: "metadata-collapse-content",
|
|
61
|
+
colSpan: 2
|
|
62
|
+
}, /*#__PURE__*/React.createElement(MetadataTable, {
|
|
63
|
+
metadata: metadata
|
|
64
|
+
}))));
|
|
65
|
+
};
|
|
66
|
+
var MetadataTable = function MetadataTable(_ref2) {
|
|
67
|
+
var metadata = _ref2.metadata,
|
|
68
|
+
topLevel = _ref2.topLevel;
|
|
69
|
+
var metadataKeys = Object.keys(metadata);
|
|
70
|
+
var metadataIsArray = Array.isArray(metadata);
|
|
71
|
+
return /*#__PURE__*/React.createElement("table", {
|
|
72
|
+
className: "viewer-metadata-table" + (topLevel ? " metadata-top-level" : "")
|
|
73
|
+
}, /*#__PURE__*/React.createElement("tbody", null, metadataKeys.map(function (key, idx) {
|
|
74
|
+
var metadataValue = sortCategoriesFirst(metadataIsArray ? metadata[idx] : metadata[key]);
|
|
75
|
+
if (isCategory(metadataValue)) {
|
|
76
|
+
return /*#__PURE__*/React.createElement(MetadataCategory, {
|
|
77
|
+
key: key,
|
|
78
|
+
metadata: metadataValue,
|
|
79
|
+
title: key
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
return /*#__PURE__*/React.createElement("tr", {
|
|
83
|
+
key: key
|
|
84
|
+
}, /*#__PURE__*/React.createElement("td", {
|
|
85
|
+
className: "metadata-key"
|
|
86
|
+
}, key), /*#__PURE__*/React.createElement("td", {
|
|
87
|
+
className: "metadata-value"
|
|
88
|
+
}, metadataValue + ""));
|
|
89
|
+
}
|
|
90
|
+
})));
|
|
91
|
+
};
|
|
92
|
+
var MetadataViewer = function MetadataViewer(_ref3) {
|
|
93
|
+
var metadata = _ref3.metadata;
|
|
94
|
+
return /*#__PURE__*/React.createElement(MetadataTable, {
|
|
95
|
+
metadata: metadata,
|
|
96
|
+
topLevel: true
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
export default MetadataViewer;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
.viewer-metadata-table{
|
|
2
|
+
width:100%;
|
|
3
|
+
table-layout:fixed;
|
|
4
|
+
box-sizing:border-box;
|
|
5
|
+
border-spacing:0;
|
|
6
|
+
border-collapse:collapse;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.viewer-metadata-table tbody{
|
|
10
|
+
padding:10px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.viewer-metadata-table.metadata-top-level{
|
|
14
|
+
border-bottom:1px solid var(--color-controlpanel-border);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.viewer-metadata-table.metadata-top-level > tbody > tr.metadata-row-collapse-title:first-child{
|
|
18
|
+
border-top:none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.viewer-metadata-table tr{
|
|
22
|
+
color:var(--color-controlpanel-text);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.viewer-metadata-table tr:nth-child(odd):not(.metadata-row-collapse-content):not(.metadata-row-collapse-title){
|
|
26
|
+
background-color:#3a3a3a;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.viewer-metadata-table tr.metadata-row-collapse-title{
|
|
30
|
+
color:var(--color-text-section);
|
|
31
|
+
background-color:var(--color-controlpanel-section-bg);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.viewer-metadata-table tr.metadata-row-collapse-title:not(.metadata-collapse-collapsed) > td{
|
|
35
|
+
padding-bottom:7px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.viewer-metadata-table tr.metadata-row-collapse-content.metadata-collapse-collapsed{
|
|
39
|
+
visibility:collapse;
|
|
40
|
+
height:0px;
|
|
41
|
+
display:none;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.viewer-metadata-table tr tr.metadata-row-collapse-title,
|
|
45
|
+
.viewer-metadata-table tr.metadata-row-collapse-content + tr{
|
|
46
|
+
border-top:1px solid var(--color-controlpanel-border);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.viewer-metadata-table td{
|
|
50
|
+
padding:8px 0;
|
|
51
|
+
overflow-wrap:break-word;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.viewer-metadata-table td .metadata-collapse-caret{
|
|
55
|
+
cursor:pointer;
|
|
56
|
+
padding-left:16px;
|
|
57
|
+
padding-right:10px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.viewer-metadata-table td.metadata-key{
|
|
61
|
+
padding-left:16px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.viewer-metadata-table td.metadata-value{
|
|
65
|
+
text-align:right;
|
|
66
|
+
padding-left:20px;
|
|
67
|
+
padding-right:16px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.viewer-metadata-table td:last-child{
|
|
71
|
+
padding-right:8px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.viewer-metadata-table td.metadata-collapse-content{
|
|
75
|
+
padding:0;
|
|
76
|
+
padding-left:24px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.viewer-metadata-table td i{
|
|
80
|
+
transition:transform 0.1s linear;
|
|
81
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
var _templateObject, _templateObject2;
|
|
2
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
3
|
+
import { theme as AntTheme, ConfigProvider } from "antd";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import styled, { css } from "styled-components";
|
|
6
|
+
var palette = {
|
|
7
|
+
black: "#000000",
|
|
8
|
+
white: "#ffffff",
|
|
9
|
+
ltGrey: "#bfbfbf",
|
|
10
|
+
purpleGrey: "#aeacae",
|
|
11
|
+
medLtGreyAlt: "#a0a0a0",
|
|
12
|
+
medGrey: "#6e6e6e",
|
|
13
|
+
medDarkGrey: "#4b4b4b",
|
|
14
|
+
darkGrey: "#313131",
|
|
15
|
+
veryDarkGrey: "#222222",
|
|
16
|
+
ltPurple: "#aa88ed",
|
|
17
|
+
medPurple: "#9e6aff",
|
|
18
|
+
darkPurple: "#7e46d4",
|
|
19
|
+
veryDarkPurple: "#5f369f",
|
|
20
|
+
veryLtPurple: "#e7e4f2",
|
|
21
|
+
brightRed: "#ff4d4d",
|
|
22
|
+
brightGreen: "#61d900",
|
|
23
|
+
brightBlue: "#0099ff"
|
|
24
|
+
};
|
|
25
|
+
var theme = {
|
|
26
|
+
colors: {
|
|
27
|
+
theme: {
|
|
28
|
+
primary: palette.medPurple,
|
|
29
|
+
primaryLt: palette.ltPurple,
|
|
30
|
+
primaryDk: palette.darkPurple,
|
|
31
|
+
success: palette.brightGreen,
|
|
32
|
+
error: palette.brightRed,
|
|
33
|
+
warning: palette.brightRed,
|
|
34
|
+
info: palette.brightBlue
|
|
35
|
+
},
|
|
36
|
+
text: {
|
|
37
|
+
link: palette.brightBlue,
|
|
38
|
+
header: palette.ltGrey,
|
|
39
|
+
section: palette.white,
|
|
40
|
+
body: palette.ltGrey,
|
|
41
|
+
error: palette.brightRed,
|
|
42
|
+
selectionBg: palette.medPurple,
|
|
43
|
+
selectionText: palette.white
|
|
44
|
+
},
|
|
45
|
+
header: {
|
|
46
|
+
bg: palette.veryDarkGrey,
|
|
47
|
+
border: palette.medGrey,
|
|
48
|
+
title: palette.white,
|
|
49
|
+
hoverTitle: palette.white
|
|
50
|
+
},
|
|
51
|
+
// TODO: Buttons could have a shared type
|
|
52
|
+
// with properties for bg, text, and outline across hover/focus,
|
|
53
|
+
// active, and disabled states. This could then be defined for
|
|
54
|
+
// each of the button types (primary, secondary, tertiary).
|
|
55
|
+
button: {
|
|
56
|
+
primary: {
|
|
57
|
+
bg: palette.medPurple,
|
|
58
|
+
text: palette.white,
|
|
59
|
+
hoverBg: palette.ltPurple,
|
|
60
|
+
activeOutline: palette.medPurple,
|
|
61
|
+
disabledBg: palette.medDarkGrey
|
|
62
|
+
},
|
|
63
|
+
link: {
|
|
64
|
+
text: palette.medPurple
|
|
65
|
+
},
|
|
66
|
+
secondary: {
|
|
67
|
+
bg: "transparent",
|
|
68
|
+
text: palette.medPurple,
|
|
69
|
+
outline: palette.medPurple
|
|
70
|
+
},
|
|
71
|
+
tertiary: {
|
|
72
|
+
bg: "transparent",
|
|
73
|
+
text: palette.ltGrey,
|
|
74
|
+
outline: palette.ltGrey,
|
|
75
|
+
hoverOutline: palette.ltPurple,
|
|
76
|
+
hoverText: palette.ltPurple,
|
|
77
|
+
activeOutline: palette.medPurple,
|
|
78
|
+
activatedText: palette.white,
|
|
79
|
+
activatedBg: palette.medDarkGrey,
|
|
80
|
+
activatedOutline: palette.purpleGrey,
|
|
81
|
+
disabledText: palette.medGrey
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
checkbox: {
|
|
85
|
+
bg: palette.medGrey,
|
|
86
|
+
hoverBg: palette.medLtGreyAlt,
|
|
87
|
+
text: palette.white
|
|
88
|
+
},
|
|
89
|
+
controlPanel: {
|
|
90
|
+
bg: palette.darkGrey,
|
|
91
|
+
border: palette.medGrey,
|
|
92
|
+
sectionText: palette.white,
|
|
93
|
+
text: palette.ltGrey,
|
|
94
|
+
sectionBg: palette.medDarkGrey,
|
|
95
|
+
drawerBg: palette.veryDarkGrey,
|
|
96
|
+
rampSlider: palette.medPurple
|
|
97
|
+
},
|
|
98
|
+
toolbar: {
|
|
99
|
+
buttonBg: "#000000cc"
|
|
100
|
+
},
|
|
101
|
+
landingPage: {
|
|
102
|
+
bg: palette.veryDarkGrey,
|
|
103
|
+
bgAlt: palette.darkGrey,
|
|
104
|
+
text: palette.ltGrey,
|
|
105
|
+
bannerBg: "#020202DB"
|
|
106
|
+
},
|
|
107
|
+
statusFlag: {
|
|
108
|
+
border: palette.medGrey,
|
|
109
|
+
text: palette.ltGrey
|
|
110
|
+
},
|
|
111
|
+
layout: {
|
|
112
|
+
dividers: palette.medGrey,
|
|
113
|
+
split: palette.white
|
|
114
|
+
},
|
|
115
|
+
menu: {
|
|
116
|
+
hoverText: palette.white,
|
|
117
|
+
hoverBg: palette.ltPurple,
|
|
118
|
+
selectedText: palette.white,
|
|
119
|
+
selectedBg: palette.medGrey,
|
|
120
|
+
textPlaceholder: palette.ltPurple
|
|
121
|
+
},
|
|
122
|
+
tooltip: {
|
|
123
|
+
bg: palette.black
|
|
124
|
+
},
|
|
125
|
+
modal: {
|
|
126
|
+
maskBg: "#000000cc",
|
|
127
|
+
bg: palette.veryDarkGrey,
|
|
128
|
+
border: palette.medDarkGrey
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
fonts: {
|
|
132
|
+
// Include web + local font files
|
|
133
|
+
family: "'Open Sans', 'Open Sans Local', Arial, sans-serif, apple-system, BlinkMacSystemFont, 'Segoe UI','PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'"
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
/** Makes theme styling available to child components via CSS variables. */
|
|
137
|
+
var CssProvider = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n\n ", "\n\n h1, h2, h3, h4, p {\n font-family: var(--font-family);\n }\n\n h1 {\n color: var(--color-text-header);\n font-size: 28px;\n font-weight: 400;\n }\n\n h2 {\n color: var(--color-text-section);\n font-size: 19px;\n font-weight: 400;\n }\n\n h3 {\n color: var(--color-text-header);\n font-size: 16px;\n font-weight: 600;\n }\n\n h4 {\n color: var(--color-text-header);\n font-size: 14px;\n font-weight: 400;\n }\n\n p {\n color: var(--color-text-body);\n font-size: 14px;\n font-weight: 400;\n }\n\n a {\n color: var(--color-text-link);\n &:not(:focus-visible) {\n text-decoration: none;\n }\n\n &:focus-visible {\n text-decoration: underline;\n }\n }\n\n & *::selection {\n background-color: var(--color-text-selection-bg);\n color: var(--color-text-selection-text);\n }\n\n /** TODO: Go through these styles and see if we can use Ant ConfigProvider for them instead. */\n .ant-btn-link,\n .ant-btn-text,\n .ant-btn-primary,\n .ant-btn-icon-only {\n box-shadow: none;\n\n &:hover:not(:disabled),\n &:focus-visible:not(:disabled) {\n background-color: var(--color-button-primary-hover-bg);\n border-color: var(--color-button-primary-hover-bg);\n color: var(--color-button-primary-text);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-button-primary-hover-bg);\n border: 1px solid var(--color-button-primary-active-outline);\n color: var(--color-button-primary-text);\n }\n }\n\n /* Let us use buttons with type=\"text\" as purely semantic containers - don't bring any styling! */\n .ant-btn-text {\n width: unset;\n height: unset;\n padding: unset;\n\n &:hover:not(:disabled),\n &:focus-visible:not(:disabled) {\n background-color: unset;\n border-color: transparent;\n }\n }\n\n .ant-btn-icon-only:disabled {\n color: var(--color-button-icon-disabled-text);\n }\n\n .ant-btn-link:not(:disabled) {\n // Change from default blue link text\n color: var(--color-button-link-text);\n }\n\n /**\n * Tertiary style buttons. Grey outline by default, turns to light\n * purple outline on hover.\n */\n .ant-btn-default:not(.ant-btn-icon-only) {\n background-color: var(--color-button-tertiary-bg);\n color: var(--color-button-tertiary-text);\n border-color: var(--color-button-tertiary-outline);\n\n &:hover:not(:disabled),\n &:focus-visible:not(:disabled) {\n background-color: transparent;\n border-color: var(--color-button-tertiary-hover-bg);\n color: var(--color-button-tertiary-hover-text);\n }\n\n &:active:not(:disabled) {\n background-color: transparent;\n border-color: var(--color-button-tertiary-active-outline);\n color: var(--color-button-tertiary-active-text);\n }\n }\n\n // Overrides for checkbox styling\n & .ant-checkbox-input {\n &:hover,\n &:focus-visible {\n border: 1px solid white;\n }\n }\n\n & .ant-checkbox.ant-checkbox-checked {\n background-color: var(--color-checkbox-bg);\n }\n\n .ant-checkbox-inner {\n background-color: transparent;\n }\n\n & .ant-checkbox-indeterminate.checked .ant-checkbox-inner {\n background-color: var(--color-checkbox-bg);\n }\n\n // Add outlines to modals and dropdowns\n & .ant-select-dropdown,\n & .ant-dropdown-menu,\n & .ant-modal-content {\n border: 1px solid var(--color-modal-border);\n }\n\n // Force active/hovered text to be white instead of grey for better contrast\n & .ant-dropdown-menu-item-active {\n color: var(--color-menu-hover-text);\n }\n\n // Remove padding in dropdown menus and make items reactangular + flush with the edge\n & .ant-dropdown-menu,\n & .ant-select-dropdown {\n padding: 0;\n overflow: hidden;\n\n & .ant-dropdown-menu-item,\n & .ant-select-item {\n border-radius: 0;\n }\n }\n"])), function (_ref) {
|
|
138
|
+
var $theme = _ref.$theme;
|
|
139
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n /* Component and color variables. */\n // TODO: Fix inconsistent use of border vs. outline\n // TODO: Remove variables that aren't used in other CSS files. These should be set directly\n // from the $theme object to reduce unnecessary variables.\n --color-text-link: ", ";\n --color-text-header: ", ";\n --color-text-section: ", ";\n --color-text-body: ", ";\n --color-text-error: ", ";\n\n --color-text-selection-bg: ", ";\n --color-text-selection-text: ", ";\n\n --color-header-title: ", ";\n --color-header-hover-title: ", ";\n --color-header-bg: ", ";\n --color-header-border: ", ";\n\n --color-button-primary-bg: ", ";\n --color-button-primary-text: ", ";\n --color-button-primary-hover-bg: ", ";\n --color-button-primary-active-bg: ", ";\n --color-button-primary-active-outline: ", ";\n --color-button-primary-disabled-bg: ", ";\n\n --color-button-link-text: ", ";\n\n --color-button-secondary-bg: ", ";\n --color-button-secondary-text: ", ";\n --color-button-secondary-outline: ", ";\n\n --color-button-tertiary-bg: transparent;\n --color-button-tertiary-text: ", ";\n --color-button-tertiary-outline: ", ";\n --color-button-tertiary-hover-outline: ", ";\n --color-button-tertiary-hover-text: ", ";\n --color-button-tertiary-active-outline: ", ";\n --color-button-tertiary-active-text: ", ";\n\n --color-button-icon-disabled-text: ", ";\n --color-button-icon-disabled-text: ", ";\n --color-button-icon-activated-text: ", ";\n --color-button-icon-activated-bg: ", ";\n --color-button-icon-activated-outline: ", ";\n\n --color-toolbar-button-bg: ", ";\n\n --color-controlpanel-bg: ", ";\n --color-controlpanel-border: ", ";\n --color-controlpanel-section-text: ", ";\n --color-controlpanel-text: ", ";\n --color-controlpanel-section-bg: ", ";\n --color-controlpanel-drawer-bg: ", ";\n --color-controlpanel-ramp-slider: ", ";\n\n --color-landingpage-bg: ", ";\n --color-landingpage-bg-alt: ", ";\n --color-landingpage-text: ", ";\n --color-landingpage-banner-highlight-bg: ", ";\n\n --color-statusflag-border: ", ";\n --color-statusflag-text: ", ";\n\n --color-layout-dividers: ", ";\n\n --color-modal-border: ", ";\n\n --color-menu-hover-text: ", ";\n --color-menu-selected-text: ", ";\n\n --color-checkbox-bg: ", ";\n\n --font-family: ", ";\n "])), $theme.colors.text.link, $theme.colors.text.header, $theme.colors.text.section, $theme.colors.text.body, $theme.colors.text.error, $theme.colors.text.selectionBg, $theme.colors.text.selectionText, $theme.colors.header.title, $theme.colors.header.hoverTitle, $theme.colors.header.bg, $theme.colors.header.border, $theme.colors.button.primary.bg, $theme.colors.button.primary.text, $theme.colors.button.primary.hoverBg, $theme.colors.button.primary.hoverBg, $theme.colors.button.primary.activeOutline, $theme.colors.button.primary.disabledBg, $theme.colors.button.link.text, $theme.colors.button.secondary.bg, $theme.colors.button.secondary.text, $theme.colors.button.secondary.outline, $theme.colors.button.tertiary.text, $theme.colors.button.tertiary.outline, $theme.colors.button.tertiary.hoverOutline, $theme.colors.button.tertiary.hoverText, $theme.colors.button.tertiary.activeOutline, $theme.colors.button.tertiary.hoverText, $theme.colors.button.tertiary.disabledText, $theme.colors.button.tertiary.disabledText, $theme.colors.button.tertiary.activatedText, $theme.colors.button.tertiary.activatedBg, $theme.colors.button.tertiary.activatedOutline, $theme.colors.toolbar.buttonBg, $theme.colors.controlPanel.bg, $theme.colors.controlPanel.border, $theme.colors.controlPanel.sectionText, $theme.colors.controlPanel.text, $theme.colors.controlPanel.sectionBg, $theme.colors.controlPanel.drawerBg, $theme.colors.controlPanel.rampSlider, $theme.colors.landingPage.bg, $theme.colors.landingPage.bgAlt, $theme.colors.landingPage.text, $theme.colors.landingPage.bannerBg, $theme.colors.statusFlag.border, $theme.colors.statusFlag.text, $theme.colors.layout.dividers, $theme.colors.modal.border, $theme.colors.menu.hoverText, $theme.colors.menu.selectedText, $theme.colors.checkbox.bg, $theme.fonts.family);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Provides CSS variables and global styling for the image viewer.
|
|
144
|
+
*/
|
|
145
|
+
export default function StyleProvider(props) {
|
|
146
|
+
var darkAlgorithm = AntTheme.darkAlgorithm;
|
|
147
|
+
return /*#__PURE__*/React.createElement(ConfigProvider, {
|
|
148
|
+
theme: {
|
|
149
|
+
algorithm: darkAlgorithm,
|
|
150
|
+
token: {
|
|
151
|
+
colorPrimary: theme.colors.theme.primary,
|
|
152
|
+
colorPrimaryHover: theme.colors.theme.primaryLt,
|
|
153
|
+
colorLink: theme.colors.text.link,
|
|
154
|
+
colorBgBase: theme.colors.controlPanel.bg,
|
|
155
|
+
colorBgContainer: "transparent",
|
|
156
|
+
colorSplit: theme.colors.layout.split,
|
|
157
|
+
colorPrimaryTextHover: theme.colors.text.selectionText,
|
|
158
|
+
fontWeightStrong: 400,
|
|
159
|
+
colorBgElevated: palette.darkGrey,
|
|
160
|
+
controlItemBgHover: theme.colors.menu.hoverBg,
|
|
161
|
+
controlItemBgActiveHover: theme.colors.menu.hoverBg,
|
|
162
|
+
controlItemBgActive: theme.colors.menu.selectedBg,
|
|
163
|
+
borderRadius: 4
|
|
164
|
+
},
|
|
165
|
+
components: {
|
|
166
|
+
Button: {
|
|
167
|
+
defaultShadow: "",
|
|
168
|
+
primaryColor: theme.colors.button.primary.text,
|
|
169
|
+
defaultHoverBg: theme.colors.button.secondary.bg,
|
|
170
|
+
defaultActiveBg: theme.colors.button.secondary.bg,
|
|
171
|
+
defaultActiveBorderColor: theme.colors.button.tertiary.activeOutline
|
|
172
|
+
},
|
|
173
|
+
Card: {
|
|
174
|
+
borderRadiusLG: 0,
|
|
175
|
+
headerHeight: 48
|
|
176
|
+
},
|
|
177
|
+
Collapse: {
|
|
178
|
+
borderRadiusLG: 0,
|
|
179
|
+
colorTextHeading: theme.colors.text.section
|
|
180
|
+
},
|
|
181
|
+
Divider: {
|
|
182
|
+
colorSplit: theme.colors.layout.dividers,
|
|
183
|
+
marginLG: 0
|
|
184
|
+
},
|
|
185
|
+
Layout: {
|
|
186
|
+
siderBg: theme.colors.controlPanel.bg
|
|
187
|
+
},
|
|
188
|
+
Checkbox: {
|
|
189
|
+
borderRadiusSM: 2,
|
|
190
|
+
colorBgContainer: theme.colors.checkbox.bg,
|
|
191
|
+
colorPrimary: theme.colors.checkbox.bg,
|
|
192
|
+
colorPrimaryHover: theme.colors.checkbox.hoverBg,
|
|
193
|
+
colorText: theme.colors.checkbox.text
|
|
194
|
+
},
|
|
195
|
+
Tooltip: {
|
|
196
|
+
colorBgSpotlight: theme.colors.tooltip.bg
|
|
197
|
+
},
|
|
198
|
+
Modal: {
|
|
199
|
+
colorBgMask: theme.colors.modal.maskBg,
|
|
200
|
+
contentBg: theme.colors.modal.bg,
|
|
201
|
+
headerBg: theme.colors.modal.bg,
|
|
202
|
+
footerBg: theme.colors.modal.bg,
|
|
203
|
+
titleFontSize: 19
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}, /*#__PURE__*/React.createElement(CssProvider, {
|
|
208
|
+
$theme: theme
|
|
209
|
+
}, props.children));
|
|
210
|
+
}
|