@milaboratories/graph-maker 1.1.155 → 1.1.157

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 (57) hide show
  1. package/dist/GraphMaker/components/Chart.vue.d.ts.map +1 -1
  2. package/dist/GraphMaker/components/Chart.vue.js +20 -16
  3. package/dist/GraphMaker/components/Chart.vue.js.map +1 -1
  4. package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.d.ts.map +1 -1
  5. package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.js +24 -23
  6. package/dist/GraphMaker/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
  7. package/dist/GraphMaker/constantsCommon.d.ts +2 -0
  8. package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
  9. package/dist/GraphMaker/constantsCommon.js +29 -27
  10. package/dist/GraphMaker/constantsCommon.js.map +1 -1
  11. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
  12. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +215 -148
  13. package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  14. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts +5 -0
  15. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
  16. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +1 -0
  17. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
  18. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +5 -0
  19. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  20. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +24 -24
  21. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  22. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +2 -0
  23. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
  24. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +2 -0
  25. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts.map +1 -1
  26. package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js +22 -22
  27. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/ChartRenderer.js +160 -156
  28. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/ChartRenderer.js.map +1 -1
  29. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/DendroSettingsImpl.js +31 -27
  30. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/DendroSettingsImpl.js.map +1 -1
  31. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/components/Chart.js +53 -53
  32. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/components/Chart.js.map +1 -1
  33. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/getHierarchyData.js +30 -24
  34. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/getHierarchyData.js.map +1 -1
  35. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/index.js +78 -77
  36. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/index.js.map +1 -1
  37. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js +267 -258
  38. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js.map +1 -1
  39. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js +59 -54
  40. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  41. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js +91 -89
  42. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js.map +1 -1
  43. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js +17 -17
  44. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js +98 -87
  45. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js.map +1 -1
  46. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js +98 -76
  47. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js.map +1 -1
  48. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateCaptionTails.js +57 -57
  49. package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateCaptionTails.js.map +1 -1
  50. package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js +52 -51
  51. package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js.map +1 -1
  52. package/dist/node_modules/@milaboratories/miplots4/dist/types/dendro.js +13 -8
  53. package/dist/node_modules/@milaboratories/miplots4/dist/types/dendro.js.map +1 -1
  54. package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +5 -5
  55. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +19 -11
  56. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js.map +1 -1
  57. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import { j as r } from "../../node_modules/react/jsx-runtime.js";
2
2
  import { r as te } from "../../_virtual/index.js";
3
3
  import { r as se } from "../../node_modules/react-dom/index.js";
4
- import { Tooltip as Y } from "../../common/Tooltip.js";
4
+ import { Tooltip as T } from "../../common/Tooltip.js";
5
5
  import { useDataFrame as oe } from "../../common/useDataFrame.js";
6
6
  import { FONT_SIZE as ae, FACET_TITLE_OFFSET as re } from "../constants.js";
7
7
  import { Annotations as le } from "./Annotations/index.js";
@@ -9,7 +9,7 @@ import { Captions as ie } from "./Captions/index.js";
9
9
  import { Dendrograms as ne } from "./Dendrograms.js";
10
10
  import { Frames as ue } from "./Frames.js";
11
11
  import { format as ye } from "../../node_modules/d3-format/src/defaultLocale.js";
