@haniffalab/cherita-react 1.4.1 → 1.4.2

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 (138) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/controls/Controls.js +38 -30
  3. package/dist/cjs/components/dotplot/Dotplot.js +67 -69
  4. package/dist/cjs/components/dotplot/DotplotControls.js +103 -83
  5. package/dist/cjs/components/full-page/FullPage.js +100 -74
  6. package/dist/cjs/components/full-page/PlotAlert.js +45 -0
  7. package/dist/cjs/components/full-page/PlotTypeSelector.js +89 -44
  8. package/dist/cjs/components/heatmap/Heatmap.js +65 -65
  9. package/dist/cjs/components/heatmap/HeatmapControls.js +6 -3
  10. package/dist/cjs/components/icons/DotPlotIcon.js +64 -0
  11. package/dist/cjs/components/icons/HeatmapIcon.js +45 -0
  12. package/dist/cjs/components/icons/MatrixPlotIcon.1.js +57 -0
  13. package/dist/cjs/components/icons/MatrixPlotIcon.js +59 -0
  14. package/dist/cjs/components/icons/ScatterplotIcon.1.js +164 -0
  15. package/dist/cjs/components/icons/ScatterplotIcon.js +144 -0
  16. package/dist/cjs/components/icons/ViolinPlotIcon.js +42 -0
  17. package/dist/cjs/components/matrixplot/Matrixplot.js +65 -66
  18. package/dist/cjs/components/matrixplot/MatrixplotControls.js +8 -5
  19. package/dist/cjs/components/obs-list/ObsItem.js +258 -210
  20. package/dist/cjs/components/obs-list/ObsList.js +161 -133
  21. package/dist/cjs/components/obs-list/ObsToolbar.js +2 -3
  22. package/dist/cjs/components/obsm-list/ObsmList.js +53 -38
  23. package/dist/cjs/components/offcanvas/index.js +61 -31
  24. package/dist/cjs/components/pseudospatial/Pseudospatial.js +132 -76
  25. package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +122 -74
  26. package/dist/cjs/components/scatterplot/Scatterplot.js +127 -99
  27. package/dist/cjs/components/scatterplot/ScatterplotControls.js +45 -31
  28. package/dist/cjs/components/scatterplot/SpatialControls.js +140 -113
  29. package/dist/cjs/components/scatterplot/Toolbox.js +41 -30
  30. package/dist/cjs/components/search-bar/SearchBar.js +168 -121
  31. package/dist/cjs/components/search-bar/SearchInfo.js +76 -50
  32. package/dist/cjs/components/search-bar/SearchResults.js +93 -71
  33. package/dist/cjs/components/toolbar/Toolbar.js +46 -37
  34. package/dist/cjs/components/var-list/VarItem.js +115 -88
  35. package/dist/cjs/components/var-list/VarList.js +85 -69
  36. package/dist/cjs/components/var-list/VarListToolbar.js +59 -54
  37. package/dist/cjs/components/var-list/VarSet.js +126 -108
  38. package/dist/cjs/components/violin/Violin.js +109 -107
  39. package/dist/cjs/components/violin/ViolinControls.js +8 -5
  40. package/dist/cjs/constants/colorscales.js +19 -19
  41. package/dist/cjs/constants/constants.js +47 -47
  42. package/dist/cjs/context/DatasetContext.js +24 -16
  43. package/dist/cjs/context/FilterContext.js +11 -9
  44. package/dist/cjs/context/SettingsContext.js +255 -89
  45. package/dist/cjs/context/ZarrDataContext.js +6 -5
  46. package/dist/cjs/helpers/color-helper.js +2 -2
  47. package/dist/cjs/helpers/zarr-helper.js +3 -3
  48. package/dist/cjs/utils/Filter.js +16 -11
  49. package/dist/cjs/utils/Histogram.js +35 -33
  50. package/dist/cjs/utils/ImageViewer.js +11 -8
  51. package/dist/cjs/utils/Legend.js +37 -30
  52. package/dist/cjs/utils/LoadingIndicators.js +15 -13
  53. package/dist/cjs/utils/Resolver.js +213 -0
  54. package/dist/cjs/utils/Skeleton.js +10 -10
  55. package/dist/cjs/utils/StyledTooltip.js +44 -0
  56. package/dist/cjs/utils/VirtualizedList.js +34 -27
  57. package/dist/cjs/utils/errors.js +15 -15
  58. package/dist/cjs/utils/requests.js +21 -9
  59. package/dist/cjs/utils/search.js +4 -4
  60. package/dist/cjs/utils/string.js +6 -6
  61. package/dist/cjs/utils/zarrData.js +20 -21
  62. package/dist/css/cherita.css +64 -42
  63. package/dist/css/cherita.css.map +1 -1
  64. package/dist/esm/components/controls/Controls.js +43 -35
  65. package/dist/esm/components/dotplot/Dotplot.js +77 -78
  66. package/dist/esm/components/dotplot/DotplotControls.js +106 -85
  67. package/dist/esm/components/full-page/FullPage.js +120 -93
  68. package/dist/esm/components/full-page/PlotAlert.js +39 -0
  69. package/dist/esm/components/full-page/PlotTypeSelector.js +90 -45
  70. package/dist/esm/components/heatmap/Heatmap.js +75 -74
  71. package/dist/esm/components/heatmap/HeatmapControls.js +8 -4
  72. package/dist/esm/components/icons/DotPlotIcon.js +58 -0
  73. package/dist/esm/components/icons/HeatmapIcon.js +39 -0
  74. package/dist/esm/components/icons/MatrixPlotIcon.1.js +51 -0
  75. package/dist/esm/components/icons/MatrixPlotIcon.js +53 -0
  76. package/dist/esm/components/icons/ScatterplotIcon.1.js +158 -0
  77. package/dist/esm/components/icons/ScatterplotIcon.js +138 -0
  78. package/dist/esm/components/icons/ViolinPlotIcon.js +36 -0
  79. package/dist/esm/components/matrixplot/Matrixplot.js +75 -75
  80. package/dist/esm/components/matrixplot/MatrixplotControls.js +10 -6
  81. package/dist/esm/components/obs-list/ObsItem.js +273 -222
  82. package/dist/esm/components/obs-list/ObsList.js +176 -147
  83. package/dist/esm/components/obs-list/ObsToolbar.js +3 -3
  84. package/dist/esm/components/obsm-list/ObsmList.js +60 -44
  85. package/dist/esm/components/offcanvas/index.js +67 -37
  86. package/dist/esm/components/pseudospatial/Pseudospatial.js +145 -88
  87. package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +127 -78
  88. package/dist/esm/components/scatterplot/Scatterplot.js +148 -119
  89. package/dist/esm/components/scatterplot/ScatterplotControls.js +50 -35
  90. package/dist/esm/components/scatterplot/SpatialControls.js +153 -125
  91. package/dist/esm/components/scatterplot/Toolbox.js +44 -32
  92. package/dist/esm/components/search-bar/SearchBar.js +180 -132
  93. package/dist/esm/components/search-bar/SearchInfo.js +86 -59
  94. package/dist/esm/components/search-bar/SearchResults.js +100 -77
  95. package/dist/esm/components/toolbar/Toolbar.js +49 -39
  96. package/dist/esm/components/var-list/VarItem.js +126 -98
  97. package/dist/esm/components/var-list/VarList.js +99 -82
  98. package/dist/esm/components/var-list/VarListToolbar.js +64 -58
  99. package/dist/esm/components/var-list/VarSet.js +134 -115
  100. package/dist/esm/components/violin/Violin.js +121 -118
  101. package/dist/esm/components/violin/ViolinControls.js +10 -6
  102. package/dist/esm/constants/colorscales.js +19 -19
  103. package/dist/esm/constants/constants.js +47 -47
  104. package/dist/esm/context/DatasetContext.js +31 -22
  105. package/dist/esm/context/FilterContext.js +11 -8
  106. package/dist/esm/context/SettingsContext.js +257 -90
  107. package/dist/esm/context/ZarrDataContext.js +8 -6
  108. package/dist/esm/helpers/color-helper.js +5 -5
  109. package/dist/esm/helpers/map-helper.js +2 -2
  110. package/dist/esm/helpers/zarr-helper.js +6 -6
  111. package/dist/esm/index.js +22 -22
  112. package/dist/esm/utils/Filter.js +22 -17
  113. package/dist/esm/utils/Histogram.js +39 -37
  114. package/dist/esm/utils/ImageViewer.js +12 -8
  115. package/dist/esm/utils/Legend.js +44 -36
  116. package/dist/esm/utils/LoadingIndicators.js +16 -13
  117. package/dist/esm/utils/Resolver.js +201 -0
  118. package/dist/esm/utils/Skeleton.js +11 -10
  119. package/dist/esm/utils/StyledTooltip.js +38 -0
  120. package/dist/esm/utils/VirtualizedList.js +35 -27
  121. package/dist/esm/utils/errors.js +15 -15
  122. package/dist/esm/utils/requests.js +24 -12
  123. package/dist/esm/utils/search.js +7 -7
  124. package/dist/esm/utils/string.js +7 -7
  125. package/dist/esm/utils/zarrData.js +27 -28
  126. package/package.json +18 -7
  127. package/scss/cherita-bootstrap.scss +2 -2
  128. package/scss/cherita.scss +43 -17
  129. package/scss/components/accordions.scss +4 -1
  130. package/scss/components/layouts.scss +15 -33
  131. package/scss/components/lists.scss +8 -4
  132. package/scss/components/plotly.scss +38 -26
  133. package/scss/components/plots.scss +14 -1
  134. package/dist/assets/images/plots/dotplot.svg +0 -152
  135. package/dist/assets/images/plots/heatmap.svg +0 -193
  136. package/dist/assets/images/plots/matrixplot.svg +0 -275
  137. package/dist/assets/images/plots/scatterplot.svg +0 -198
  138. package/dist/assets/images/plots/violin.svg +0 -50
