@milaboratories/graph-maker 1.1.157 → 1.1.159

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 (65) hide show
  1. package/dist/GraphMaker/constantsCommon.d.ts +1 -0
  2. package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
  3. package/dist/GraphMaker/constantsCommon.js +17 -16
  4. package/dist/GraphMaker/constantsCommon.js.map +1 -1
  5. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
  6. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +104 -93
  7. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  8. package/dist/GraphMaker/index.vue.js +33 -33
  9. package/dist/GraphMaker/index.vue.js.map +1 -1
  10. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +1 -0
  11. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  12. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +11 -11
  13. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  14. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js +136 -135
  15. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js.map +1 -1
  16. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js +2 -2
  17. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  18. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js +115 -107
  19. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
  20. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js +99 -0
  21. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js.map +1 -0
  22. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsSvg.js +57 -0
  23. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsSvg.js.map +1 -0
  24. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/index.js +43 -43
  25. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/index.js.map +1 -1
  26. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/CanvasCells.js +85 -0
  27. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/CanvasCells.js.map +1 -0
  28. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Captions/AxisCaptions.js +5 -5
  29. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Captions/GroupCaptions.js +16 -16
  30. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js +191 -197
  31. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js.map +1 -1
  32. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js +29 -27
  33. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js.map +1 -1
  34. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/SvgCells.js +38 -0
  35. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/SvgCells.js.map +1 -0
  36. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/tooltipUtils.js +44 -0
  37. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/tooltipUtils.js.map +1 -0
  38. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/constants.js +16 -15
  39. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/constants.js.map +1 -1
  40. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js +63 -66
  41. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js.map +1 -1
  42. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js +64 -62
  43. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js.map +1 -1
  44. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateChartSideElementSizes.js +9 -9
  45. package/dist/node_modules/@milaboratories/miplots4/dist/histogram/components/ChartsGroup.js +14 -14
  46. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +5 -4
  47. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js.map +1 -1
  48. package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +10 -8
  49. package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +1 -1
  50. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +21 -21
  51. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +19 -19
  52. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +8 -8
  53. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +9 -9
  54. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +7 -7
  55. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +2 -2
  56. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -1
  57. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +59 -57
  58. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -1
  59. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/components/PlDataTable.js.map +1 -1
  60. package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +13 -13
  61. package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +137 -133
  62. package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -1
  63. package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +73 -74
  64. package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -1
  65. package/package.json +3 -3