12
- function G(e, s) {
12
+ function B(e, s) {
13
13
  if (e === null)
14
14
  return "null";
15
15
  if (typeof e == "number") {
@@ -21,60 +21,62 @@ function G(e, s) {
21
21
  return e;
22
22
  }
23
23
  function pe(e, s, o, a = []) {
24
- const x = [
25
- `X: ${o.xLabels[s.x]}`,
26
- `Y: ${o.yLabels[s.y]}`,
27
- `Value: ${G(s.value)}${s.value !== s.normalizedValue ? ` (${G(s.normalizedValue)})` : ""}`
28
- ];
29
- for (const u of a) {
30
- const d = e.getColumnValue(u.value, s.idx);
31
- x.push(`${u.label}: ${G(d, u.format)}`);
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;
32
34
  }
33
- return x;
35
+ return [d];
34
36
  }
35
37
  function ce(e, s) {
36
38
  const o = [];
37
- return e.xKey && o.push(`X: ${s.xLabels[e.xKey]}`), e.yKey && o.push(`Y: ${s.yLabels[e.yKey]}`), o.push(`${e.title}: ${G(e.value, e.column.format)}`), 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;
38
40
  }
39
41
  function xe(e) {
40
42
  return e !== null && "isAnnotation" in e;
41
43
  }
42
- function T(e) {
44
+ function V(e) {
43
45
  return e !== null && "isCell" in e;
44
46
  }
45
- function Se({
47
+ function ve({
46
48
  dendrograms: e,
47
49
  facetKey: s,
48
50
  dimensions: o,
49
51
  scales: a,
50
- cells: x,
51
- xGroupKeys: u,
52
- yGroupKeys: d,
53
- xKeysByGroups: B,
52
+ cells: d,
53
+ xGroupKeys: p,
54
+ yGroupKeys: u,
55
+ xKeysByGroups: f,
54
56
  yKeysByGroups: D,
55
- colorScale: V,
56
- chartSettings: f,
57
+ colorScale: X,
58
+ chartSettings: m,
57
59
  cellsMeta: l,
58
- stepX: p,
59
- stepY: m,
60
- sharedX: z,
61
- sharedY: F,
60
+ stepX: c,
61
+ stepY: h,
62
+ sharedX: Y,
63
+ sharedY: z,
62
64
  annotations: _,
63
65
  annotationColorScales: O,
64
66
  dendrogramAesScales: W,
65
- aes: b,
67
+ aes: S,
66
68
  labelAngles: k,
67
- chartSizes: h,
68
- margins: K,
69
- tooltipsContainer: $,
69
+ chartSizes: K,
70
+ margins: g,
71
+ tooltipsContainer: E,
70
72
  tooltipsData: t
71
73
  }) {
72
- const H = oe(), [g, I] = te.useState(), { xAxis: J, yAxis: N, tooltips: v } = f, { width: L, height: j } = o.inner, { padding: i, chartEdgeSides: P, sideElementBBoxes: y } = o, { xGroupLabels: q, yGroupLabels: Q, xLabels: U, yLabels: Z } = l, C = a.x.domain(), E = a.y.domain(), w = {
73
- left: K.left + o.left + i.left,
74
- right: h.totalWidth - (K.left + o.left + i.left),
75
- top: K.top + o.top + i.top,
76
- bottom: h.totalHeight - (K.top + o.top + i.top)
77
- }, A = !1, R = g && t.fixed;
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;
78
80
  return /* @__PURE__ */ r.jsxs("g", { transform: `translate(${o.left},${o.top})`, fontSize: ae, children: [
79
81
  /* @__PURE__ */ r.jsxs("g", { transform: `translate(${i.left},${i.top})`, children: [
80
82
  /* @__PURE__ */ r.jsx(
@@ -85,22 +87,22 @@ function Se({
85
87
  annotations: _,
86
88
  cellsMeta: l,
87
89
  annotationColorScales: O,
88
- sharedX: z,
89
- sharedY: F,
90
+ sharedX: Y,
91
+ sharedY: z,
90
92
  chartEdgeSides: P,
91
- width: L,
92
- height: j,
93
+ width: j,
94
+ height: L,
93
95
  scales: a,
94
- stepX: p,
95
- stepY: m,
96
- aes: b,
97
- frame: f.frame,
98
- xGroupKeys: u,
99
- yGroupKeys: d,
100
- xKeysByGroups: B,
96
+ stepX: c,
97
+ stepY: h,
98
+ aes: S,
99
+ frame: m.frame,
100
+ xGroupKeys: p,
101
+ yGroupKeys: u,
102
+ xKeysByGroups: f,
101
103
  yKeysByGroups: D,
102
104
  tooltipsData: t,
103
- activeElementContainer: g
105
+ activeElementContainer: G
104
106
  }
105
107
  ),
106
108
  /* @__PURE__ */ r.jsx(
@@ -125,40 +127,40 @@ function Se({
125
127
  children: l.facetKeyValues[s].join(", ")
126
128
  }
127
129
  ),
128
- A,
129
- C.map(
130
- (c) => E.map((S) => {
131
- var M;
132
- const n = (M = x == null ? void 0 : x[c]) == null ? void 0 : M[S], ee = R && T(t.selectedData) && (n == null ? void 0 : n.id) === t.selectedData.id, X = n ? /* @__PURE__ */ r.jsx(
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(
133
135
  "rect",
134
136
  {
135
- x: a.x(c),
136
- y: a.y(S),
137
- width: p,
138
- height: m,
139
- stroke: b.cellStrokeColor,
140
- fill: n.value === null ? b.emptyCellColor : V(n.normalizedValue),
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),
141
143
  onMouseOver: () => t.onMouseEnter(n, s),
142
144
  onMouseLeave: () => t.onMouseLeave()
143
145
  },
144
- n ? n.id : `${c}_${S}`
146
+ n ? n.id : `${x}_${v}`
145
147
  ) : null;
146
- return ee ? se.createPortal(X, g) : X;
148
+ return ee ? se.createPortal(A, G) : A;
147
149
  })
148
150
  ),
149
151
  /* @__PURE__ */ r.jsx(
150
152
  ue,
151
153
  {
152
- frame: f.frame,
153
- xGroupKeys: u,
154
- yGroupKeys: d,
155
- xKeysByGroups: B,
154
+ frame: m.frame,
155
+ xGroupKeys: p,
156
+ yGroupKeys: u,
157
+ xKeysByGroups: f,
156
158
  yKeysByGroups: D,
157
159
  scales: a,
158
- stepX: p,
159
- stepY: m,
160
- width: L,
161
- height: j
160
+ stepX: c,
161
+ stepY: h,
162
+ width: j,
163
+ height: L
162
164
  }
163
165
  ),
164
166
  /* @__PURE__ */ r.jsx(
@@ -167,15 +169,15 @@ function Se({
167
169
  xAxis: J,
168
170
  yAxis: N,
169
171
  scales: a,
170
- stepX: p,
171
- stepY: m,
172
- debug: A,
172
+ stepX: c,
173
+ stepY: h,
174
+ debug: M,
173
175
  sideElementBBoxes: y,
174
- xKeys: C,
175
- yKeys: E,
176
- xGroupKeys: u,
177
- yGroupKeys: d,
178
- xKeysByGroups: B,
176
+ xKeys: b,
177
+ yKeys: F,
178
+ xGroupKeys: p,
179
+ yGroupKeys: u,
180
+ xKeysByGroups: f,
179
181
  yKeysByGroups: D,
180
182
  xGroupLabels: q,
181
183
  yGroupLabels: Q,
@@ -185,22 +187,22 @@ function Se({
185
187
  }
186
188
  )
187
189
  ] }),
188
- f.tooltips.show && T(t.selectedData) && t.currentFacet === s && /* @__PURE__ */ r.jsx(
189
- Y,
190
+ m.tooltips.show && V(t.selectedData) && t.currentFacet === s && /* @__PURE__ */ r.jsx(
191
+ T,
190
192
  {
191
- content: pe(H, t.selectedData, l, v == null ? void 0 : v.content),
192
- x: a.x(String(t.selectedData.x)) + p / 2,
193
- y: a.y(String(t.selectedData.y)) + m / 2,
194
- offset: C.length > 1 ? p / 2 : 0,
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,
195
197
  active: !0,
196
198
  sideDistances: w,
197
199
  fixed: t.fixed,
198
200
  onClose: t.onClose,
199
- container: $
201
+ container: E
200
202
  }
201
203
  ),
202
- f.tooltips.show && xe(t.selectedData) && t.currentFacet === s && /* @__PURE__ */ r.jsx(
203
- Y,
204
+ m.tooltips.show && xe(t.selectedData) && t.currentFacet === s && /* @__PURE__ */ r.jsx(
205
+ T,
204
206
  {
205
207
  content: ce(t.selectedData, l),
206
208
  x: t.selectedData.x,
@@ -210,16 +212,16 @@ function Se({
210
212
  sideDistances: w,
211
213
  fixed: t.fixed,
212
214
  onClose: t.onClose,
213
- container: $
215
+ container: E
214
216
  }
215
217
  ),
216
218
  /* @__PURE__ */ r.jsxs("g", { transform: `translate(${i.left},${i.top})`, children: [
217
- t.fixed && /* @__PURE__ */ r.jsx("rect", { width: h.chartWidth, height: h.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
219
+ t.fixed && /* @__PURE__ */ r.jsx("rect", { width: K.chartWidth, height: K.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
218
220
  /* @__PURE__ */ r.jsx(
219
221
  "g",
220
222
  {
221
- ref: (c) => {
222
- c && !g && I(c);
223
+ ref: (x) => {
224
+ x && !G && I(x);
223
225
  }
224
226
  }
225
227
  )
@@ -227,6 +229,6 @@ function Se({
227
229
  ] });
228
230
  }
229
231
  export {
230
- Se as Chart
232
+ ve as Chart
231
233
  };
232
234
  //# 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(dataFrame: DataFrame, cell: Cell, cellsMeta:GroupedCellsData['meta'], columnsList: ColumnName[] = []) {\n const lines = [\n `X: ${cellsMeta.xLabels[cell.x as string]}`,\n `Y: ${cellsMeta.yLabels[cell.y as string]}`,\n `Value: ${formatCellValue(cell.value)}${cell.value !== cell.normalizedValue ? ` (${formatCellValue(cell.normalizedValue)})`: ''}`,\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}\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","lines","column","value","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":"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","x_google_ignoreList":[0]}
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":"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","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
1
  import { j as e } from "../../node_modules/react/jsx-runtime.js";
2
2
  import { r as d } from "../../_virtual/index.js";
3
- import { ChartsTitle as X } from "../../common/ChartsTitle.js";
4
- import { ErrorBoundary as b } from "../../common/ErrorBoundary.js";
5
- import I from "../../common/fonts.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
6
  import { Legend as M } from "../../common/Legend.js";
7
7
  import { useTooltip as N } from "../../common/Tooltip.js";
8
8
  import { LEGEND_OFFSET as P } from "../constants.js";
@@ -31,14 +31,14 @@ function tt({
31
31
  dendrogramAesScales: C,
32
32
  columnsCount: D,
33
33
  labelAngles: E,
34
- onTooltipHintSwitch: W
34
+ onTooltipHintSwitch: F
35
35
  }) {
36
- const [Y, $] = d.useState(), v = N(W), c = d.useRef(null);
36
+ const [W, Y] = d.useState(), $ = N(F), c = d.useRef(null);
37
37
  d.useEffect(() => {
38
- c.current && $(c.current);
38
+ c.current && Y(c.current);
39
39
  }, []);
40
- const m = n[i[0]].padding, z = n[i[D - 1]].padding, A = a.left + s.chartsWidth + P, F = a.top + m.top;
41
- return /* @__PURE__ */ e.jsx(b, { dataId: y, children: /* @__PURE__ */ e.jsxs(
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(
42
42
  "svg",
43
43
  {
44
44
  xmlns: "http://www.w3.org/2000/svg",
@@ -47,21 +47,21 @@ function tt({
47
47
  height: s.totalHeight,
48
48
  fontFamily: "Manrope",
49
49
  children: [
50
- /* @__PURE__ */ e.jsx("defs", { children: I }),
50
+ /* @__PURE__ */ e.jsx("defs", { children: L }),
51
51
  /* @__PURE__ */ e.jsxs("g", { transform: `translate(${a.left},${a.top})`, children: [
52
52
  /* @__PURE__ */ e.jsx(
53
- X,
53
+ b,
54
54
  {
55
55
  title: [o.title.name],
56
56
  show: o.title.show,
57
57
  position: o.title.position,
58
58
  leftPadding: m.left,
59
- rightPadding: z.right,
59
+ rightPadding: v.right,
60
60
  chartsWidth: s.chartsWidth
61
61
  }
62
62
  ),
63
63
  i.map((t) => {
64
- const { cells: H, xKeysByGroups: L, yKeysByGroups: T } = S[t];
64
+ const { cells: H, xKeysByGroups: T, yKeysByGroups: X } = S[t];
65
65
  return /* @__PURE__ */ e.jsx(
66
66
  R,
67
67
  {
@@ -71,8 +71,8 @@ function tt({
71
71
  dimensions: n[t],
72
72
  xGroupKeys: u,
73
73
  yGroupKeys: f,
74
- xKeysByGroups: r.sharedX ? l.xKeysByGroups : L,
75
- yKeysByGroups: r.sharedY ? l.yKeysByGroups : T,
74
+ xKeysByGroups: r.sharedX ? l.xKeysByGroups : T,
75
+ yKeysByGroups: r.sharedY ? l.yKeysByGroups : X,
76
76
  sharedX: r.sharedX,
77
77
  sharedY: r.sharedY,
78
78
  scales: { x: p.x[t], y: p.y[t] },
@@ -89,14 +89,14 @@ function tt({
89
89
  labelAngles: E,
90
90
  margins: a,
91
91
  chartSizes: s,
92
- tooltipsContainer: Y,
93
- tooltipsData: v
92
+ tooltipsContainer: W,
93
+ tooltipsData: $
94
94
  },
95
95
  t
96
96
  );
97
97
  })
98
98
  ] }),
99
- /* @__PURE__ */ e.jsx("g", { transform: `translate(${A},${F})`, children: /* @__PURE__ */ e.jsx(M, { legendData: j }) }),
99
+ /* @__PURE__ */ e.jsx("g", { transform: `translate(${z},${A})`, children: /* @__PURE__ */ e.jsx(M, { legendData: j }) }),
100
100
  /* @__PURE__ */ e.jsx("g", { ref: c, style: { outline: "none" } })
101
101
  ]
102
102
  }