@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.
- package/dist/GraphMaker/constantsCommon.d.ts +1 -0
- package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
- package/dist/GraphMaker/constantsCommon.js +17 -16
- package/dist/GraphMaker/constantsCommon.js.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +104 -93
- package/dist/GraphMaker/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
- package/dist/GraphMaker/index.vue.js +33 -33
- package/dist/GraphMaker/index.vue.js.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +1 -0
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js +11 -11
- package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js +136 -135
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/ChartRenderer.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js +2 -2
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js +115 -107
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js +99 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsSvg.js +57 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/AnnotationCellsSvg.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/index.js +43 -43
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Annotations/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/CanvasCells.js +85 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/CanvasCells.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Captions/AxisCaptions.js +5 -5
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Captions/GroupCaptions.js +16 -16
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js +191 -197
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/Chart.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js +29 -27
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/ChartsGroup.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/SvgCells.js +38 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/SvgCells.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/tooltipUtils.js +44 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/components/tooltipUtils.js.map +1 -0
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/constants.js +16 -15
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/constants.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js +63 -66
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/getCells.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js +64 -62
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/index.js.map +1 -1
- package/dist/node_modules/@milaboratories/miplots4/dist/heatmap/utils/calculateChartSideElementSizes.js +9 -9
- package/dist/node_modules/@milaboratories/miplots4/dist/histogram/components/ChartsGroup.js +14 -14
- package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +5 -4
- package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js +10 -8
- package/dist/node_modules/@milaboratories/pf-plots/dist/constants.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/ComponentController.js +21 -21
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/bubble.js +19 -19
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/heatmap.js +8 -8
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +9 -9
- package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +7 -7
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js +2 -2
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/blob.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js +59 -57
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/components/PlDataTable.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/node_modules/@platforma-sdk/model/dist/render/util/label.js +13 -13
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js +137 -133
- package/dist/node_modules/@milaboratories/pf-plots/dist/pframe/ColumnsProvider.js.map +1 -1
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js +73 -74
- package/dist/node_modules/@milaboratories/pf-plots/dist/utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,234 +1,228 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
75
|
-
left:
|
|
76
|
-
right:
|
|
77
|
-
top:
|
|
78
|
-
bottom:
|
|
79
|
-
},
|
|
80
|
-
return /* @__PURE__ */
|
|
81
|
-
/* @__PURE__ */
|
|
82
|
-
/* @__PURE__ */
|
|
83
|
-
|
|
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:
|
|
86
|
-
sideElementBBoxes:
|
|
87
|
-
annotations:
|
|
88
|
-
cellsMeta:
|
|
89
|
-
annotationColorScales:
|
|
90
|
-
sharedX:
|
|
91
|
-
sharedY:
|
|
92
|
-
chartEdgeSides:
|
|
93
|
-
width:
|
|
94
|
-
height:
|
|
95
|
-
scales:
|
|
96
|
-
stepX:
|
|
97
|
-
stepY:
|
|
98
|
-
aes:
|
|
99
|
-
frame:
|
|
100
|
-
xGroupKeys:
|
|
101
|
-
yGroupKeys:
|
|
102
|
-
xKeysByGroups:
|
|
103
|
-
yKeysByGroups:
|
|
104
|
-
tooltipsData:
|
|
105
|
-
|
|
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__ */
|
|
109
|
-
|
|
74
|
+
/* @__PURE__ */ t.jsx(
|
|
75
|
+
Z,
|
|
110
76
|
{
|
|
111
|
-
dendrograms:
|
|
112
|
-
sideElementBBoxes:
|
|
113
|
-
xGroupKeys:
|
|
114
|
-
yGroupKeys:
|
|
115
|
-
xDataByKeys:
|
|
116
|
-
yDataByKeys:
|
|
117
|
-
aesScales:
|
|
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
|
-
|
|
86
|
+
n.top.facetTitle.isVisible && /* @__PURE__ */ t.jsx(
|
|
121
87
|
"text",
|
|
122
88
|
{
|
|
123
|
-
x:
|
|
124
|
-
y:
|
|
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:
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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__ */
|
|
152
|
-
|
|
129
|
+
/* @__PURE__ */ t.jsx(
|
|
130
|
+
$,
|
|
153
131
|
{
|
|
154
|
-
frame:
|
|
155
|
-
xGroupKeys:
|
|
156
|
-
yGroupKeys:
|
|
157
|
-
xKeysByGroups:
|
|
158
|
-
yKeysByGroups:
|
|
159
|
-
scales:
|
|
160
|
-
stepX:
|
|
161
|
-
stepY:
|
|
162
|
-
width:
|
|
163
|
-
height:
|
|
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__ */
|
|
167
|
-
|
|
144
|
+
/* @__PURE__ */ t.jsx(
|
|
145
|
+
U,
|
|
168
146
|
{
|
|
169
|
-
xAxis:
|
|
170
|
-
yAxis:
|
|
171
|
-
scales:
|
|
172
|
-
stepX:
|
|
173
|
-
stepY:
|
|
174
|
-
debug:
|
|
175
|
-
sideElementBBoxes:
|
|
176
|
-
xKeys:
|
|
177
|
-
yKeys:
|
|
178
|
-
xGroupKeys:
|
|
179
|
-
yGroupKeys:
|
|
180
|
-
xKeysByGroups:
|
|
181
|
-
yKeysByGroups:
|
|
182
|
-
xGroupLabels:
|
|
183
|
-
yGroupLabels:
|
|
184
|
-
labelAngles:
|
|
185
|
-
xLabels:
|
|
186
|
-
yLabels:
|
|
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
|
-
|
|
191
|
-
|
|
168
|
+
p.tooltips.show && A(e.selectedData) && e.currentFacet === o && /* @__PURE__ */ t.jsx(
|
|
169
|
+
E,
|
|
192
170
|
{
|
|
193
|
-
content:
|
|
194
|
-
x:
|
|
195
|
-
y:
|
|
196
|
-
offset:
|
|
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:
|
|
199
|
-
fixed:
|
|
200
|
-
onClose:
|
|
201
|
-
container:
|
|
176
|
+
sideDistances: b,
|
|
177
|
+
fixed: e.fixed,
|
|
178
|
+
onClose: e.onClose,
|
|
179
|
+
container: j
|
|
202
180
|
}
|
|
203
181
|
),
|
|
204
|
-
|
|
205
|
-
|
|
182
|
+
p.tooltips.show && L(e.selectedData) && e.currentFacet === o && /* @__PURE__ */ t.jsx(
|
|
183
|
+
E,
|
|
206
184
|
{
|
|
207
|
-
content:
|
|
208
|
-
x:
|
|
209
|
-
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:
|
|
213
|
-
fixed:
|
|
214
|
-
onClose:
|
|
215
|
-
container:
|
|
190
|
+
sideDistances: b,
|
|
191
|
+
fixed: e.fixed,
|
|
192
|
+
onClose: e.onClose,
|
|
193
|
+
container: j
|
|
216
194
|
}
|
|
217
195
|
),
|
|
218
|
-
/* @__PURE__ */
|
|
219
|
-
|
|
220
|
-
/* @__PURE__ */
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
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
|
-
|
|
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":"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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 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":"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","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
|
|
3
|
-
import { ChartsTitle as
|
|
4
|
-
import { ErrorBoundary as
|
|
5
|
-
import
|
|
6
|
-
import { Legend as
|
|
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
|
|
9
|
-
import { Chart as
|
|
10
|
-
function
|
|
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:
|
|
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:
|
|
34
|
+
onTooltipHintSwitch: M,
|
|
35
|
+
cellsRenderingMode: T
|
|
35
36
|
}) {
|
|
36
|
-
const [W,
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
const [W, $] = c.useState(), v = N(M), d = c.useRef(null);
|
|
38
|
+
c.useEffect(() => {
|
|
39
|
+
d.current && $(d.current);
|
|
39
40
|
}, []);
|
|
40
|
-
const
|
|
41
|
-
return /* @__PURE__ */ e.jsx(
|
|
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:
|
|
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
|
-
|
|
54
|
+
Y,
|
|
54
55
|
{
|
|
55
56
|
title: [o.title.name],
|
|
56
57
|
show: o.title.show,
|
|
57
58
|
position: o.title.position,
|
|
58
|
-
leftPadding:
|
|
59
|
-
rightPadding:
|
|
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:
|
|
65
|
+
const { cells: H, xKeysByGroups: R, yKeysByGroups: X } = S[t];
|
|
65
66
|
return /* @__PURE__ */ e.jsx(
|
|
66
|
-
|
|
67
|
+
P,
|
|
67
68
|
{
|
|
68
69
|
dendrograms: B[t],
|
|
69
|
-
captionsSizes:
|
|
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 :
|
|
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(${
|
|
100
|
-
/* @__PURE__ */ e.jsx("g", { ref:
|
|
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
|
-
|
|
108
|
+
et as ChartsGroup
|
|
107
109
|
};
|
|
108
110
|
//# sourceMappingURL=ChartsGroup.js.map
|