@@ -4,10 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HeatmapControls = HeatmapControls;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _reactBootstrap = require("react-bootstrap");
9
8
  var _Controls = require("../controls/Controls");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ var _jsxRuntime = require("react/jsx-runtime");
11
10
  function HeatmapControls() {
12
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form, null, /*#__PURE__*/_react.default.createElement(_Controls.ColorscaleSelect, null)));
11
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
12
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Form, {
13
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Controls.ColorscaleSelect, {})
14
+ })
15
+ });
13
16
  }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DotPlotIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour", "gap"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function DotPlotIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000',
20
+ gap = 20
21
+ } = _ref,
22
+ props = _objectWithoutProperties(_ref, _excluded);
23
+ const rows = 3;
24
+ const cols = 3;
25
+
26
+ // Define two radii: small and large
27
+ const smallR = 10;
28
+ const largeR = 16;
29
+
30
+ // Indices for large circles
31
+ const largeIndices = [1, 4, 5, 6, 7];
32
+
33
+ // Indices for semi-transparent circles
34
+ const semiTransparentIndices = [0, 4, 8];
35
+ const circles = [];
36
+ for (let row = 0; row < rows; row++) {
37
+ for (let col = 0; col < cols; col++) {
38
+ const index = row * cols + col;
39
+ const r = largeIndices.includes(index) ? largeR : smallR;
40
+ circles.push({
41
+ cx: col * (2 * largeR + gap) + largeR,
42
+ cy: row * (2 * largeR + gap) + largeR,
43
+ r,
44
+ fill: colour,
45
+ fillOpacity: semiTransparentIndices.includes(index) ? 0.5 : 1
46
+ });
47
+ }
48
+ }
49
+ const viewBoxSize = (cols - 1) * (2 * largeR + gap) + 2 * largeR;
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
51
+ width: size,
52
+ height: size,
53
+ viewBox: "0 0 ".concat(viewBoxSize, " ").concat(viewBoxSize),
54
+ xmlns: "http://www.w3.org/2000/svg"
55
+ }, props), {}, {
56
+ children: circles.map((circle, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
57
+ cx: circle.cx,
58
+ cy: circle.cy,
59
+ r: circle.r,
60
+ fill: circle.fill,
61
+ fillOpacity: circle.fillOpacity
62
+ }, i))
63
+ }));
64
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = HeatmapIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour", "gap"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function HeatmapIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000',
20
+ gap = 1
21
+ } = _ref,
22
+ props = _objectWithoutProperties(_ref, _excluded);
23
+ const rows = 6; // genes
24
+ const cols = 8; // cells
25
+
26
+ // Example expression pattern for visual clusters
27
+ const expressionLevels = [[1, 0.8, 0.2, 0.2, 0.5, 0.9, 1, 0.7], [0.9, 0.7, 0.1, 0.2, 0.4, 0.8, 0.9, 0.6], [0.1, 0.2, 0.8, 0.9, 0.7, 0.2, 0.1, 0.3], [0.2, 0.3, 0.9, 1, 0.8, 0.3, 0.2, 0.4], [0.5, 0.6, 0.2, 0.1, 0.9, 0.7, 0.6, 0.8], [0.6, 0.7, 0.3, 0.2, 0.8, 0.6, 0.7, 0.9]];
28
+ const cellWidth = (size - (cols - 1) * gap) / cols;
29
+ const cellHeight = (size - (rows - 1) * gap) / rows;
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
31
+ width: size,
32
+ height: size,
33
+ viewBox: "0 0 ".concat(size, " ").concat(size),
34
+ xmlns: "http://www.w3.org/2000/svg"
35
+ }, props), {}, {
36
+ children: expressionLevels.map((row, rowIndex) => row.map((value, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
37
+ x: colIndex * (cellWidth + gap),
38
+ y: rowIndex * (cellHeight + gap),
39
+ width: cellWidth,
40
+ height: cellHeight,
41
+ fill: colour,
42
+ fillOpacity: value
43
+ }, "".concat(rowIndex, "-").concat(colIndex))))
44
+ }));
45
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = MatrixPlotIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour", "gap"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function MatrixPlotIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000',
20
+ gap = 2
21
+ } = _ref,
22
+ props = _objectWithoutProperties(_ref, _excluded);
23
+ const rows = 4;
24
+ const cols = 4;
25
+ const squareSize = (size - gap * (cols - 1)) / cols;
26
+ const squares = [];
27
+ for (let row = 0; row < rows; row++) {
28
+ for (let col = 0; col < cols; col++) {
29
+ squares.push({
30
+ x: col * (squareSize + gap),
31
+ y: row * (squareSize + gap)
32
+ });
33
+ }
34
+ }
35
+ const semiTransparentSquares = [0, 5, 10, 15];
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
37
+ width: size,
38
+ height: size,
39
+ viewBox: "0 0 ".concat(size, " ").concat(size),
40
+ xmlns: "http://www.w3.org/2000/svg"
41
+ }, props), {}, {
42
+ children: squares.map((_ref2, i) => {
43
+ let {
44
+ x,
45
+ y
46
+ } = _ref2;
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
48
+ x: x,
49
+ y: y,
50
+ width: squareSize,
51
+ height: squareSize,
52
+ fill: colour,
53
+ fillOpacity: semiTransparentSquares.includes(i) ? 0.5 : 1
54
+ }, i);
55
+ })
56
+ }));
57
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = MatrixPlotIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour", "gap"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function MatrixPlotIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000',
20
+ gap = 2
21
+ } = _ref,
22
+ props = _objectWithoutProperties(_ref, _excluded);
23
+ const rows = 3;
24
+ const cols = 3;
25
+ const squareSize = (size - gap * (cols - 1)) / cols;
26
+ const squares = [];
27
+ for (let row = 0; row < rows; row++) {
28
+ for (let col = 0; col < cols; col++) {
29
+ squares.push({
30
+ x: col * (squareSize + gap),
31
+ y: row * (squareSize + gap)
32
+ });
33
+ }
34
+ }
35
+
36
+ // Example: corners semi-transparent
37
+ const semiTransparentSquares = [0, 2, 6, 8];
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
39
+ width: size,
40
+ height: size,
41
+ viewBox: "0 0 ".concat(size, " ").concat(size),
42
+ xmlns: "http://www.w3.org/2000/svg"
43
+ }, props), {}, {
44
+ children: squares.map((_ref2, i) => {
45
+ let {
46
+ x,
47
+ y
48
+ } = _ref2;
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
50
+ x: x,
51
+ y: y,
52
+ width: squareSize,
53
+ height: squareSize,
54
+ fill: colour,
55
+ fillOpacity: semiTransparentSquares.includes(i) ? 0.5 : 1
56
+ }, i);
57
+ })
58
+ }));
59
+ }
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ScatterplotIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function ScatterplotIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000'
20
+ } = _ref,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+ // Points with cluster assignments
23
+ const points = [
24
+ // Cluster 0
25
+ {
26
+ x: 15.2,
27
+ y: 35.9,
28
+ cluster: 0
29
+ }, {
30
+ x: 10.0,
31
+ y: 38.0,
32
+ cluster: 0
33
+ }, {
34
+ x: 12.3,
35
+ y: 40.7,
36
+ cluster: 0
37
+ }, {
38
+ x: 15.7,
39
+ y: 39.9,
40
+ cluster: 0
41
+ }, {
42
+ x: 8.1,
43
+ y: 42.2,
44
+ cluster: 0
45
+ }, {
46
+ x: 10.8,
47
+ y: 44.5,
48
+ cluster: 0
49
+ }, {
50
+ x: 14.3,
51
+ y: 44.6,
52
+ cluster: 0
53
+ }, {
54
+ x: 7.4,
55
+ y: 46.7,
56
+ cluster: 0
57
+ }, {
58
+ x: 11.1,
59
+ y: 48.8,
60
+ cluster: 0
61
+ }, {
62
+ x: 14.8,
63
+ y: 48.5,
64
+ cluster: 0
65
+ }, {
66
+ x: 12.6,
67
+ y: 52.1,
68
+ cluster: 0
69
+ },
70
+ // Cluster 1
71
+ {
72
+ x: 29.4,
73
+ y: 37.0,
74
+ cluster: 1
75
+ }, {
76
+ x: 26.1,
77
+ y: 40.2,
78
+ cluster: 1
79
+ }, {
80
+ x: 29.8,
81
+ y: 42.0,
82
+ cluster: 1
83
+ }, {
84
+ x: 33.0,
85
+ y: 39.5,
86
+ cluster: 1
87
+ }, {
88
+ x: 34.9,
89
+ y: 43.6,
90
+ cluster: 1
91
+ }, {
92
+ x: 31.5,
93
+ y: 46.2,
94
+ cluster: 1
95
+ }, {
96
+ x: 29.3,
97
+ y: 49.5,
98
+ cluster: 1
99
+ }, {
100
+ x: 26.7,
101
+ y: 45.2,
102
+ cluster: 1
103
+ },
104
+ // Cluster 2
105
+ {
106
+ x: 21.6,
107
+ y: 53.1,
108
+ cluster: 2
109
+ }, {
110
+ x: 25.3,
111
+ y: 53.9,
112
+ cluster: 2
113
+ }, {
114
+ x: 25.8,
115
+ y: 57.9,
116
+ cluster: 2
117
+ }, {
118
+ x: 22.1,
119
+ y: 57.4,
120
+ cluster: 2
121
+ }, {
122
+ x: 18.4,
123
+ y: 56.0,
124
+ cluster: 2
125
+ }, {
126
+ x: 18.6,
127
+ y: 59.8,
128
+ cluster: 2
129
+ }, {
130
+ x: 22.5,
131
+ y: 61.7,
132
+ cluster: 2
133
+ }];
134
+ const radius = 1.8;
135
+ const opacity = 1.0; // uniform expression
136
+
137
+ // Compute viewBox dynamically
138
+ const xs = points.map(p => p.x);
139
+ const ys = points.map(p => p.y);
140
+ const minX = Math.min(...xs) - radius;
141
+ const minY = Math.min(...ys) - radius;
142
+ const maxX = Math.max(...xs) + radius;
143
+ const maxY = Math.max(...ys) + radius;
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
145
+ width: size,
146
+ height: size,
147
+ viewBox: "".concat(minX, " ").concat(minY, " ").concat(maxX - minX, " ").concat(maxY - minY),
148
+ xmlns: "http://www.w3.org/2000/svg"
149
+ }, props), {}, {
150
+ children: points.map((_ref2, i) => {
151
+ let {
152
+ x,
153
+ y
154
+ } = _ref2;
155
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
156
+ cx: x,
157
+ cy: y,
158
+ r: radius,
159
+ fill: colour,
160
+ opacity: opacity
161
+ }, i);
162
+ })
163
+ }));
164
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ScatterplotIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function ScatterplotIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000'
20
+ } = _ref,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+ // Points with cluster assignments
23
+ const points = [
24
+ // Cluster 0
25
+ {
26
+ x: 15.2,
27
+ y: 35.9,
28
+ cluster: 0
29
+ }, {
30
+ x: 10.0,
31
+ y: 38.0,
32
+ cluster: 0
33
+ }, {
34
+ x: 12.3,
35
+ y: 40.7,
36
+ cluster: 0
37
+ }, {
38
+ x: 15.7,
39
+ y: 39.9,
40
+ cluster: 0
41
+ }, {
42
+ x: 8.1,
43
+ y: 42.2,
44
+ cluster: 0
45
+ }, {
46
+ x: 10.8,
47
+ y: 44.5,
48
+ cluster: 0
49
+ }, {
50
+ x: 14.3,
51
+ y: 44.6,
52
+ cluster: 0
53
+ }, {
54
+ x: 7.4,
55
+ y: 46.7,
56
+ cluster: 0
57
+ }, {
58
+ x: 11.1,
59
+ y: 48.8,
60
+ cluster: 0
61
+ },
62
+ // Cluster 1
63
+ {
64
+ x: 29.4,
65
+ y: 37.0,
66
+ cluster: 1
67
+ }, {
68
+ x: 26.1,
69
+ y: 40.2,
70
+ cluster: 1
71
+ }, {
72
+ x: 29.8,
73
+ y: 42.0,
74
+ cluster: 1
75
+ }, {
76
+ x: 33.0,
77
+ y: 39.5,
78
+ cluster: 1
79
+ }, {
80
+ x: 34.9,
81
+ y: 43.6,
82
+ cluster: 1
83
+ }, {
84
+ x: 31.5,
85
+ y: 46.2,
86
+ cluster: 1
87
+ },
88
+ // Cluster 2
89
+ {
90
+ x: 21.6,
91
+ y: 53.1,
92
+ cluster: 2
93
+ }, {
94
+ x: 25.3,
95
+ y: 53.9,
96
+ cluster: 2
97
+ }, {
98
+ x: 25.8,
99
+ y: 57.9,
100
+ cluster: 2
101
+ }, {
102
+ x: 22.1,
103
+ y: 57.4,
104
+ cluster: 2
105
+ }, {
106
+ x: 18.4,
107
+ y: 56.0,
108
+ cluster: 2
109
+ }, {
110
+ x: 22.5,
111
+ y: 61.7,
112
+ cluster: 2
113
+ }];
114
+ const radius = 1.8;
115
+ const opacity = 1.0; // uniform expression
116
+
117
+ // Compute viewBox dynamically
118
+ const xs = points.map(p => p.x);
119
+ const ys = points.map(p => p.y);
120
+ const minX = Math.min(...xs) - radius;
121
+ const minY = Math.min(...ys) - radius;
122
+ const maxX = Math.max(...xs) + radius;
123
+ const maxY = Math.max(...ys) + radius;
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
125
+ width: size,
126
+ height: size,
127
+ viewBox: "".concat(minX, " ").concat(minY, " ").concat(maxX - minX, " ").concat(maxY - minY),
128
+ xmlns: "http://www.w3.org/2000/svg"
129
+ }, props), {}, {
130
+ children: points.map((_ref2, i) => {
131
+ let {
132
+ x,
133
+ y
134
+ } = _ref2;
135
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
136
+ cx: x,
137
+ cy: y,
138
+ r: radius,
139
+ fill: colour,
140
+ opacity: opacity
141
+ }, i);
142
+ })
143
+ }));
144
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ViolinPlotIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ const _excluded = ["size", "colour"];
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
+ 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); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ function ViolinPlotIcon(_ref) {
17
+ let {
18
+ size = 40,
19
+ colour = '#000'
20
+ } = _ref,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", _objectSpread(_objectSpread({
23
+ viewBox: "0 0 37 40",
24
+ width: size,
25
+ height: size,
26
+ xmlns: "http://www.w3.org/2000/svg"
27
+ }, props), {}, {
28
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
29
+ fill: colour,
30
+ stroke: colour,
31
+ strokeWidth: "0.5",
32
+ transform: "translate(-12 -8)",
33
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
34
+ d: "M19.9971,24.5 A6.3078,6.3078 0 0 0 18.5732,20.8389 7.1479,7.1479 0 0 1 16.9971,16.5 V16.0029 H16.0029 V16.5 a7.1479,7.1479 0 0 1 -1.5761,4.3389 6.3078,6.3078 0 0 0 -1.4239,3.6611 12.4967,12.4967 0 0 1 -0.4853,3.38 13.5076,13.5076 0 0 0 -0.5147,3.62 6.3078,6.3078 0 0 0 1.4239,3.6611 7.1479,7.1479 0 0 1 1.5761,4.3389 19.2486,19.2486 0 0 0 0.5664,4.7246 13.6883,13.6883 0 0 1 0.4336,3.2754 v0.4971 h0.9942 V47.5 A13.6883,13.6883 0 0 1 17.4307,44.2246 19.2486,19.2486 0 0 0 17.9971,39.5 7.1479,7.1479 0 0 1 19.5732,35.1611 6.3078,6.3078 0 0 0 20.9971,31.5 13.5076,13.5076 0 0 0 20.4824,27.88 12.4967,12.4967 0 0 1 19.9971,24.5 Z"
35
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
36
+ d: "M34.6436,12.6963 C32.8506,11.5537 30.9971,10.3711 30.9971,8.5 V8.0029 H30.0029 V8.5 c0,1.8711 -1.8535,3.0537 -3.6465,4.1963 -1.7246,1.1006 -3.3535,2.1387 -3.3535,3.8037 0,1.6152 1.2188,2.7031 2.3975,3.7549 1.2793,1.1426 2.6025,2.3242 2.6025,4.2451 a18.1508,18.1508 0 0 1 -0.542,4.5068 14.5,14.5 0 0 0 -0.458,3.4932 6.038,6.038 0 0 0 1.6,3.7979 5.179,5.179 0 0 1 1.4,3.2021 v0.4971 h0.9942 V39.5 a5.179,5.179 0 0 1 1.4,-3.2021 6.038,6.038 0 0 0 1.6,-3.7979 14.5,14.5 0 0 0 -0.458,-3.4932 18.1508,18.1508 0 0 1 -0.542,-4.5068 c0,-1.9209 1.3232,-3.1025 2.6025,-4.2451 1.1787,-1.0518 2.3975,-2.14 2.3975,-3.7549 0,-1.665 -1.6289,-2.7031 -3.3535,-3.8037 z"
37
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
38
+ d: "M47.3975,35.7021 A5.179,5.179 0 0 1 45.9975,32.5 14.5,14.5 0 0 0 45.5395,29.0068 18.1508,18.1508 0 0 1 44.9975,24.5 V24.0029 H44.0033 V24.5 a18.1508,18.1508 0 0 1 -0.542,4.5068 14.5,14.5 0 0 0 -0.458,3.4932 5.179,5.179 0 0 1 -1.4,3.2021 6.038,6.038 0 0 0 -1.6,3.7979 c0,1.582 0.9717,2.667 1.9121,3.7158 1.0264,1.1455 2.0879,2.3311 2.0879,4.2842 v0.4971 h0.9942 V47.5 c0,-1.9531 1.0615,-3.1387 2.0879,-4.2842 0.94,-1.0488 1.9121,-2.1338 1.9121,-3.7158 a6.038,6.038 0 0 0 -1.6,-3.7979 z"
39
+ })]
40
+ })
41
+ }));
42
+ }