@@ -1,234 +1,228 @@
1
- import { j as r } from "../../node_modules/react/jsx-runtime.js";
2
- import { r as te } from "../../_virtual/index.js";
3
- import { r as se } from "../../node_modules/react-dom/index.js";
4
- import { Tooltip as T } from "../../common/Tooltip.js";
5
- import { useDataFrame as oe } from "../../common/useDataFrame.js";
6
- import { FONT_SIZE as ae, FACET_TITLE_OFFSET as re } from "../constants.js";
7
- import { Annotations as le } from "./Annotations/index.js";
8
- import { Captions as ie } from "./Captions/index.js";
9
- import { Dendrograms as ne } from "./Dendrograms.js";
10
- import { Frames as ue } from "./Frames.js";
11
- import { format as ye } from "../../node_modules/d3-format/src/defaultLocale.js";
12
- function B(e, s) {
13
- if (e === null)
14
- return "null";
15
- if (typeof e == "number") {
16
- if (s)
17
- return ye(s)(e);
18
- const o = e > 0 ? Math.floor(e) : Math.ceil(e), a = e - o;
19
- return o + Number(a.toPrecision(2));
20
- }
21
- return e;
22
- }
23
- function pe(e, s, o, a = []) {
24
- const d = `${B(s.value)}${s.value !== s.normalizedValue ? ` (${B(s.normalizedValue)})` : ""}`;
25
- if (a.length) {
26
- const p = [
27
- `Value: ${d}`
28
- ];
29
- for (const u of a) {
30
- const f = e.getColumnValue(u.value, s.idx);
31
- p.push(`${u.label}: ${B(f, u.format)}`);
32
- }
33
- return p;
34
- }
35
- return [d];
36
- }
37
- function ce(e, s) {
38
- const o = [];
39
- return e.xKey && o.push(`X: ${s.xLabels[e.xKey]}`), e.yKey && o.push(`Y: ${s.yLabels[e.yKey]}`), o.push(`${e.title}: ${B(e.value, e.column.format)}`), o;
40
- }
41
- function xe(e) {
42
- return e !== null && "isAnnotation" in e;
43
- }
44
- function V(e) {
45
- return e !== null && "isCell" in e;
46
- }
47
- function ve({
48
- dendrograms: e,
49
- facetKey: s,
50
- dimensions: o,
51
- scales: a,
52
- cells: d,
53
- xGroupKeys: p,
54
- yGroupKeys: u,
55
- xKeysByGroups: f,
56
- yKeysByGroups: D,
57
- colorScale: X,
58
- chartSettings: m,
59
- cellsMeta: l,
60
- stepX: c,
61
- stepY: h,
62
- sharedX: Y,
63
- sharedY: z,
64
- annotations: _,
65
- annotationColorScales: O,
66
- dendrogramAesScales: W,
67
- aes: S,
68
- labelAngles: k,
69
- chartSizes: K,
70
- margins: g,
71
- tooltipsContainer: E,
72
- tooltipsData: t
1
+ import { j as t } from "../../node_modules/react/jsx-runtime.js";
2
+ import { Tooltip as E } from "../../common/Tooltip.js";
3
+ import { useDataFrame as q } from "../../common/useDataFrame.js";
4
+ import { FONT_SIZE as N, FACET_TITLE_OFFSET as P } from "../constants.js";
5
+ import { Annotations as Q } from "./Annotations/index.js";
6
+ import { Captions as U } from "./Captions/index.js";
7
+ import { Dendrograms as Z } from "./Dendrograms.js";
8
+ import { Frames as $ } from "./Frames.js";
9
+ import { isCellTooltip as A, isAnnotationTooltip as L, getTooltipContent as ee, getAnnotationTooltipContent as te } from "./tooltipUtils.js";
10
+ import { CanvasCells as se } from "./CanvasCells.js";
11
+ import { SvgCells as ae } from "./SvgCells.js";
12
+ function fe({
13
+ dendrograms: v,
14
+ facetKey: o,
15
+ dimensions: l,
16
+ scales: s,
17
+ cells: C,
18
+ xGroupKeys: f,
19
+ yGroupKeys: m,
20
+ xKeysByGroups: g,
21
+ yKeysByGroups: u,
22
+ colorScale: K,
23
+ chartSettings: p,
24
+ cellsMeta: a,
25
+ stepX: r,
26
+ stepY: c,
27
+ sharedX: F,
28
+ sharedY: X,
29
+ annotations: Y,
30
+ annotationColorScales: z,
31
+ dendrogramAesScales: k,
32
+ aes: y,
33
+ labelAngles: M,
34
+ chartSizes: d,
35
+ margins: x,
36
+ tooltipsContainer: j,
37
+ tooltipsData: e,
38
+ cellsRenderingMode: D
73
39
  }) {
74
- const H = oe(), [G, I] = te.useState(), { xAxis: J, yAxis: N, tooltips: C } = m, { width: j, height: L } = o.inner, { padding: i, chartEdgeSides: P, sideElementBBoxes: y } = o, { xGroupLabels: q, yGroupLabels: Q, xLabels: U, yLabels: Z } = l, b = a.x.domain(), F = a.y.domain(), w = {
75
- left: g.left + o.left + i.left,
76
- right: K.totalWidth - (g.left + o.left + i.left),
77
- top: g.top + o.top + i.top,
78
- bottom: K.totalHeight - (g.top + o.top + i.top)
79
- }, M = !1, R = G && t.fixed;
80
- return /* @__PURE__ */ r.jsxs("g", { transform: `translate(${o.left},${o.top})`, fontSize: ae, children: [
81
- /* @__PURE__ */ r.jsxs("g", { transform: `translate(${i.left},${i.top})`, children: [
82
- /* @__PURE__ */ r.jsx(
83
- le,
40
+ const R = q(), { xAxis: V, yAxis: W, tooltips: T } = p, { width: G, height: B } = l.inner, { padding: i, chartEdgeSides: _, sideElementBBoxes: n } = l, { xGroupLabels: H, yGroupLabels: I, xLabels: J, yLabels: O } = a, h = s.x.domain(), S = s.y.domain(), b = {
41
+ left: x.left + l.left + i.left,
42
+ right: d.totalWidth - (x.left + l.left + i.left),
43
+ top: x.top + l.top + i.top,
44
+ bottom: d.totalHeight - (x.top + l.top + i.top)
45
+ }, w = !1;
46
+ return /* @__PURE__ */ t.jsxs("g", { transform: `translate(${l.left},${l.top})`, fontSize: N, children: [
47
+ /* @__PURE__ */ t.jsxs("g", { transform: `translate(${i.left},${i.top})`, children: [
48
+ /* @__PURE__ */ t.jsx(
49
+ Q,
84
50
  {
85
- facetKey: s,
86
- sideElementBBoxes: y,
87
- annotations: _,
88
- cellsMeta: l,
89
- annotationColorScales: O,
90
- sharedX: Y,
91
- sharedY: z,
92
- chartEdgeSides: P,
93
- width: j,
94
- height: L,
95
- scales: a,
96
- stepX: c,
97
- stepY: h,
98
- aes: S,
99
- frame: m.frame,
100
- xGroupKeys: p,
101
- yGroupKeys: u,
102
- xKeysByGroups: f,
103
- yKeysByGroups: D,
104
- tooltipsData: t,
105
- activeElementContainer: G
51
+ facetKey: o,
52
+ sideElementBBoxes: n,
53
+ annotations: Y,
54
+ cellsMeta: a,
55
+ annotationColorScales: z,
56
+ sharedX: F,
57
+ sharedY: X,
58
+ chartEdgeSides: _,
59
+ width: G,
60
+ height: B,
61
+ scales: s,
62
+ stepX: r,
63
+ stepY: c,
64
+ aes: y,
65
+ frame: p.frame,
66
+ xGroupKeys: f,
67
+ yGroupKeys: m,
68
+ xKeysByGroups: g,
69
+ yKeysByGroups: u,
70
+ tooltipsData: e,
71
+ cellsRenderingMode: D
106
72
  }
107
73
  ),
108
- /* @__PURE__ */ r.jsx(
109
- ne,
74
+ /* @__PURE__ */ t.jsx(
75
+ Z,
110
76
  {
111
- dendrograms: e,
112
- sideElementBBoxes: y,
113
- xGroupKeys: l.xGroupKeys,
114
- yGroupKeys: l.yGroupKeys,
115
- xDataByKeys: l.xDataByKeys,
116
- yDataByKeys: l.yDataByKeys,
117
- aesScales: W
77
+ dendrograms: v,
78
+ sideElementBBoxes: n,
79
+ xGroupKeys: a.xGroupKeys,
80
+ yGroupKeys: a.yGroupKeys,
81
+ xDataByKeys: a.xDataByKeys,
82
+ yDataByKeys: a.yDataByKeys,
83
+ aesScales: k
118
84
  }
119
85
  ),
120
- y.top.facetTitle.isVisible && /* @__PURE__ */ r.jsx(
86
+ n.top.facetTitle.isVisible && /* @__PURE__ */ t.jsx(
121
87
  "text",
122
88
  {
123
- x: y.top.facetTitle.x,
124
- y: y.top.facetTitle.y + y.top.facetTitle.height - re,
89
+ x: n.top.facetTitle.x,
90
+ y: n.top.facetTitle.y + n.top.facetTitle.height - P,
125
91
  fontWeight: "500",
126
92
  fontSize: "20px",
127
- children: l.facetKeyValues[s].join(", ")
93
+ children: a.facetKeyValues[o].join(", ")
94
+ }
95
+ ),
96
+ w,
97
+ D === "svg" && /* @__PURE__ */ t.jsx(
98
+ ae,
99
+ {
100
+ scales: s,
101
+ facetKey: o,
102
+ cells: C,
103
+ xKeys: h,
104
+ yKeys: S,
105
+ stepX: r,
106
+ stepY: c,
107
+ aes: y,
108
+ colorScale: K,
109
+ tooltipsData: e
128
110
  }
129
111
  ),
130
- M,
131
- b.map(
132
- (x) => F.map((v) => {
133
- var $;
134
- const n = ($ = d == null ? void 0 : d[x]) == null ? void 0 : $[v], ee = R && V(t.selectedData) && (n == null ? void 0 : n.id) === t.selectedData.id, A = n ? /* @__PURE__ */ r.jsx(
135
- "rect",
136
- {
137
- x: a.x(x),
138
- y: a.y(v),
139
- width: c,
140
- height: h,
141
- stroke: S.cellStrokeColor,
142
- fill: n.value === null ? S.emptyCellColor : X(n.normalizedValue),
143
- onMouseOver: () => t.onMouseEnter(n, s),
144
- onMouseLeave: () => t.onMouseLeave()
145
- },
146
- n ? n.id : `${x}_${v}`
147
- ) : null;
148
- return ee ? se.createPortal(A, G) : A;
149
- })
112
+ D === "canvas" && /* @__PURE__ */ t.jsx(
113
+ se,
114
+ {
115
+ scales: s,
116
+ facetKey: o,
117
+ cells: C,
118
+ width: G,
119
+ height: B,
120
+ xKeys: h,
121
+ yKeys: S,
122
+ stepX: r,
123
+ stepY: c,
124
+ aes: y,
125
+ colorScale: K,
126
+ tooltipsData: e
127
+ }
150
128
  ),
151
- /* @__PURE__ */ r.jsx(
152
- ue,
129
+ /* @__PURE__ */ t.jsx(
130
+ $,
153
131
  {
154
- frame: m.frame,
155
- xGroupKeys: p,
156
- yGroupKeys: u,
157
- xKeysByGroups: f,
158
- yKeysByGroups: D,
159
- scales: a,
160
- stepX: c,
161
- stepY: h,
162
- width: j,
163
- height: L
132
+ frame: p.frame,
133
+ xGroupKeys: f,
134
+ yGroupKeys: m,
135
+ xKeysByGroups: g,
136
+ yKeysByGroups: u,
137
+ scales: s,
138
+ stepX: r,
139
+ stepY: c,
140
+ width: G,
141
+ height: B
164
142
  }
165
143
  ),
166
- /* @__PURE__ */ r.jsx(
167
- ie,
144
+ /* @__PURE__ */ t.jsx(
145
+ U,
168
146
  {
169
- xAxis: J,
170
- yAxis: N,
171
- scales: a,
172
- stepX: c,
173
- stepY: h,
174
- debug: M,
175
- sideElementBBoxes: y,
176
- xKeys: b,
177
- yKeys: F,
178
- xGroupKeys: p,
179
- yGroupKeys: u,
180
- xKeysByGroups: f,
181
- yKeysByGroups: D,
182
- xGroupLabels: q,
183
- yGroupLabels: Q,
184
- labelAngles: k,
185
- xLabels: U,
186
- yLabels: Z
147
+ xAxis: V,
148
+ yAxis: W,
149
+ scales: s,
150
+ stepX: r,
151
+ stepY: c,
152
+ debug: w,
153
+ sideElementBBoxes: n,
154
+ xKeys: h,
155
+ yKeys: S,
156
+ xGroupKeys: f,
157
+ yGroupKeys: m,
158
+ xKeysByGroups: g,
159
+ yKeysByGroups: u,
160
+ xGroupLabels: H,
161
+ yGroupLabels: I,
162
+ labelAngles: M,
163
+ xLabels: J,
164
+ yLabels: O
187
165
  }
188
166
  )
189
167
  ] }),
190
- m.tooltips.show && V(t.selectedData) && t.currentFacet === s && /* @__PURE__ */ r.jsx(
191
- T,
168
+ p.tooltips.show && A(e.selectedData) && e.currentFacet === o && /* @__PURE__ */ t.jsx(
169
+ E,
192
170
  {
193
- content: pe(H, t.selectedData, l, C == null ? void 0 : C.content),
194
- x: a.x(String(t.selectedData.x)) + c / 2,
195
- y: a.y(String(t.selectedData.y)) + h / 2,
196
- offset: b.length > 1 ? c / 2 : 0,
171
+ content: ee(R, e.selectedData, a, T == null ? void 0 : T.content),
172
+ x: s.x(String(e.selectedData.x)) + r / 2,
173
+ y: s.y(String(e.selectedData.y)) + c / 2,
174
+ offset: h.length > 1 ? r / 2 : 0,
197
175
  active: !0,
198
- sideDistances: w,
199
- fixed: t.fixed,
200
- onClose: t.onClose,
201
- container: E
176
+ sideDistances: b,
177
+ fixed: e.fixed,
178
+ onClose: e.onClose,
179
+ container: j
202
180
  }
203
181
  ),
204
- m.tooltips.show && xe(t.selectedData) && t.currentFacet === s && /* @__PURE__ */ r.jsx(
205
- T,
182
+ p.tooltips.show && L(e.selectedData) && e.currentFacet === o && /* @__PURE__ */ t.jsx(
183
+ E,
206
184
  {
207
- content: ce(t.selectedData, l),
208
- x: t.selectedData.x,
209
- y: t.selectedData.y,
185
+ content: te(e.selectedData, a),
186
+ x: e.selectedData.x,
187
+ y: e.selectedData.y,
210
188
  offset: 0,
211
189
  active: !0,
212
- sideDistances: w,
213
- fixed: t.fixed,
214
- onClose: t.onClose,
215
- container: E
190
+ sideDistances: b,
191
+ fixed: e.fixed,
192
+ onClose: e.onClose,
193
+ container: j
216
194
  }
217
195
  ),
218
- /* @__PURE__ */ r.jsxs("g", { transform: `translate(${i.left},${i.top})`, children: [
219
- t.fixed && /* @__PURE__ */ r.jsx("rect", { width: K.chartWidth, height: K.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
220
- /* @__PURE__ */ r.jsx(
221
- "g",
222
- {
223
- ref: (x) => {
224
- x && !G && I(x);
196
+ /* @__PURE__ */ t.jsxs("g", { transform: `translate(${i.left},${i.top})`, children: [
197
+ e.fixed && /* @__PURE__ */ t.jsx("rect", { width: d.chartWidth, height: d.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
198
+ /* @__PURE__ */ t.jsxs("g", { children: [
199
+ e.fixed && e.currentFacet === o && A(e.selectedData) && /* @__PURE__ */ t.jsx(
200
+ "rect",
201
+ {
202
+ width: r,
203
+ height: c,
204
+ x: s.x(e.selectedData.x),
205
+ y: s.y(e.selectedData.y),
206
+ fill: K(e.selectedData.normalizedValue ?? e.selectedData.value),
207
+ stroke: y.cellStrokeColor
225
208
  }
226
- }
227
- )
209
+ ),
210
+ e.fixed && e.currentFacet === o && L(e.selectedData) && /* @__PURE__ */ t.jsx(
211
+ "rect",
212
+ {
213
+ x: e.selectedData.cell.x,
214
+ y: e.selectedData.cell.y,
215
+ width: e.selectedData.cell.width,
216
+ height: e.selectedData.cell.height,
217
+ fill: e.selectedData.cell.fill,
218
+ stroke: e.selectedData.cell.stroke
219
+ }
220
+ )
221
+ ] })
228
222
  ] })
229
223
  ] });
230
224
  }
231
225
  export {
232
- ve as Chart
226
+ fe as Chart
233
227
  };
234
228
  //# sourceMappingURL=Chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","sources":["../../../../../../../node_modules/@milaboratories/miplots4/src/heatmap/components/Chart.tsx"],"sourcesContent":["import { format as d3format } from 'd3-format';\nimport { useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport type { DataFrame } from '../../DataFrame';\nimport type { ColumnName, DataValue } from '../../types';\nimport { FACET_TITLE_OFFSET, FONT_SIZE } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Annotations } from './Annotations';\nimport { Captions } from './Captions';\nimport { Dendrograms } from './Dendrograms';\nimport { Frames } from './Frames';\nimport type { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';\n\nfunction formatCellValue(v: DataValue, format?: string): number | string {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'number') {\n if (format) {\n return d3format(format)(v);\n }\n const whole = v > 0 ? Math.floor(v) : Math.ceil(v);\n const decimal = v - whole;\n return whole + Number(decimal.toPrecision(2));\n }\n return v;\n}\nfunction getTooltipContent(\n dataFrame: DataFrame,\n cell: Cell,\n cellsMeta: GroupedCellsData['meta'],\n columnsList: ColumnName[] = []\n) {\n const value = `${formatCellValue(cell.value)}${cell.value !== cell.normalizedValue ? ` (${formatCellValue(cell.normalizedValue)})` : ''}`;\n if (columnsList.length) {\n const lines = [\n `Value: ${value}`,\n ];\n for (const column of columnsList) {\n const value = dataFrame.getColumnValue(column.value, cell.idx);\n lines.push(`${column.label}: ${formatCellValue(value, column.format)}`);\n }\n return lines;\n }\n\n return [value];\n}\nfunction getAnnotationTooltipContent(data: AnnotationTooltipData, cellsMeta: GroupedCellsData['meta']) {\n const lines: string[] = [];\n if (data.xKey) {\n lines.push(`X: ${cellsMeta.xLabels[data.xKey as string]}`);\n }\n if (data.yKey) {\n lines.push(`Y: ${cellsMeta.yLabels[data.yKey as string]}`);\n }\n lines.push(`${data.title}: ${formatCellValue(data.value, data.column.format)}`);\n return lines;\n}\n\nfunction isAnnotationTooltip(d: Cell | AnnotationTooltipData | null): d is AnnotationTooltipData {\n return d !== null && 'isAnnotation' in d;\n}\n\nfunction isCellTooltip(d: Cell | AnnotationTooltipData | null): d is Cell {\n return d !== null && 'isCell' in d;\n}\n\nexport function Chart<ValueType>({\n dendrograms,\n facetKey,\n dimensions,\n scales,\n cells,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n colorScale,\n chartSettings,\n cellsMeta,\n stepX,\n stepY,\n sharedX,\n sharedY,\n annotations,\n annotationColorScales,\n dendrogramAesScales,\n aes,\n labelAngles,\n chartSizes,\n margins,\n tooltipsContainer,\n tooltipsData,\n}: {\n facetKey: string;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n dimensions: ChartDimensionsData;\n scales: ChartScales;\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsData['meta'];\n stepX: number;\n stepY: number;\n annotations: HeatmapSettingsImpl['annotations'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: ChartDendrograms;\n dendrogramAesScales: DendrogramAesScales;\n labelAngles: LabelAngles;\n margins: Margins;\n tooltipsContainer?: Element;\n tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;\n}) {\n const dataFrame = useDataFrame();\n const [activeElementContainer, setActiveElementContainer] = useState<SVGGElement>();\n\n const { xAxis, yAxis, tooltips } = chartSettings;\n const { width, height } = dimensions.inner;\n const { padding, chartEdgeSides, sideElementBBoxes } = dimensions;\n const { xGroupLabels, yGroupLabels, xLabels, yLabels } = cellsMeta;\n\n const xKeys = scales.x.domain();\n const yKeys = scales.y.domain();\n\n const sideDistances = {\n left: margins.left + dimensions.left + padding.left,\n right: chartSizes.totalWidth - (margins.left + dimensions.left + padding.left),\n top: margins.top + dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (margins.top + dimensions.top + padding.top),\n };\n\n const debug = false;\n const isDimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g transform={`translate(${dimensions.left},${dimensions.top})`} fontSize={FONT_SIZE}>\n <g transform={`translate(${padding.left},${padding.top})`}>\n <Annotations\n facetKey={facetKey}\n sideElementBBoxes={sideElementBBoxes}\n annotations={annotations}\n cellsMeta={cellsMeta}\n annotationColorScales={annotationColorScales}\n sharedX={sharedX}\n sharedY={sharedY}\n chartEdgeSides={chartEdgeSides}\n width={width}\n height={height}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n tooltipsData={tooltipsData}\n activeElementContainer={activeElementContainer}\n />\n <Dendrograms\n dendrograms={dendrograms}\n sideElementBBoxes={sideElementBBoxes}\n xGroupKeys={cellsMeta.xGroupKeys}\n yGroupKeys={cellsMeta.yGroupKeys}\n xDataByKeys={cellsMeta.xDataByKeys}\n yDataByKeys={cellsMeta.yDataByKeys}\n aesScales={dendrogramAesScales}\n />\n {/* facet title */}\n {sideElementBBoxes.top.facetTitle.isVisible && (\n <text\n x={sideElementBBoxes.top.facetTitle.x}\n y={\n sideElementBBoxes.top.facetTitle.y +\n sideElementBBoxes.top.facetTitle.height -\n FACET_TITLE_OFFSET\n }\n fontWeight=\"500\"\n fontSize=\"20px\"\n >\n {cellsMeta.facetKeyValues[facetKey].join(', ')}\n </text>\n )}\n {debug && (\n <g fill=\"green\" opacity=\"0.2\">\n <rect\n x={-padding.left}\n y={-padding.top}\n width={dimensions.outer.width}\n height={dimensions.outer.height}\n fill=\"none\"\n stroke=\"red\"\n />\n <rect x={-padding.left} y=\"0\" width={padding.left} height={height} />\n <rect x={width} y=\"0\" width={padding.right} height={height} />\n <rect x=\"0\" y={-padding.top} width={width} height={padding.top} />\n <rect x=\"0\" y={height} width={width} height={padding.bottom} />\n </g>\n )}\n {/* cells */}\n {xKeys.map(xKey =>\n yKeys.map(yKey => {\n const cell = cells?.[xKey]?.[yKey];\n const highlighted = isDimmedBackground && isCellTooltip(tooltipsData.selectedData) && cell?.id === tooltipsData.selectedData.id;\n const cellElement = cell ? (\n <rect\n key={cell ? cell.id : `${xKey}_${yKey}`}\n x={scales.x(xKey)}\n y={scales.y(yKey)}\n width={stepX}\n height={stepY}\n stroke={aes.cellStrokeColor}\n fill={cell.value === null ? aes.emptyCellColor : colorScale(cell.normalizedValue as ValueType)}\n onMouseOver={() => tooltipsData.onMouseEnter(cell, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n ) : null;\n return highlighted ? createPortal(cellElement, activeElementContainer) : cellElement;\n })\n )}\n <Frames\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n width={width}\n height={height}\n />\n <Captions\n xAxis={xAxis}\n yAxis={yAxis}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n debug={debug}\n sideElementBBoxes={sideElementBBoxes}\n xKeys={xKeys}\n yKeys={yKeys}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n xGroupLabels={xGroupLabels}\n yGroupLabels={yGroupLabels}\n labelAngles={labelAngles}\n xLabels={xLabels}\n yLabels={yLabels}\n />\n </g>\n {chartSettings.tooltips.show && isCellTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, cellsMeta, tooltips?.content)}\n x={scales.x(String(tooltipsData.selectedData.x)) + stepX / 2}\n y={scales.y(String(tooltipsData.selectedData.y)) + stepY / 2}\n offset={xKeys.length > 1 ? stepX / 2 : 0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n {chartSettings.tooltips.show && isAnnotationTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getAnnotationTooltipContent(tooltipsData.selectedData, cellsMeta)}\n x={tooltipsData.selectedData.x}\n y={tooltipsData.selectedData.y}\n offset={0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n <g transform={`translate(${padding.left},${padding.top})`}>\n {tooltipsData.fixed && <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\" />}\n <g ref={node => {\n if (node && !activeElementContainer) {\n setActiveElementContainer(node);\n }\n }}\n />\n </g>\n </g>\n );\n}\n"],"names":["formatCellValue","v","format","d3format","whole","decimal","getTooltipContent","dataFrame","cell","cellsMeta","columnsList","value","lines","column","getAnnotationTooltipContent","data","isAnnotationTooltip","d","isCellTooltip","Chart","dendrograms","facetKey","dimensions","scales","cells","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","colorScale","chartSettings","stepX","stepY","sharedX","sharedY","annotations","annotationColorScales","dendrogramAesScales","aes","labelAngles","chartSizes","margins","tooltipsContainer","tooltipsData","useDataFrame","activeElementContainer","setActiveElementContainer","useState","xAxis","yAxis","tooltips","width","height","padding","chartEdgeSides","sideElementBBoxes","xGroupLabels","yGroupLabels","xLabels","yLabels","xKeys","yKeys","sideDistances","debug","isDimmedBackground","jsxs","FONT_SIZE","jsx","Annotations","Dendrograms","FACET_TITLE_OFFSET","xKey","yKey","_a","highlighted","cellElement","createPortal","Frames","Captions","Tooltip","node"],"mappings":";;;;;;;;;;;AAiBA,SAASA,EAAgBC,GAAcC,GAAkC;AACrE,MAAID,MAAM;AACN,WAAO;AAEX,MAAI,OAAOA,KAAM,UAAU;AACvB,QAAIC;AACA,aAAOC,GAASD,CAAM,EAAED,CAAC;AAE7B,UAAMG,IAAQH,IAAI,IAAI,KAAK,MAAMA,CAAC,IAAI,KAAK,KAAKA,CAAC,GAC3CI,IAAUJ,IAAIG;AACpB,WAAOA,IAAQ,OAAOC,EAAQ,YAAY,CAAC,CAAC;AAAA,EAChD;AACA,SAAOJ;AACX;AACA,SAASK,GACLC,GACAC,GACAC,GACAC,IAA4B,CAAA,GAC9B;AACE,QAAMC,IAAQ,GAAGX,EAAgBQ,EAAK,KAAK,CAAC,GAAGA,EAAK,UAAUA,EAAK,kBAAkB,KAAKR,EAAgBQ,EAAK,eAAe,CAAC,MAAM,EAAE;AACvI,MAAIE,EAAY,QAAQ;AACpB,UAAME,IAAQ;AAAA,MACV,UAAUD,CAAK;AAAA,IAAA;AAEnB,eAAWE,KAAUH,GAAa;AAC9B,YAAMC,IAAQJ,EAAU,eAAeM,EAAO,OAAOL,EAAK,GAAG;AAC7DI,MAAAA,EAAM,KAAK,GAAGC,EAAO,KAAK,KAAKb,EAAgBW,GAAOE,EAAO,MAAM,CAAC,EAAE;AAAA,IAC1E;AACA,WAAOD;AAAAA,EACX;AAEA,SAAO,CAACD,CAAK;AACjB;AACA,SAASG,GAA4BC,GAA6BN,GAAqC;AACnG,QAAMG,IAAkB,CAAA;AACxB,SAAIG,EAAK,QACLH,EAAM,KAAK,MAAMH,EAAU,QAAQM,EAAK,IAAc,CAAC,EAAE,GAEzDA,EAAK,QACLH,EAAM,KAAK,MAAMH,EAAU,QAAQM,EAAK,IAAc,CAAC,EAAE,GAE7DH,EAAM,KAAK,GAAGG,EAAK,KAAK,KAAKf,EAAgBe,EAAK,OAAOA,EAAK,OAAO,MAAM,CAAC,EAAE,GACvEH;AACX;AAEA,SAASI,GAAoBC,GAAoE;AAC7F,SAAOA,MAAM,QAAQ,kBAAkBA;AAC3C;AAEA,SAASC,EAAcD,GAAmD;AACtE,SAAOA,MAAM,QAAQ,YAAYA;AACrC;AAEO,SAASE,GAAiB;AAAA,EAC7B,aAAAC;AAAAA,EACA,UAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,QAAAC;AAAAA,EACA,OAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,eAAAC;AAAAA,EACA,eAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,eAAAC;AAAAA,EACA,WAAArB;AAAAA,EACA,OAAAsB;AAAAA,EACA,OAAAC;AAAAA,EACA,SAAAC;AAAAA,EACA,SAAAC;AAAAA,EACA,aAAAC;AAAAA,EACA,uBAAAC;AAAAA,EACA,qBAAAC;AAAAA,EACA,KAAAC;AAAAA,EACA,aAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,SAAAC;AAAAA,EACA,mBAAAC;AAAAA,EACA,cAAAC;AACJ,GA2BG;AACC,QAAMpC,IAAYqC,MACZ,CAACC,GAAwBC,CAAyB,IAAIC,GAAAA,SAAAA,GAEtD,EAAE,OAAAC,GAAO,OAAAC,GAAO,UAAAC,EAAAA,IAAapB,GAC7B,EAAE,OAAAqB,GAAO,QAAAC,EAAAA,IAAW9B,EAAW,OAC/B,EAAE,SAAA+B,GAAS,gBAAAC,GAAgB,mBAAAC,EAAAA,IAAsBjC,GACjD,EAAE,cAAAkC,GAAc,cAAAC,GAAc,SAAAC,GAAS,SAAAC,EAAAA,IAAYlD,GAEnDmD,IAAQrC,EAAO,EAAE,UACjBsC,IAAQtC,EAAO,EAAE,OAAA,GAEjBuC,IAAgB;AAAA,IAClB,MAAMrB,EAAQ,OAAOnB,EAAW,OAAO+B,EAAQ;AAAA,IAC/C,OAAOb,EAAW,cAAcC,EAAQ,OAAOnB,EAAW,OAAO+B,EAAQ;AAAA,IACzE,KAAKZ,EAAQ,MAAMnB,EAAW,MAAM+B,EAAQ;AAAA,IAC5C,QAAQb,EAAW,eAAeC,EAAQ,MAAMnB,EAAW,MAAM+B,EAAQ;AAAA,EAAA,GAGvEU,IAAQ,IACRC,IAAqBnB,KAA0BF,EAAa;AAElE,SACIsB,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAa3C,EAAW,IAAI,IAAIA,EAAW,GAAG,KAAK,UAAU4C,IACvE,UAAA;AAAA,IAAAD,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAaZ,EAAQ,IAAI,IAAIA,EAAQ,GAAG,KAClD,UAAA;AAAA,MAAAc,gBAAAA,EAAAA;AAAAA,QAACC;AAAAA,QAAA;AAAA,UACG,UAAA/C;AAAAA,UACA,mBAAAkC;AAAAA,UACA,aAAApB;AAAAA,UACA,WAAA1B;AAAAA,UACA,uBAAA2B;AAAAA,UACA,SAAAH;AAAAA,UACA,SAAAC;AAAAA,UACA,gBAAAoB;AAAAA,UACA,OAAAH;AAAAA,UACA,QAAAC;AAAAA,UACA,QAAA7B;AAAAA,UACA,OAAAQ;AAAAA,UACA,OAAAC;AAAAA,UACA,KAAAM;AAAAA,UACA,OAAOR,EAAc;AAAA,UACrB,YAAAL;AAAAA,UACA,YAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,cAAAe;AAAAA,UACA,wBAAAE;AAAAA,QAAA;AAAA,MAAA;AAAA,MAEJsB,gBAAAA,EAAAA;AAAAA,QAACE;AAAAA,QAAA;AAAA,UACG,aAAAjD;AAAAA,UACA,mBAAAmC;AAAAA,UACA,YAAY9C,EAAU;AAAA,UACtB,YAAYA,EAAU;AAAA,UACtB,aAAaA,EAAU;AAAA,UACvB,aAAaA,EAAU;AAAA,UACvB,WAAW4B;AAAAA,QAAA;AAAA,MAAA;AAAA,MAGdkB,EAAkB,IAAI,WAAW,aAC9BY,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACG,GAAGZ,EAAkB,IAAI,WAAW;AAAA,UACpC,GACIA,EAAkB,IAAI,WAAW,IACjCA,EAAkB,IAAI,WAAW,SACjCe;AAAAA,UAEJ,YAAW;AAAA,UACX,UAAS;AAAA,UAER,UAAA7D,EAAU,eAAeY,CAAQ,EAAE,KAAK,IAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAGpD0C;AAAAA,MAiBAH,EAAM;AAAA,QAAI,CAAAW,MACPV,EAAM,IAAI,CAAAW,MAAQ;;AACd,gBAAMhE,KAAOiE,IAAAjD,KAAA,OAAA,SAAAA,EAAQ+C,OAAR,OAAA,SAAAE,EAAgBD,CAAAA,GACvBE,KAAcV,KAAsB9C,EAAcyB,EAAa,YAAY,MAAKnC,KAAA,OAAA,SAAAA,EAAM,QAAOmC,EAAa,aAAa,IACvHgC,IAAcnE,IAChB2D,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cAEG,GAAG5C,EAAO,EAAEgD,CAAI;AAAA,cAChB,GAAGhD,EAAO,EAAEiD,CAAI;AAAA,cAChB,OAAOzC;AAAAA,cACP,QAAQC;AAAAA,cACR,QAAQM,EAAI;AAAA,cACZ,MAAM9B,EAAK,UAAU,OAAO8B,EAAI,iBAAiBT,EAAWrB,EAAK,eAA4B;AAAA,cAC7F,aAAa,MAAMmC,EAAa,aAAanC,GAAMa,CAAQ;AAAA,cAC3D,cAAc,MAAMsB,EAAa,aAAA;AAAA,YAAA;AAAA,YAR5BnC,IAAOA,EAAK,KAAK,GAAG+D,CAAI,IAAIC,CAAI;AAAA,UAAA,IAUzC;AACJ,iBAAOE,KAAcE,GAAAA,aAAaD,GAAa9B,CAAsB,IAAI8B;AAAAA,QAC7E,CAAC;AAAA,MAAA;AAAA,MAELR,gBAAAA,EAAAA;AAAAA,QAACU;AAAAA,QAAA;AAAA,UACG,OAAO/C,EAAc;AAAA,UACrB,YAAAL;AAAAA,UACA,YAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,QAAAL;AAAAA,UACA,OAAAQ;AAAAA,UACA,OAAAC;AAAAA,UACA,OAAAmB;AAAAA,UACA,QAAAC;AAAAA,QAAA;AAAA,MAAA;AAAA,MAEJe,gBAAAA,EAAAA;AAAAA,QAACW;AAAAA,QAAA;AAAA,UACG,OAAA9B;AAAAA,UACA,OAAAC;AAAAA,UACA,QAAA1B;AAAAA,UACA,OAAAQ;AAAAA,UACA,OAAAC;AAAAA,UACA,OAAA+B;AAAAA,UACA,mBAAAR;AAAAA,UACA,OAAAK;AAAAA,UACA,OAAAC;AAAAA,UACA,YAAApC;AAAAA,UACA,YAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,cAAA4B;AAAAA,UACA,cAAAC;AAAAA,UACA,aAAAlB;AAAAA,UACA,SAAAmB;AAAAA,UACA,SAAAC;AAAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IACC7B,EAAc,SAAS,QAAQZ,EAAcyB,EAAa,YAAY,KAAKA,EAAa,iBAAiBtB,KACtG8C,gBAAAA,EAAAA;AAAAA,MAACY;AAAAA,MAAA;AAAA,QACG,SAASzE,GAAkBC,GAAWoC,EAAa,cAAclC,GAAWyC,KAAA,OAAA,SAAAA,EAAU,OAAO;AAAA,QAC7F,GAAG3B,EAAO,EAAE,OAAOoB,EAAa,aAAa,CAAC,CAAC,IAAIZ,IAAQ;AAAA,QAC3D,GAAGR,EAAO,EAAE,OAAOoB,EAAa,aAAa,CAAC,CAAC,IAAIX,IAAQ;AAAA,QAC3D,QAAQ4B,EAAM,SAAS,IAAI7B,IAAQ,IAAI;AAAA,QACvC,QAAM;AAAA,QACN,eAAA+B;AAAAA,QACA,OAAOnB,EAAa;AAAA,QACpB,SAASA,EAAa;AAAA,QACtB,WAAWD;AAAAA,MAAA;AAAA,IAAA;AAAA,IAGlBZ,EAAc,SAAS,QAAQd,GAAoB2B,EAAa,YAAY,KAAKA,EAAa,iBAAiBtB,KAC5G8C,gBAAAA,EAAAA;AAAAA,MAACY;AAAAA,MAAA;AAAA,QACG,SAASjE,GAA4B6B,EAAa,cAAclC,CAAS;AAAA,QACzE,GAAGkC,EAAa,aAAa;AAAA,QAC7B,GAAGA,EAAa,aAAa;AAAA,QAC7B,QAAQ;AAAA,QACR,QAAM;AAAA,QACN,eAAAmB;AAAAA,QACA,OAAOnB,EAAa;AAAA,QACpB,SAASA,EAAa;AAAA,QACtB,WAAWD;AAAAA,MAAA;AAAA,IAAA;AAAA,IAGnBuB,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAaZ,EAAQ,IAAI,IAAIA,EAAQ,GAAG,KACjD,UAAA;AAAA,MAAAV,EAAa,SAASwB,gBAAAA,EAAAA,IAAC,QAAA,EAAK,OAAO3B,EAAW,YAAY,QAAQA,EAAW,aAAa,MAAK,4BAA2B;AAAA,MAC3H2B,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UAAE,KAAK,CAAAa,MAAQ;AACRA,YAAAA,KAAQ,CAACnC,KACTC,EAA0BkC,CAAI;AAAA,UAEtC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,EAAA,GACJ;AAER;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"Chart.js","sources":["../../../../../../../node_modules/@milaboratories/miplots4/src/heatmap/components/Chart.tsx"],"sourcesContent":["import type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport { FACET_TITLE_OFFSET, FONT_SIZE } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Annotations } from './Annotations';\nimport { Captions } from './Captions';\nimport { Dendrograms } from './Dendrograms';\nimport { Frames } from './Frames';\nimport type { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';\nimport { getAnnotationTooltipContent, getTooltipContent, isAnnotationTooltip, isCellTooltip } from './tooltipUtils';\nimport { CanvasCells } from './CanvasCells';\nimport { SvgCells } from './SvgCells';\n\nexport function Chart<ValueType>({\n dendrograms,\n facetKey,\n dimensions,\n scales,\n cells,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n colorScale,\n chartSettings,\n cellsMeta,\n stepX,\n stepY,\n sharedX,\n sharedY,\n annotations,\n annotationColorScales,\n dendrogramAesScales,\n aes,\n labelAngles,\n chartSizes,\n margins,\n tooltipsContainer,\n tooltipsData,\n cellsRenderingMode,\n}: {\n facetKey: string;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n dimensions: ChartDimensionsData;\n scales: ChartScales;\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsData['meta'];\n stepX: number;\n stepY: number;\n annotations: HeatmapSettingsImpl['annotations'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: ChartDendrograms;\n dendrogramAesScales: DendrogramAesScales;\n labelAngles: LabelAngles;\n margins: Margins;\n tooltipsContainer?: Element;\n tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;\n cellsRenderingMode: 'svg' | 'canvas';\n}) {\n const dataFrame = useDataFrame();\n\n const { xAxis, yAxis, tooltips } = chartSettings;\n const { width, height } = dimensions.inner;\n const { padding, chartEdgeSides, sideElementBBoxes } = dimensions;\n const { xGroupLabels, yGroupLabels, xLabels, yLabels } = cellsMeta;\n\n const xKeys = scales.x.domain();\n const yKeys = scales.y.domain();\n\n const sideDistances = {\n left: margins.left + dimensions.left + padding.left,\n right: chartSizes.totalWidth - (margins.left + dimensions.left + padding.left),\n top: margins.top + dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (margins.top + dimensions.top + padding.top),\n };\n\n const debug = false;\n return (\n <g transform={`translate(${dimensions.left},${dimensions.top})`} fontSize={FONT_SIZE}>\n <g transform={`translate(${padding.left},${padding.top})`}>\n <Annotations\n facetKey={facetKey}\n sideElementBBoxes={sideElementBBoxes}\n annotations={annotations}\n cellsMeta={cellsMeta}\n annotationColorScales={annotationColorScales}\n sharedX={sharedX}\n sharedY={sharedY}\n chartEdgeSides={chartEdgeSides}\n width={width}\n height={height}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n tooltipsData={tooltipsData}\n cellsRenderingMode={cellsRenderingMode}\n />\n <Dendrograms\n dendrograms={dendrograms}\n sideElementBBoxes={sideElementBBoxes}\n xGroupKeys={cellsMeta.xGroupKeys}\n yGroupKeys={cellsMeta.yGroupKeys}\n xDataByKeys={cellsMeta.xDataByKeys}\n yDataByKeys={cellsMeta.yDataByKeys}\n aesScales={dendrogramAesScales}\n />\n {/* facet title */}\n {sideElementBBoxes.top.facetTitle.isVisible && (\n <text\n x={sideElementBBoxes.top.facetTitle.x}\n y={\n sideElementBBoxes.top.facetTitle.y +\n sideElementBBoxes.top.facetTitle.height -\n FACET_TITLE_OFFSET\n }\n fontWeight=\"500\"\n fontSize=\"20px\"\n >\n {cellsMeta.facetKeyValues[facetKey].join(', ')}\n </text>\n )}\n {debug && (\n <g fill=\"green\" opacity=\"0.2\">\n <rect\n x={-padding.left}\n y={-padding.top}\n width={dimensions.outer.width}\n height={dimensions.outer.height}\n fill=\"none\"\n stroke=\"red\"\n />\n <rect x={-padding.left} y=\"0\" width={padding.left} height={height} />\n <rect x={width} y=\"0\" width={padding.right} height={height} />\n <rect x=\"0\" y={-padding.top} width={width} height={padding.top} />\n <rect x=\"0\" y={height} width={width} height={padding.bottom} />\n </g>\n )}\n {/* cells */}\n {cellsRenderingMode === 'svg' && (\n <SvgCells\n scales={scales}\n facetKey={facetKey}\n cells={cells}\n xKeys={xKeys}\n yKeys={yKeys}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n colorScale={colorScale}\n tooltipsData={tooltipsData}\n />\n )}\n {cellsRenderingMode === 'canvas' && (\n <CanvasCells\n scales={scales}\n facetKey={facetKey}\n cells={cells}\n width={width}\n height={height}\n xKeys={xKeys}\n yKeys={yKeys}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n colorScale={colorScale}\n tooltipsData={tooltipsData}\n />\n )}\n <Frames\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n width={width}\n height={height}\n />\n <Captions\n xAxis={xAxis}\n yAxis={yAxis}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n debug={debug}\n sideElementBBoxes={sideElementBBoxes}\n xKeys={xKeys}\n yKeys={yKeys}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n xGroupLabels={xGroupLabels}\n yGroupLabels={yGroupLabels}\n labelAngles={labelAngles}\n xLabels={xLabels}\n yLabels={yLabels}\n />\n </g>\n {chartSettings.tooltips.show && isCellTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, cellsMeta, tooltips?.content)}\n x={scales.x(String(tooltipsData.selectedData.x)) + stepX / 2}\n y={scales.y(String(tooltipsData.selectedData.y)) + stepY / 2}\n offset={xKeys.length > 1 ? stepX / 2 : 0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n {chartSettings.tooltips.show && isAnnotationTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getAnnotationTooltipContent(tooltipsData.selectedData, cellsMeta)}\n x={tooltipsData.selectedData.x}\n y={tooltipsData.selectedData.y}\n offset={0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n <g transform={`translate(${padding.left},${padding.top})`}>\n {tooltipsData.fixed && <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\" />}\n <g>\n {tooltipsData.fixed && tooltipsData.currentFacet === facetKey && isCellTooltip(tooltipsData.selectedData) && (\n <rect\n width={stepX}\n height={stepY}\n x={scales.x(tooltipsData.selectedData.x as string)}\n y={scales.y(tooltipsData.selectedData.y as string)}\n fill={colorScale((tooltipsData.selectedData.normalizedValue ?? tooltipsData.selectedData.value) as ValueType)}\n stroke={aes.cellStrokeColor}\n />\n )}\n {tooltipsData.fixed && tooltipsData.currentFacet === facetKey && isAnnotationTooltip(tooltipsData.selectedData) && (\n <rect\n x={tooltipsData.selectedData.cell.x}\n y={tooltipsData.selectedData.cell.y}\n width={tooltipsData.selectedData.cell.width}\n height={tooltipsData.selectedData.cell.height}\n fill={tooltipsData.selectedData.cell.fill}\n stroke={tooltipsData.selectedData.cell.stroke}\n />\n )}\n </g>\n </g>\n </g>\n );\n}\n"],"names":["Chart","dendrograms","facetKey","dimensions","scales","cells","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","colorScale","chartSettings","cellsMeta","stepX","stepY","sharedX","sharedY","annotations","annotationColorScales","dendrogramAesScales","aes","labelAngles","chartSizes","margins","tooltipsContainer","tooltipsData","cellsRenderingMode","dataFrame","useDataFrame","xAxis","yAxis","tooltips","width","height","padding","chartEdgeSides","sideElementBBoxes","xGroupLabels","yGroupLabels","xLabels","yLabels","xKeys","yKeys","sideDistances","debug","jsxs","FONT_SIZE","jsx","Annotations","Dendrograms","FACET_TITLE_OFFSET","SvgCells","CanvasCells","Frames","Captions","isCellTooltip","Tooltip","getTooltipContent","isAnnotationTooltip","getAnnotationTooltipContent","r"],"mappings":";;;;;;;;;;;AAeO,SAASA,GAAiB;AAAA,EAC7B,aAAAC;AAAAA,EACA,UAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,QAAAC;AAAAA,EACA,OAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,eAAAC;AAAAA,EACA,eAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,eAAAC;AAAAA,EACA,WAAAC;AAAAA,EACA,OAAAC;AAAAA,EACA,OAAAC;AAAAA,EACA,SAAAC;AAAAA,EACA,SAAAC;AAAAA,EACA,aAAAC;AAAAA,EACA,uBAAAC;AAAAA,EACA,qBAAAC;AAAAA,EACA,KAAAC;AAAAA,EACA,aAAAC;AAAAA,EACA,YAAAC;AAAAA,EACA,SAAAC;AAAAA,EACA,mBAAAC;AAAAA,EACA,cAAAC;AAAAA,EACA,oBAAAC;AACJ,GA4BG;AACC,QAAMC,IAAYC,KAEZ,EAAE,OAAAC,GAAO,OAAAC,GAAO,UAAAC,MAAapB,GAC7B,EAAE,OAAAqB,GAAO,QAAAC,MAAW9B,EAAW,OAC/B,EAAE,SAAA+B,GAAS,gBAAAC,GAAgB,mBAAAC,MAAsBjC,GACjD,EAAE,cAAAkC,GAAc,cAAAC,GAAc,SAAAC,GAAS,SAAAC,MAAY5B,GAEnD6B,IAAQrC,EAAO,EAAE,OAAA,GACjBsC,IAAQtC,EAAO,EAAE,OAAA,GAEjBuC,IAAgB;AAAA,IAClB,MAAMpB,EAAQ,OAAOpB,EAAW,OAAO+B,EAAQ;AAAA,IAC/C,OAAOZ,EAAW,cAAcC,EAAQ,OAAOpB,EAAW,OAAO+B,EAAQ;AAAA,IACzE,KAAKX,EAAQ,MAAMpB,EAAW,MAAM+B,EAAQ;AAAA,IAC5C,QAAQZ,EAAW,eAAeC,EAAQ,MAAMpB,EAAW,MAAM+B,EAAQ;AAAA,EAAA,GAGvEU,IAAQ;AACd,SACIC,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAa1C,EAAW,IAAI,IAAIA,EAAW,GAAG,KAAK,UAAU2C,GACvE,UAAA;AAAA,IAAAD,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAaX,EAAQ,IAAI,IAAIA,EAAQ,GAAG,KAClD,UAAA;AAAA,MAAAa,gBAAAA,EAAAA;AAAAA,QAACC;AAAAA,QAAA;AAAA,UACG,UAAA9C;AAAAA,UACA,mBAAAkC;AAAAA,UACA,aAAAnB;AAAAA,UACA,WAAAL;AAAAA,UACA,uBAAAM;AAAAA,UACA,SAAAH;AAAAA,UACA,SAAAC;AAAAA,UACA,gBAAAmB;AAAAA,UACA,OAAAH;AAAAA,UACA,QAAAC;AAAAA,UACA,QAAA7B;AAAAA,UACA,OAAAS;AAAAA,UACA,OAAAC;AAAAA,UACA,KAAAM;AAAAA,UACA,OAAOT,EAAc;AAAA,UACrB,YAAAL;AAAAA,UACA,YAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,cAAAgB;AAAAA,UACA,oBAAAC;AAAAA,QAAA;AAAA,MAAA;AAAA,MAEJqB,gBAAAA,EAAAA;AAAAA,QAACE;AAAAA,QAAA;AAAA,UACG,aAAAhD;AAAAA,UACA,mBAAAmC;AAAAA,UACA,YAAYxB,EAAU;AAAA,UACtB,YAAYA,EAAU;AAAA,UACtB,aAAaA,EAAU;AAAA,UACvB,aAAaA,EAAU;AAAA,UACvB,WAAWO;AAAAA,QAAA;AAAA,MAAA;AAAA,MAGdiB,EAAkB,IAAI,WAAW,aAC9BW,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACG,GAAGX,EAAkB,IAAI,WAAW;AAAA,UACpC,GACIA,EAAkB,IAAI,WAAW,IACjCA,EAAkB,IAAI,WAAW,SACjCc;AAAAA,UAEJ,YAAW;AAAA,UACX,UAAS;AAAA,UAER,UAAAtC,EAAU,eAAeV,CAAQ,EAAE,KAAK,IAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAGpD0C;AAAAA,MAiBAlB,MAAuB,SACpBqB,gBAAAA,EAAAA;AAAAA,QAACI;AAAAA,QAAA;AAAA,UACG,QAAA/C;AAAAA,UACA,UAAAF;AAAAA,UACA,OAAAG;AAAAA,UACA,OAAAoC;AAAAA,UACA,OAAAC;AAAAA,UACA,OAAA7B;AAAAA,UACA,OAAAC;AAAAA,UACA,KAAAM;AAAAA,UACA,YAAAV;AAAAA,UACA,cAAAe;AAAAA,QAAA;AAAA,MAAA;AAAA,MAGPC,MAAuB,YACpBqB,gBAAAA,EAAAA;AAAAA,QAACK;AAAAA,QAAA;AAAA,UACG,QAAAhD;AAAAA,UACA,UAAAF;AAAAA,UACA,OAAAG;AAAAA,UACA,OAAA2B;AAAAA,UACA,QAAAC;AAAAA,UACA,OAAAQ;AAAAA,UACA,OAAAC;AAAAA,UACA,OAAA7B;AAAAA,UACA,OAAAC;AAAAA,UACA,KAAAM;AAAAA,UACA,YAAAV;AAAAA,UACA,cAAAe;AAAAA,QAAA;AAAA,MAAA;AAAA,MAGRsB,gBAAAA,EAAAA;AAAAA,QAACM;AAAAA,QAAA;AAAA,UACG,OAAO1C,EAAc;AAAA,UACrB,YAAAL;AAAAA,UACA,YAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,QAAAL;AAAAA,UACA,OAAAS;AAAAA,UACA,OAAAC;AAAAA,UACA,OAAAkB;AAAAA,UACA,QAAAC;AAAAA,QAAA;AAAA,MAAA;AAAA,MAEJc,gBAAAA,EAAAA;AAAAA,QAACO;AAAAA,QAAA;AAAA,UACG,OAAAzB;AAAAA,UACA,OAAAC;AAAAA,UACA,QAAA1B;AAAAA,UACA,OAAAS;AAAAA,UACA,OAAAC;AAAAA,UACA,OAAA8B;AAAAA,UACA,mBAAAR;AAAAA,UACA,OAAAK;AAAAA,UACA,OAAAC;AAAAA,UACA,YAAApC;AAAAA,UACA,YAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,eAAAC;AAAAA,UACA,cAAA4B;AAAAA,UACA,cAAAC;AAAAA,UACA,aAAAjB;AAAAA,UACA,SAAAkB;AAAAA,UACA,SAAAC;AAAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IACC7B,EAAc,SAAS,QAAQ4C,EAAc9B,EAAa,YAAY,KAAKA,EAAa,iBAAiBvB,KACtG6C,gBAAAA,EAAAA;AAAAA,MAACS;AAAAA,MAAA;AAAA,QACG,SAASC,GAAkB9B,GAAWF,EAAa,cAAcb,GAAWmB,KAAA,OAAA,SAAAA,EAAU,OAAO;AAAA,QAC7F,GAAG3B,EAAO,EAAE,OAAOqB,EAAa,aAAa,CAAC,CAAC,IAAIZ,IAAQ;AAAA,QAC3D,GAAGT,EAAO,EAAE,OAAOqB,EAAa,aAAa,CAAC,CAAC,IAAIX,IAAQ;AAAA,QAC3D,QAAQ2B,EAAM,SAAS,IAAI5B,IAAQ,IAAI;AAAA,QACvC,QAAM;AAAA,QACN,eAAA8B;AAAAA,QACA,OAAOlB,EAAa;AAAA,QACpB,SAASA,EAAa;AAAA,QACtB,WAAWD;AAAAA,MAAA;AAAA,IAAA;AAAA,IAGlBb,EAAc,SAAS,QAAQ+C,EAAoBjC,EAAa,YAAY,KAAKA,EAAa,iBAAiBvB,KAC5G6C,gBAAAA,EAAAA;AAAAA,MAACS;AAAAA,MAAA;AAAA,QACG,SAASG,GAA4BlC,EAAa,cAAcb,CAAS;AAAA,QACzE,GAAGa,EAAa,aAAa;AAAA,QAC7B,GAAGA,EAAa,aAAa;AAAA,QAC7B,QAAQ;AAAA,QACR,QAAM;AAAA,QACN,eAAAkB;AAAAA,QACA,OAAOlB,EAAa;AAAA,QACpB,SAASA,EAAa;AAAA,QACtB,WAAWD;AAAAA,MAAA;AAAA,IAAA;AAAA,IAGnBqB,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAaX,EAAQ,IAAI,IAAIA,EAAQ,GAAG,KACjD,UAAA;AAAA,MAAAT,EAAa,SAASsB,gBAAAA,EAAAA,IAAC,QAAA,EAAK,OAAOzB,EAAW,YAAY,QAAQA,EAAW,aAAa,MAAK,4BAA2B;AAAA,MAAAsC,gBAAAA,EAAA,KAC1H,KAAA,EACI,UAAA;AAAA,QAAAnC,EAAa,SAASA,EAAa,iBAAiBvB,KAAYqD,EAAc9B,EAAa,YAAY,KACpGsB,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACG,OAAOlC;AAAAA,YACP,QAAQC;AAAAA,YACR,GAAGV,EAAO,EAAEqB,EAAa,aAAa,CAAW;AAAA,YACjD,GAAGrB,EAAO,EAAEqB,EAAa,aAAa,CAAW;AAAA,YACjD,MAAMf,EAAYe,EAAa,aAAa,mBAAmBA,EAAa,aAAa,KAAmB;AAAA,YAC5G,QAAQL,EAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAGnBK,EAAa,SAASA,EAAa,iBAAiBvB,KAAYwD,EAAoBjC,EAAa,YAAY,KAC1GsB,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACG,GAAGtB,EAAa,aAAa,KAAK;AAAA,YAClC,GAAGA,EAAa,aAAa,KAAK;AAAA,YAClC,OAAOA,EAAa,aAAa,KAAK;AAAA,YACtC,QAAQA,EAAa,aAAa,KAAK;AAAA,YACvC,MAAMA,EAAa,aAAa,KAAK;AAAA,YACrC,QAAQA,EAAa,aAAa,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAGnD;AAAA,IAAA,GACJ;AAAA,EAAA,GACJ;AAER;","x_google_ignoreList":[0]}
@@ -1,15 +1,15 @@
1
1
  import { j as e } from "../../node_modules/react/jsx-runtime.js";
2
- import { r as d } from "../../_virtual/index.js";
3
- import { ChartsTitle as b } from "../../common/ChartsTitle.js";
4
- import { ErrorBoundary as I } from "../../common/ErrorBoundary.js";
5
- import L from "../../common/fonts.js";
6
- import { Legend as M } from "../../common/Legend.js";
2
+ import { r as c } from "../../_virtual/index.js";
3
+ import { ChartsTitle as Y } from "../../common/ChartsTitle.js";
4
+ import { ErrorBoundary as b } from "../../common/ErrorBoundary.js";
5
+ import I from "../../common/fonts.js";
6
+ import { Legend as L } from "../../common/Legend.js";
7
7
  import { useTooltip as N } from "../../common/Tooltip.js";
8
- import { LEGEND_OFFSET as P } from "../constants.js";
9
- import { Chart as R } from "./Chart.js";
10
- function tt({
8
+ import { LEGEND_OFFSET as O } from "../constants.js";
9
+ import { Chart as P } from "./Chart.js";
10
+ function et({
11
11
  margins: a,
12
- captionsSizes: g,
12
+ captionsSizes: m,
13
13
  settingsId: y,
14
14
  chartSettings: o,
15
15
  chartSizes: s,
@@ -31,14 +31,15 @@ function tt({
31
31
  dendrogramAesScales: C,
32
32
  columnsCount: D,
33
33
  labelAngles: E,
34
- onTooltipHintSwitch: F
34
+ onTooltipHintSwitch: M,
35
+ cellsRenderingMode: T
35
36
  }) {
36
- const [W, Y] = d.useState(), $ = N(F), c = d.useRef(null);
37
- d.useEffect(() => {
38
- c.current && Y(c.current);
37
+ const [W, $] = c.useState(), v = N(M), d = c.useRef(null);
38
+ c.useEffect(() => {
39
+ d.current && $(d.current);
39
40
  }, []);
40
- const m = n[i[0]].padding, v = n[i[D - 1]].padding, z = a.left + s.chartsWidth + P, A = a.top + m.top;
41
- return /* @__PURE__ */ e.jsx(I, { dataId: y, children: /* @__PURE__ */ e.jsxs(
41
+ const g = n[i[0]].padding, z = n[i[D - 1]].padding, A = a.left + s.chartsWidth + O, F = a.top + g.top;
42
+ return /* @__PURE__ */ e.jsx(b, { dataId: y, children: /* @__PURE__ */ e.jsxs(
42
43
  "svg",
43
44
  {
44
45
  xmlns: "http://www.w3.org/2000/svg",
@@ -47,31 +48,31 @@ function tt({
47
48
  height: s.totalHeight,
48
49
  fontFamily: "Manrope",
49
50
  children: [
50
- /* @__PURE__ */ e.jsx("defs", { children: L }),
51
+ /* @__PURE__ */ e.jsx("defs", { children: I }),
51
52
  /* @__PURE__ */ e.jsxs("g", { transform: `translate(${a.left},${a.top})`, children: [
52
53
  /* @__PURE__ */ e.jsx(
53
- b,
54
+ Y,
54
55
  {
55
56
  title: [o.title.name],
56
57
  show: o.title.show,
57
58
  position: o.title.position,
58
- leftPadding: m.left,
59
- rightPadding: v.right,
59
+ leftPadding: g.left,
60
+ rightPadding: z.right,
60
61
  chartsWidth: s.chartsWidth
61
62
  }
62
63
  ),
63
64
  i.map((t) => {
64
- const { cells: H, xKeysByGroups: T, yKeysByGroups: X } = S[t];
65
+ const { cells: H, xKeysByGroups: R, yKeysByGroups: X } = S[t];
65
66
  return /* @__PURE__ */ e.jsx(
66
- R,
67
+ P,
67
68
  {
68
69
  dendrograms: B[t],
69
- captionsSizes: g,
70
+ captionsSizes: m,
70
71
  facetKey: t,
71
72
  dimensions: n[t],
72
73
  xGroupKeys: u,
73
74
  yGroupKeys: f,
74
- xKeysByGroups: r.sharedX ? l.xKeysByGroups : T,
75
+ xKeysByGroups: r.sharedX ? l.xKeysByGroups : R,
75
76
  yKeysByGroups: r.sharedY ? l.yKeysByGroups : X,
76
77
  sharedX: r.sharedX,
77
78
  sharedY: r.sharedY,
@@ -90,19 +91,20 @@ function tt({
90
91
  margins: a,
91
92
  chartSizes: s,
92
93
  tooltipsContainer: W,
93
- tooltipsData: $
94
+ tooltipsData: v,
95
+ cellsRenderingMode: T
94
96
  },
95
97
  t
96
98
  );
97
99
  })
98
100
  ] }),
99
- /* @__PURE__ */ e.jsx("g", { transform: `translate(${z},${A})`, children: /* @__PURE__ */ e.jsx(M, { legendData: j }) }),
100
- /* @__PURE__ */ e.jsx("g", { ref: c, style: { outline: "none" } })
101
+ /* @__PURE__ */ e.jsx("g", { transform: `translate(${A},${F})`, children: /* @__PURE__ */ e.jsx(L, { legendData: j }) }),
102
+ /* @__PURE__ */ e.jsx("g", { ref: d, style: { outline: "none" } })
101
103
  ]
102
104
  }
103
105
  ) });
104
106
  }
105
107
  export {
106
- tt as ChartsGroup
108
+ et as ChartsGroup
107
109
  };
108
110
  //# sourceMappingURL=ChartsGroup.js.map