@milaboratories/miplots4 1.0.143 → 1.0.144
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/dendro/index.d.ts.map +1 -1
- package/dist/dendro/index.js +73 -73
- package/dist/dendro/index.js.map +1 -1
- package/dist/heatmap/ChartRenderer.d.ts +14 -4
- package/dist/heatmap/ChartRenderer.d.ts.map +1 -1
- package/dist/heatmap/ChartRenderer.js +283 -274
- package/dist/heatmap/ChartRenderer.js.map +1 -1
- package/dist/heatmap/HeatmapSettingsImpl.d.ts +5 -0
- package/dist/heatmap/HeatmapSettingsImpl.d.ts.map +1 -1
- package/dist/heatmap/HeatmapSettingsImpl.js +70 -64
- package/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
- package/dist/heatmap/components/Chart.d.ts.map +1 -1
- package/dist/heatmap/components/Chart.js +83 -81
- package/dist/heatmap/components/Chart.js.map +1 -1
- package/dist/heatmap/getCells.d.ts +1 -1
- package/dist/heatmap/getCells.d.ts.map +1 -1
- package/dist/heatmap/getCells.js +99 -88
- package/dist/heatmap/getCells.js.map +1 -1
- package/dist/heatmap/index.d.ts.map +1 -1
- package/dist/heatmap/index.js +117 -95
- package/dist/heatmap/index.js.map +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/types/heatmap.d.ts +23 -0
- package/dist/types/heatmap.d.ts.map +1 -1
- package/dist/types/heatmap.js +19 -11
- package/dist/types/heatmap.js.map +1 -1
- package/package.json +1 -1
package/dist/heatmap/index.js
CHANGED
|
@@ -1,155 +1,177 @@
|
|
|
1
1
|
var q = Object.defineProperty;
|
|
2
|
-
var z = (
|
|
3
|
-
var
|
|
2
|
+
var z = (m, d, a) => d in m ? q(m, d, { enumerable: !0, configurable: !0, writable: !0, value: a }) : m[d] = a;
|
|
3
|
+
var _ = (m, d, a) => z(m, typeof d != "symbol" ? d + "" : d, a);
|
|
4
4
|
import { renderToString as K } from "../node_modules/react-dom/server.browser.js";
|
|
5
5
|
import { AbstractChart as F } from "../AbstractChart.js";
|
|
6
|
-
import { isColumnName as
|
|
6
|
+
import { isColumnName as X } from "../utils/index.js";
|
|
7
7
|
import J from "./ChartRenderer.js";
|
|
8
8
|
import { getCells as L } from "./getCells.js";
|
|
9
9
|
import { getDendrograms as M } from "./getDendrograms.js";
|
|
10
|
-
import { HeatmapSettingsImpl as
|
|
11
|
-
class
|
|
12
|
-
constructor(a,
|
|
13
|
-
super(a,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
import { HeatmapSettingsImpl as H } from "./HeatmapSettingsImpl.js";
|
|
11
|
+
class ta extends F {
|
|
12
|
+
constructor(a, e, t) {
|
|
13
|
+
super(a, e);
|
|
14
|
+
_(this, "settings");
|
|
15
|
+
_(this, "chartRenderer", new J());
|
|
16
|
+
_(this, "onTooltipHintSwitch", () => {
|
|
17
17
|
});
|
|
18
|
-
|
|
19
|
-
this.settings = new
|
|
18
|
+
_(this, "calculatedData", null);
|
|
19
|
+
this.settings = new H(e), t && (this.onTooltipHintSwitch = t[0]);
|
|
20
20
|
}
|
|
21
21
|
mount(a) {
|
|
22
22
|
try {
|
|
23
23
|
this.chartRenderer.init(a), this._updateData(), this._updateChart(), this.hasError = !1;
|
|
24
|
-
} catch (
|
|
25
|
-
this.hasError = !0,
|
|
24
|
+
} catch (e) {
|
|
25
|
+
this.hasError = !0, e instanceof Error && (this.chartRenderer.renderError(e.message), console.error(e));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
unmount() {
|
|
29
29
|
this.chartRenderer.clear();
|
|
30
30
|
}
|
|
31
|
-
updateSettingsAndData(a,
|
|
31
|
+
updateSettingsAndData(a, e) {
|
|
32
32
|
try {
|
|
33
|
-
const
|
|
34
|
-
this.settings = new
|
|
35
|
-
} catch (
|
|
36
|
-
|
|
33
|
+
const t = this.settings, s = this.data;
|
|
34
|
+
this.settings = new H(e), this.data = a, this._needUpdateCalculatedDataBySettings(t, this.settings) || this._needUpdateCalculatedDataByData(s, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart();
|
|
35
|
+
} catch (t) {
|
|
36
|
+
t instanceof Error && (this.chartRenderer.renderError(t.message), console.error(t));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
updateChartState(a,
|
|
39
|
+
updateChartState(a, e) {
|
|
40
40
|
console.warn("no chart state for heatmap");
|
|
41
41
|
}
|
|
42
42
|
export() {
|
|
43
43
|
return this._updateChart(), K(this.chartRenderer.component);
|
|
44
44
|
}
|
|
45
|
-
_needUpdateCalculatedDataBySettings(a,
|
|
46
|
-
var
|
|
45
|
+
_needUpdateCalculatedDataBySettings(a, e) {
|
|
46
|
+
var Y, G, v, O, k, R, b, w, T, j, E, U;
|
|
47
47
|
const {
|
|
48
|
-
xColumn:
|
|
49
|
-
yColumn:
|
|
50
|
-
valueColumn:
|
|
51
|
-
xGroupBy:
|
|
52
|
-
yGroupBy:
|
|
53
|
-
facetBy:
|
|
54
|
-
annotations:
|
|
55
|
-
chartSettings:
|
|
56
|
-
facetSettings:
|
|
57
|
-
dendrogramX:
|
|
58
|
-
dendrogramY:
|
|
48
|
+
xColumn: t,
|
|
49
|
+
yColumn: s,
|
|
50
|
+
valueColumn: l,
|
|
51
|
+
xGroupBy: u,
|
|
52
|
+
yGroupBy: i,
|
|
53
|
+
facetBy: f,
|
|
54
|
+
annotations: D,
|
|
55
|
+
chartSettings: g,
|
|
56
|
+
facetSettings: o,
|
|
57
|
+
dendrogramX: c,
|
|
58
|
+
dendrogramY: h,
|
|
59
59
|
normalization: n,
|
|
60
|
-
NAValueAs:
|
|
61
|
-
} =
|
|
62
|
-
|
|
63
|
-
),
|
|
64
|
-
|
|
65
|
-
),
|
|
66
|
-
function
|
|
67
|
-
return
|
|
60
|
+
NAValueAs: C
|
|
61
|
+
} = e, x = Object.values(((Y = a.dendrogramX) == null ? void 0 : Y.aes) || {}).filter(
|
|
62
|
+
X
|
|
63
|
+
), y = Object.values((c == null ? void 0 : c.aes) || {}).filter(X), A = Object.values(((G = a.dendrogramY) == null ? void 0 : G.aes) || {}).filter(
|
|
64
|
+
X
|
|
65
|
+
), B = Object.values((h == null ? void 0 : h.aes) || {}).filter(X);
|
|
66
|
+
function r(p, V) {
|
|
67
|
+
return p.length !== V.length || p.some((N, I) => N.value !== V[I].value);
|
|
68
68
|
}
|
|
69
|
-
return a.xColumn.value !==
|
|
70
|
-
a.annotations.map((
|
|
71
|
-
|
|
72
|
-
) ||
|
|
69
|
+
return a.xColumn.value !== t.value || a.yColumn.value !== s.value || a.valueColumn.value !== l.value || r(a.xGroupBy, u) || r(a.yGroupBy, i) || r(a.facetBy, f) || r(
|
|
70
|
+
a.annotations.map((p) => p.valueColumn),
|
|
71
|
+
D.map((p) => p.valueColumn)
|
|
72
|
+
) || r(x, y) || r(A, B) || (e.dendrogramX || a.dendrogramX) && (((v = a.dendrogramX) == null ? void 0 : v.distance) !== ((O = e.dendrogramX) == null ? void 0 : O.distance) || ((k = a.dendrogramX) == null ? void 0 : k.linkage) !== ((R = e.dendrogramX) == null ? void 0 : R.linkage)) || (e.dendrogramY || a.dendrogramY) && (((b = a.dendrogramY) == null ? void 0 : b.distance) !== ((w = e.dendrogramY) == null ? void 0 : w.distance) || ((T = a.dendrogramY) == null ? void 0 : T.linkage) !== ((j = e.dendrogramY) == null ? void 0 : j.linkage)) || a.chartSettings.valueType !== g.valueType || a.facetSettings.sharedX !== o.sharedX || a.facetSettings.sharedY !== o.sharedY || ((E = a.normalization) == null ? void 0 : E.method) !== (n == null ? void 0 : n.method) || ((U = a.normalization) == null ? void 0 : U.direction) !== (n == null ? void 0 : n.direction) || a.NAValueAs !== C;
|
|
73
73
|
}
|
|
74
|
-
_needUpdateCalculatedDataByData(a,
|
|
75
|
-
const
|
|
76
|
-
return a.id !==
|
|
77
|
-
var
|
|
78
|
-
return a.data[
|
|
74
|
+
_needUpdateCalculatedDataByData(a, e) {
|
|
75
|
+
const t = Object.keys(a.data), s = Object.keys(e.data);
|
|
76
|
+
return a.id !== e.id || t.length !== s.length || t.some((l) => {
|
|
77
|
+
var u;
|
|
78
|
+
return a.data[l].length !== ((u = e.data[l]) == null ? void 0 : u.length);
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
_updateData() {
|
|
82
82
|
const {
|
|
83
83
|
xColumn: a,
|
|
84
|
-
yColumn:
|
|
85
|
-
valueColumn:
|
|
86
|
-
xGroupBy:
|
|
87
|
-
yGroupBy:
|
|
88
|
-
facetBy:
|
|
89
|
-
chartSettings:
|
|
90
|
-
facetSettings:
|
|
91
|
-
annotations:
|
|
92
|
-
dendrogramX:
|
|
93
|
-
dendrogramY:
|
|
94
|
-
normalization:
|
|
95
|
-
NAValueAs:
|
|
96
|
-
|
|
84
|
+
yColumn: e,
|
|
85
|
+
valueColumn: t,
|
|
86
|
+
xGroupBy: s,
|
|
87
|
+
yGroupBy: l,
|
|
88
|
+
facetBy: u,
|
|
89
|
+
chartSettings: i,
|
|
90
|
+
facetSettings: f,
|
|
91
|
+
annotations: D,
|
|
92
|
+
dendrogramX: g,
|
|
93
|
+
dendrogramY: o,
|
|
94
|
+
normalization: c,
|
|
95
|
+
NAValueAs: h,
|
|
96
|
+
keysOrder: n
|
|
97
|
+
} = this.settings, C = L(
|
|
97
98
|
this.data,
|
|
98
99
|
a,
|
|
99
|
-
t,
|
|
100
100
|
e,
|
|
101
|
+
t,
|
|
102
|
+
u,
|
|
101
103
|
s,
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
l,
|
|
105
|
+
D,
|
|
104
106
|
g,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
o,
|
|
108
|
+
c,
|
|
109
|
+
h,
|
|
110
|
+
n,
|
|
111
|
+
i.xAxis,
|
|
112
|
+
i.yAxis
|
|
113
|
+
), x = M(C, g, o, f), y = i.valueType === "discrete" ? this.data.getColumnCategories(t.value) : [];
|
|
110
114
|
this.calculatedData = {
|
|
111
|
-
groupedCellsData:
|
|
112
|
-
dendrogramsData:
|
|
113
|
-
cellUniqValues:
|
|
115
|
+
groupedCellsData: C,
|
|
116
|
+
dendrogramsData: x,
|
|
117
|
+
cellUniqValues: y
|
|
114
118
|
};
|
|
115
119
|
}
|
|
116
120
|
_updateAesInData() {
|
|
117
121
|
}
|
|
118
122
|
_updateChart() {
|
|
123
|
+
var y, A;
|
|
119
124
|
if (!this.calculatedData)
|
|
120
125
|
return;
|
|
121
126
|
const {
|
|
122
127
|
id: a,
|
|
123
|
-
valueColumn:
|
|
124
|
-
chartSettings:
|
|
125
|
-
facetSettings:
|
|
126
|
-
aes:
|
|
127
|
-
annotations:
|
|
128
|
-
dendrogramX:
|
|
129
|
-
dendrogramY:
|
|
130
|
-
inheritedDendrogramAes:
|
|
131
|
-
normalization:
|
|
132
|
-
|
|
128
|
+
valueColumn: e,
|
|
129
|
+
chartSettings: t,
|
|
130
|
+
facetSettings: s,
|
|
131
|
+
aes: l,
|
|
132
|
+
annotations: u,
|
|
133
|
+
dendrogramX: i,
|
|
134
|
+
dendrogramY: f,
|
|
135
|
+
inheritedDendrogramAes: D,
|
|
136
|
+
normalization: g,
|
|
137
|
+
keysOrder: o,
|
|
138
|
+
xColumn: c,
|
|
139
|
+
yColumn: h,
|
|
140
|
+
xGroupBy: n,
|
|
141
|
+
yGroupBy: C
|
|
142
|
+
} = this.settings, x = {
|
|
143
|
+
x: ((y = o[c.value]) == null ? void 0 : y.length) > 0,
|
|
144
|
+
y: ((A = o[h.value]) == null ? void 0 : A.length) > 0,
|
|
145
|
+
xGroup: n.some((B) => {
|
|
146
|
+
var r;
|
|
147
|
+
return ((r = o[B.value]) == null ? void 0 : r.length) > 0;
|
|
148
|
+
}),
|
|
149
|
+
yGroup: C.some((B) => {
|
|
150
|
+
var r;
|
|
151
|
+
return ((r = o[B.value]) == null ? void 0 : r.length) > 0;
|
|
152
|
+
})
|
|
153
|
+
};
|
|
133
154
|
this.chartRenderer.render(
|
|
134
155
|
this.data,
|
|
135
156
|
a,
|
|
136
|
-
e,
|
|
137
|
-
r,
|
|
138
|
-
d,
|
|
139
|
-
this.calculatedData.groupedCellsData,
|
|
140
|
-
s,
|
|
141
157
|
t,
|
|
142
|
-
|
|
143
|
-
|
|
158
|
+
s,
|
|
159
|
+
l,
|
|
160
|
+
this.calculatedData.groupedCellsData,
|
|
161
|
+
u,
|
|
162
|
+
e,
|
|
163
|
+
i,
|
|
164
|
+
f,
|
|
144
165
|
this.calculatedData.dendrogramsData,
|
|
145
|
-
|
|
166
|
+
D,
|
|
146
167
|
this.calculatedData.cellUniqValues,
|
|
147
|
-
|
|
148
|
-
this.onTooltipHintSwitch
|
|
168
|
+
g,
|
|
169
|
+
this.onTooltipHintSwitch,
|
|
170
|
+
x
|
|
149
171
|
);
|
|
150
172
|
}
|
|
151
173
|
}
|
|
152
174
|
export {
|
|
153
|
-
|
|
175
|
+
ta as ChartHeatmap
|
|
154
176
|
};
|
|
155
177
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/heatmap/index.ts"],"sourcesContent":["import { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue, HeatmapEventHandlers, HeatmapSettings } from '../types';\nimport { isColumnName } from '../utils';\nimport ChartRenderer from './ChartRenderer';\nimport type { GroupedCellsData } from './getCells';\nimport { getCells } from './getCells';\nimport type { DendrogramsData } from './getDendrograms';\nimport { getDendrograms } from './getDendrograms';\nimport { HeatmapSettingsImpl } from './HeatmapSettingsImpl';\n\nexport class ChartHeatmap extends AbstractChart {\n settings: HeatmapSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n groupedCellsData: GroupedCellsData;\n dendrogramsData: DendrogramsData;\n cellUniqValues: DataValue[];\n } | null = null;\n\n constructor(data: DataFrame, settings: HeatmapSettings, eventHandlers?:HeatmapEventHandlers) {\n super(data, settings);\n\n this.settings = new HeatmapSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: HeatmapSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HeatmapSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for heatmap');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HeatmapSettingsImpl, settings: HeatmapSettingsImpl) {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n annotations,\n chartSettings,\n facetSettings,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = settings;\n\n const prevDendrogramXColumns: ColumnName[] = Object.values(prevSettings.dendrogramX?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramXColumns: ColumnName[] = Object.values(dendrogramX?.aes || {}).filter(isColumnName);\n const prevDendrogramYColumns: ColumnName[] = Object.values(prevSettings.dendrogramY?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramYColumns: ColumnName[] = Object.values(dendrogramY?.aes || {}).filter(isColumnName);\n\n function compareColumnGroups(columns1: ColumnName[], columns2: ColumnName[]) {\n return (\n columns1.length !== columns2.length ||\n columns1.some((column, idx) => column.value !== columns2[idx].value)\n );\n }\n\n return (\n prevSettings.xColumn.value !== xColumn.value ||\n prevSettings.yColumn.value !== yColumn.value ||\n prevSettings.valueColumn.value !== valueColumn.value ||\n compareColumnGroups(prevSettings.xGroupBy, xGroupBy) ||\n compareColumnGroups(prevSettings.yGroupBy, yGroupBy) ||\n compareColumnGroups(prevSettings.facetBy, facetBy) ||\n compareColumnGroups(\n prevSettings.annotations.map(a => a.valueColumn),\n annotations.map(a => a.valueColumn)\n ) ||\n compareColumnGroups(prevDendrogramXColumns, currentDendrogramXColumns) ||\n compareColumnGroups(prevDendrogramYColumns, currentDendrogramYColumns) ||\n ((settings.dendrogramX || prevSettings.dendrogramX) &&\n (prevSettings.dendrogramX?.distance !== settings.dendrogramX?.distance ||\n prevSettings.dendrogramX?.linkage !== settings.dendrogramX?.linkage)) ||\n ((settings.dendrogramY || prevSettings.dendrogramY) &&\n (prevSettings.dendrogramY?.distance !== settings.dendrogramY?.distance ||\n prevSettings.dendrogramY?.linkage !== settings.dendrogramY?.linkage)) ||\n prevSettings.chartSettings.valueType !== chartSettings.valueType ||\n prevSettings.facetSettings.sharedX !== facetSettings.sharedX ||\n prevSettings.facetSettings.sharedY !== facetSettings.sharedY ||\n prevSettings.normalization?.method !== normalization?.method ||\n prevSettings.normalization?.direction !== normalization?.direction ||\n prevSettings.NAValueAs !== NAValueAs\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n chartSettings,\n facetSettings,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = this.settings;\n\n const groupedCellsData = getCells(\n this.data,\n xColumn,\n yColumn,\n valueColumn,\n facetBy,\n xGroupBy,\n yGroupBy,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs\n );\n const dendrogramsData = getDendrograms(groupedCellsData, dendrogramX, dendrogramY, facetSettings);\n const cellUniqValues =\n chartSettings.valueType === 'discrete' ? this.data.getColumnCategories(valueColumn.value) : [];\n\n this.calculatedData = {\n groupedCellsData,\n dendrogramsData,\n cellUniqValues,\n };\n }\n\n _updateAesInData() {\n return;\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {\n id,\n valueColumn,\n chartSettings,\n facetSettings,\n aes,\n annotations,\n dendrogramX,\n dendrogramY,\n inheritedDendrogramAes,\n normalization,\n } = this.settings;\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n facetSettings,\n aes,\n this.calculatedData.groupedCellsData,\n annotations,\n valueColumn,\n dendrogramX,\n dendrogramY,\n this.calculatedData.dendrogramsData,\n inheritedDendrogramAes,\n this.calculatedData.cellUniqValues,\n normalization,\n this.onTooltipHintSwitch\n );\n }\n}\n"],"names":["ChartHeatmap","AbstractChart","data","settings","eventHandlers","__publicField","ChartRenderer","HeatmapSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","xColumn","yColumn","valueColumn","xGroupBy","yGroupBy","facetBy","annotations","chartSettings","facetSettings","dendrogramX","dendrogramY","normalization","NAValueAs","prevDendrogramXColumns","_a","isColumnName","currentDendrogramXColumns","prevDendrogramYColumns","_b","currentDendrogramYColumns","compareColumnGroups","columns1","columns2","column","idx","a","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","prevData","prevKeys","keys","key","groupedCellsData","getCells","dendrogramsData","getDendrograms","cellUniqValues","id","aes","inheritedDendrogramAes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/heatmap/index.ts"],"sourcesContent":["import { renderToString } from 'react-dom/server';\nimport { AbstractChart } from '../AbstractChart';\nimport type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue, HeatmapEventHandlers, HeatmapSettings } from '../types';\nimport { isColumnName } from '../utils';\nimport ChartRenderer from './ChartRenderer';\nimport type { GroupedCellsData } from './getCells';\nimport { getCells } from './getCells';\nimport type { DendrogramsData } from './getDendrograms';\nimport { getDendrograms } from './getDendrograms';\nimport { HeatmapSettingsImpl } from './HeatmapSettingsImpl';\n\nexport class ChartHeatmap extends AbstractChart {\n settings: HeatmapSettingsImpl;\n chartRenderer = new ChartRenderer();\n\n onTooltipHintSwitch: (v:boolean) => void = () => undefined;\n calculatedData: {\n groupedCellsData: GroupedCellsData;\n dendrogramsData: DendrogramsData;\n cellUniqValues: DataValue[];\n } | null = null;\n\n constructor(data: DataFrame, settings: HeatmapSettings, eventHandlers?:HeatmapEventHandlers) {\n super(data, settings);\n\n this.settings = new HeatmapSettingsImpl(settings);\n if (eventHandlers) {\n this.onTooltipHintSwitch = eventHandlers[0];\n }\n }\n\n mount(node: HTMLElement) {\n try {\n this.chartRenderer.init(node);\n this._updateData();\n this._updateChart();\n this.hasError = false;\n } catch (err) {\n this.hasError = true;\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n unmount() {\n this.chartRenderer.clear();\n }\n\n updateSettingsAndData(data: DataFrame, settings: HeatmapSettings) {\n try {\n const previousSettings = this.settings;\n const previousData = this.data;\n this.settings = new HeatmapSettingsImpl(settings);\n this.data = data;\n if (\n this._needUpdateCalculatedDataBySettings(previousSettings, this.settings) ||\n this._needUpdateCalculatedDataByData(previousData, this.data)\n ) {\n this._updateData();\n } else {\n this._updateAesInData();\n }\n this._updateChart();\n } catch (err) {\n if (err instanceof Error) {\n this.chartRenderer.renderError(err.message as string);\n console.error(err);\n }\n }\n }\n\n updateChartState(_field: string, _value: unknown) {\n console.warn('no chart state for heatmap');\n }\n\n export(): string {\n this._updateChart();\n return renderToString(this.chartRenderer.component);\n }\n\n _needUpdateCalculatedDataBySettings(prevSettings: HeatmapSettingsImpl, settings: HeatmapSettingsImpl) {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n annotations,\n chartSettings,\n facetSettings,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n } = settings;\n\n const prevDendrogramXColumns: ColumnName[] = Object.values(prevSettings.dendrogramX?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramXColumns: ColumnName[] = Object.values(dendrogramX?.aes || {}).filter(isColumnName);\n const prevDendrogramYColumns: ColumnName[] = Object.values(prevSettings.dendrogramY?.aes || {}).filter(\n isColumnName\n );\n const currentDendrogramYColumns: ColumnName[] = Object.values(dendrogramY?.aes || {}).filter(isColumnName);\n\n function compareColumnGroups(columns1: ColumnName[], columns2: ColumnName[]) {\n return (\n columns1.length !== columns2.length ||\n columns1.some((column, idx) => column.value !== columns2[idx].value)\n );\n }\n\n return (\n prevSettings.xColumn.value !== xColumn.value ||\n prevSettings.yColumn.value !== yColumn.value ||\n prevSettings.valueColumn.value !== valueColumn.value ||\n compareColumnGroups(prevSettings.xGroupBy, xGroupBy) ||\n compareColumnGroups(prevSettings.yGroupBy, yGroupBy) ||\n compareColumnGroups(prevSettings.facetBy, facetBy) ||\n compareColumnGroups(\n prevSettings.annotations.map(a => a.valueColumn),\n annotations.map(a => a.valueColumn)\n ) ||\n compareColumnGroups(prevDendrogramXColumns, currentDendrogramXColumns) ||\n compareColumnGroups(prevDendrogramYColumns, currentDendrogramYColumns) ||\n ((settings.dendrogramX || prevSettings.dendrogramX) &&\n (prevSettings.dendrogramX?.distance !== settings.dendrogramX?.distance ||\n prevSettings.dendrogramX?.linkage !== settings.dendrogramX?.linkage)) ||\n ((settings.dendrogramY || prevSettings.dendrogramY) &&\n (prevSettings.dendrogramY?.distance !== settings.dendrogramY?.distance ||\n prevSettings.dendrogramY?.linkage !== settings.dendrogramY?.linkage)) ||\n prevSettings.chartSettings.valueType !== chartSettings.valueType ||\n prevSettings.facetSettings.sharedX !== facetSettings.sharedX ||\n prevSettings.facetSettings.sharedY !== facetSettings.sharedY ||\n prevSettings.normalization?.method !== normalization?.method ||\n prevSettings.normalization?.direction !== normalization?.direction ||\n prevSettings.NAValueAs !== NAValueAs\n );\n }\n\n _needUpdateCalculatedDataByData(prevData: DataFrame, data: DataFrame) {\n const prevKeys = Object.keys(prevData.data);\n const keys = Object.keys(data.data);\n return (\n prevData.id !== data.id ||\n prevKeys.length !== keys.length ||\n prevKeys.some(key => prevData.data[key].length !== data.data[key]?.length)\n );\n }\n\n _updateData() {\n const {\n xColumn,\n yColumn,\n valueColumn,\n xGroupBy,\n yGroupBy,\n facetBy,\n chartSettings,\n facetSettings,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n keysOrder\n } = this.settings;\n\n const groupedCellsData = getCells(\n this.data,\n xColumn,\n yColumn,\n valueColumn,\n facetBy,\n xGroupBy,\n yGroupBy,\n annotations,\n dendrogramX,\n dendrogramY,\n normalization,\n NAValueAs,\n keysOrder,\n chartSettings.xAxis,\n chartSettings.yAxis,\n );\n const dendrogramsData = getDendrograms(groupedCellsData, dendrogramX, dendrogramY, facetSettings);\n const cellUniqValues =\n chartSettings.valueType === 'discrete' ? this.data.getColumnCategories(valueColumn.value) : [];\n\n this.calculatedData = {\n groupedCellsData,\n dendrogramsData,\n cellUniqValues,\n };\n }\n\n _updateAesInData() {\n return;\n }\n\n _updateChart() {\n if (!this.calculatedData) {\n return;\n }\n const {\n id,\n valueColumn,\n chartSettings,\n facetSettings,\n aes,\n annotations,\n dendrogramX,\n dendrogramY,\n inheritedDendrogramAes,\n normalization,\n keysOrder,\n xColumn,\n yColumn,\n xGroupBy,\n yGroupBy,\n } = this.settings;\n const customOrder = {\n x: keysOrder[xColumn.value]?.length > 0,\n y: keysOrder[yColumn.value]?.length > 0,\n xGroup: xGroupBy.some((v) => keysOrder[v.value]?.length > 0),\n yGroup: yGroupBy.some((v) => keysOrder[v.value]?.length > 0),\n };\n this.chartRenderer.render(\n this.data,\n id,\n chartSettings,\n facetSettings,\n aes,\n this.calculatedData.groupedCellsData,\n annotations,\n valueColumn,\n dendrogramX,\n dendrogramY,\n this.calculatedData.dendrogramsData,\n inheritedDendrogramAes,\n this.calculatedData.cellUniqValues,\n normalization,\n this.onTooltipHintSwitch,\n customOrder,\n );\n }\n}\n"],"names":["ChartHeatmap","AbstractChart","data","settings","eventHandlers","__publicField","ChartRenderer","HeatmapSettingsImpl","node","err","previousSettings","previousData","_field","_value","renderToString","prevSettings","xColumn","yColumn","valueColumn","xGroupBy","yGroupBy","facetBy","annotations","chartSettings","facetSettings","dendrogramX","dendrogramY","normalization","NAValueAs","prevDendrogramXColumns","_a","isColumnName","currentDendrogramXColumns","prevDendrogramYColumns","_b","currentDendrogramYColumns","compareColumnGroups","columns1","columns2","column","idx","a","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","prevData","prevKeys","keys","key","keysOrder","groupedCellsData","getCells","dendrogramsData","getDendrograms","cellUniqValues","id","aes","inheritedDendrogramAes","customOrder","v"],"mappings":"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"}
|
package/dist/types/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sources":["../../src/types/common.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { LassoControlsState, Polygon } from '../scatterplot-umap/types';\nimport type { CategoricalAesFromColumn, ContinuousAesFromColumn } from './scatterplot';\n\nexport type DataValue = string | number | null;\nexport type Category = string;\nexport const DataValueSchema = z.union([z.string(), z.number(), z.null()]);\n\nexport type Row = Record<string, DataValue>\n\nexport type Color = string;\n\n// numbered according ggplot2 symbols, 19 (third size of black circle) is missed\nexport const POINT_SHAPE = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '20',\n '21',\n '22',\n '23',\n '24',\n '25',\n] as const;\nexport const PointShapeSchema = z.enum(POINT_SHAPE);\nexport type PointShape = z.infer<typeof PointShapeSchema>;\n\nconst LINE_SHAPE = ['solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'] as const;\nexport const LineShapeSchema = z.enum(LINE_SHAPE);\nexport type LineShape = z.infer<typeof LineShapeSchema>;\n\nconst FRAME_TYPE = ['left', 'bottom', 'left-bottom', 'full', 'empty'] as const;\nexport const FrameTypeSchema = z.enum(FRAME_TYPE);\nexport type FrameType = z.infer<typeof FrameTypeSchema>;\n\nconst LEGEND_POSITION = ['inside', 'right', 'top', 'bottom'] as const;\nexport const LegendPositionSchema = z.enum(LEGEND_POSITION);\nexport type LegendPosition = z.infer<typeof LegendPositionSchema>;\n\nexport const TITLE_POSITION = ['left', 'center', 'right'] as const;\nexport const TitlePositionSchema = z.enum(TITLE_POSITION);\nexport type TitlePosition = z.infer<typeof TitlePositionSchema>;\n\nexport const ColumnNameSchema = z.object({\n type: z.literal('column'),\n value: z.string(),\n format: z.optional(z.string()), // d3 format\n label: z.optional(z.string()),\n valueLabels: z.optional(z.string())\n});\nexport type ColumnName = z.infer<typeof ColumnNameSchema>\n\nexport type AesItem = {\n fillColor?: Color;\n lineColor?: Color;\n lineWidth?: number;\n lineShape?: LineShape;\n dotShape?: PointShape;\n dotSize?: number;\n dotFill?: Color;\n};\nexport const AesItemSchema = z.object({\n fillColor: z.optional(z.string()),\n lineColor: z.optional(z.string()),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotShape: z.optional(PointShapeSchema),\n dotSize: z.optional(z.number()),\n dotFill: z.optional(z.string()),\n});\n\nexport const AesRecordSchema = z.record(AesItemSchema);\nexport type AesRecord = z.infer<typeof AesRecordSchema>;\n\nexport function categoricalAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n valuesMap: z.record(valueSchema),\n });\n}\nexport function continuousAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n domain: z.array(z.number()),\n range: z.array(valueSchema),\n type: z.optional(z.union([z.literal('linear'), z.literal('log')]))\n });\n}\n\nexport function isCategoricalAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is CategoricalAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'valuesMap' in item;\n}\n\nexport function isContinuousAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is ContinuousAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'domain' in item && 'range' in item;\n}\n\nexport const DiscreteLabelsPositionSchema = z.union([z.literal('center'), z.literal('45deg'), z.literal('90deg')]);\n\nexport const AxisSettingsDiscreteSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.literal('discrete')),\n keys: z.optional(z.array(z.union([z.string(), z.number()]))),\n labels: z.optional(z.record(z.string())),\n showGrid: z.optional(z.boolean()),\n linesBetweenCategories: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n labelsPosition: z.optional(DiscreteLabelsPositionSchema),\n hiddenLabels: z.optional(z.boolean())\n});\nexport const AxisSettingsContinuousSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.union([z.literal('linear'), z.literal('log')])),\n showGrid: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n significantLines: z.optional(z.array(z.number())),\n significantLinesStyle: z.optional(LineShapeSchema),\n symmetricRange: z.optional(z.number()),\n upperValue: z.optional(z.number()),\n lowerValue: z.optional(z.number()),\n hiddenLabels: z.optional(z.boolean())\n});\n\nexport const AxisSettingsSchema = z.union([AxisSettingsDiscreteSchema, AxisSettingsContinuousSchema]);\n\nexport type AxisSettings = z.infer<typeof AxisSettingsSchema>\nexport type AxisSettingsDiscrete = z.infer<typeof AxisSettingsDiscreteSchema>;\nexport type AxisSettingsContinuous = z.infer<typeof AxisSettingsContinuousSchema>;\n\nexport type DiscreteLabelsPosition = z.infer<typeof DiscreteLabelsPositionSchema>;\n\nexport interface SettingsInterface {\n type: string;\n}\n\nexport type ClickEventData = {\n x: number;\n y: number;\n info: unknown;\n}\n\nexport type PolygonData = [number, number][];\n\nexport type ChartEventHandlers<T> = T;\nexport type DendroEventHandlers = ChartEventHandlers<[(d:ClickEventData) => void]>\nexport type ScatterplotEventHandlers = ChartEventHandlers<{\n onPolygonUpdate: (d:number[], p: Polygon[]) => void;\n onTooltipHintSwitch: (d:boolean) => void;\n onLassoStateChange: () => void;\n onLassoControlsStateUpdate: (v:LassoControlsState) => void;\n}>\nexport type BubbleEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type DiscreteEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HeatmapEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HistogramEventHandlers = ChartEventHandlers<[(d:boolean) => void]>"],"names":["DataValueSchema","z","POINT_SHAPE","PointShapeSchema","LINE_SHAPE","LineShapeSchema","FRAME_TYPE","FrameTypeSchema","LEGEND_POSITION","LegendPositionSchema","TITLE_POSITION","TitlePositionSchema","ColumnNameSchema","AesItemSchema","AesRecordSchema","categoricalAesMappingFromValueSchema","valueSchema","continuousAesMappingFromValueSchema","isCategoricalAes","item","isContinuousAes","DiscreteLabelsPositionSchema","AxisSettingsDiscreteSchema","AxisSettingsContinuousSchema","AxisSettingsSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../../src/types/common.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { LassoControlsState, Polygon } from '../scatterplot-umap/types';\nimport type { CategoricalAesFromColumn, ContinuousAesFromColumn } from './scatterplot';\n\nexport type DataValue = string | number | null;\nexport type Category = string;\nexport const DataValueSchema = z.union([z.string(), z.number(), z.null()]);\n\nexport type Row = Record<string, DataValue>\n\nexport type Color = string;\n\n// numbered according ggplot2 symbols, 19 (third size of black circle) is missed\nexport const POINT_SHAPE = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '20',\n '21',\n '22',\n '23',\n '24',\n '25',\n] as const;\nexport const PointShapeSchema = z.enum(POINT_SHAPE);\nexport type PointShape = z.infer<typeof PointShapeSchema>;\n\nconst LINE_SHAPE = ['solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'] as const;\nexport const LineShapeSchema = z.enum(LINE_SHAPE);\nexport type LineShape = z.infer<typeof LineShapeSchema>;\n\nconst FRAME_TYPE = ['left', 'bottom', 'left-bottom', 'full', 'empty'] as const;\nexport const FrameTypeSchema = z.enum(FRAME_TYPE);\nexport type FrameType = z.infer<typeof FrameTypeSchema>;\n\nconst LEGEND_POSITION = ['inside', 'right', 'top', 'bottom'] as const;\nexport const LegendPositionSchema = z.enum(LEGEND_POSITION);\nexport type LegendPosition = z.infer<typeof LegendPositionSchema>;\n\nexport const TITLE_POSITION = ['left', 'center', 'right'] as const;\nexport const TitlePositionSchema = z.enum(TITLE_POSITION);\nexport type TitlePosition = z.infer<typeof TitlePositionSchema>;\n\nexport const ColumnNameSchema = z.object({\n type: z.literal('column'),\n value: z.string(),\n format: z.optional(z.string()), // d3 format\n label: z.optional(z.string()),\n valueLabels: z.optional(z.string())\n});\nexport type ColumnName = z.infer<typeof ColumnNameSchema>\n\nexport type AesItem = {\n fillColor?: Color;\n lineColor?: Color;\n lineWidth?: number;\n lineShape?: LineShape;\n dotShape?: PointShape;\n dotSize?: number;\n dotFill?: Color;\n};\nexport const AesItemSchema = z.object({\n fillColor: z.optional(z.string()),\n lineColor: z.optional(z.string()),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotShape: z.optional(PointShapeSchema),\n dotSize: z.optional(z.number()),\n dotFill: z.optional(z.string()),\n});\n\nexport const AesRecordSchema = z.record(AesItemSchema);\nexport type AesRecord = z.infer<typeof AesRecordSchema>;\n\nexport function categoricalAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n valuesMap: z.record(valueSchema),\n });\n}\nexport function continuousAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n domain: z.array(z.number()),\n range: z.array(valueSchema),\n type: z.optional(z.union([z.literal('linear'), z.literal('log')]))\n });\n}\n\nexport function isCategoricalAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is CategoricalAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'valuesMap' in item;\n}\n\nexport function isContinuousAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is ContinuousAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'domain' in item && 'range' in item;\n}\n\nexport const DiscreteLabelsPositionSchema = z.union([z.literal('center'), z.literal('45deg'), z.literal('90deg')]);\n\nexport const AxisSettingsDiscreteSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.literal('discrete')),\n keys: z.optional(z.array(z.union([z.string(), z.number()]))),\n labels: z.optional(z.record(z.string())),\n showGrid: z.optional(z.boolean()),\n linesBetweenCategories: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n labelsPosition: z.optional(DiscreteLabelsPositionSchema),\n hiddenLabels: z.optional(z.boolean())\n});\nexport const AxisSettingsContinuousSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.union([z.literal('linear'), z.literal('log')])),\n showGrid: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n significantLines: z.optional(z.array(z.number())),\n significantLinesStyle: z.optional(LineShapeSchema),\n symmetricRange: z.optional(z.number()),\n upperValue: z.optional(z.number()),\n lowerValue: z.optional(z.number()),\n hiddenLabels: z.optional(z.boolean()),\n});\n\nexport const AxisSettingsSchema = z.union([AxisSettingsDiscreteSchema, AxisSettingsContinuousSchema]);\n\nexport type AxisSettings = z.infer<typeof AxisSettingsSchema>\nexport type AxisSettingsDiscrete = z.infer<typeof AxisSettingsDiscreteSchema>;\nexport type AxisSettingsContinuous = z.infer<typeof AxisSettingsContinuousSchema>;\n\nexport type DiscreteLabelsPosition = z.infer<typeof DiscreteLabelsPositionSchema>;\n\nexport interface SettingsInterface {\n type: string;\n}\n\nexport type ClickEventData = {\n x: number;\n y: number;\n info: unknown;\n}\n\nexport type PolygonData = [number, number][];\n\nexport type ChartEventHandlers<T> = T;\nexport type DendroEventHandlers = ChartEventHandlers<[(d:ClickEventData) => void]>\nexport type ScatterplotEventHandlers = ChartEventHandlers<{\n onPolygonUpdate: (d:number[], p: Polygon[]) => void;\n onTooltipHintSwitch: (d:boolean) => void;\n onLassoStateChange: () => void;\n onLassoControlsStateUpdate: (v:LassoControlsState) => void;\n}>\nexport type BubbleEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type DiscreteEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HeatmapEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HistogramEventHandlers = ChartEventHandlers<[(d:boolean) => void]>"],"names":["DataValueSchema","z","POINT_SHAPE","PointShapeSchema","LINE_SHAPE","LineShapeSchema","FRAME_TYPE","FrameTypeSchema","LEGEND_POSITION","LegendPositionSchema","TITLE_POSITION","TitlePositionSchema","ColumnNameSchema","AesItemSchema","AesRecordSchema","categoricalAesMappingFromValueSchema","valueSchema","continuousAesMappingFromValueSchema","isCategoricalAes","item","isContinuousAes","DiscreteLabelsPositionSchema","AxisSettingsDiscreteSchema","AxisSettingsContinuousSchema","AxisSettingsSchema"],"mappings":"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"}
|
package/dist/types/heatmap.d.ts
CHANGED
|
@@ -62,12 +62,24 @@ export declare const HeatmapSettingsSchema: z.ZodObject<{
|
|
|
62
62
|
size: z.ZodOptional<z.ZodObject<{
|
|
63
63
|
width: z.ZodOptional<z.ZodNumber>;
|
|
64
64
|
height: z.ZodOptional<z.ZodNumber>;
|
|
65
|
+
cellWidth: z.ZodOptional<z.ZodNumber>;
|
|
66
|
+
cellHeight: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
outerOffset: z.ZodOptional<z.ZodNumber>;
|
|
68
|
+
innerOffset: z.ZodOptional<z.ZodNumber>;
|
|
65
69
|
}, "strip", z.ZodTypeAny, {
|
|
66
70
|
width?: number | undefined;
|
|
67
71
|
height?: number | undefined;
|
|
72
|
+
outerOffset?: number | undefined;
|
|
73
|
+
innerOffset?: number | undefined;
|
|
74
|
+
cellWidth?: number | undefined;
|
|
75
|
+
cellHeight?: number | undefined;
|
|
68
76
|
}, {
|
|
69
77
|
width?: number | undefined;
|
|
70
78
|
height?: number | undefined;
|
|
79
|
+
outerOffset?: number | undefined;
|
|
80
|
+
innerOffset?: number | undefined;
|
|
81
|
+
cellWidth?: number | undefined;
|
|
82
|
+
cellHeight?: number | undefined;
|
|
71
83
|
}>>;
|
|
72
84
|
legend: z.ZodOptional<z.ZodObject<{
|
|
73
85
|
show: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -284,6 +296,7 @@ export declare const HeatmapSettingsSchema: z.ZodObject<{
|
|
|
284
296
|
label?: string | undefined;
|
|
285
297
|
valueLabels?: string | undefined;
|
|
286
298
|
}>, "many">>;
|
|
299
|
+
keysOrder: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
|
|
287
300
|
normalization: z.ZodOptional<z.ZodObject<{
|
|
288
301
|
direction: z.ZodEnum<["row", "column"]>;
|
|
289
302
|
method: z.ZodEnum<["standardScaling", "meanNormalization"]>;
|
|
@@ -1131,6 +1144,10 @@ export declare const HeatmapSettingsSchema: z.ZodObject<{
|
|
|
1131
1144
|
size?: {
|
|
1132
1145
|
width?: number | undefined;
|
|
1133
1146
|
height?: number | undefined;
|
|
1147
|
+
outerOffset?: number | undefined;
|
|
1148
|
+
innerOffset?: number | undefined;
|
|
1149
|
+
cellWidth?: number | undefined;
|
|
1150
|
+
cellHeight?: number | undefined;
|
|
1134
1151
|
} | undefined;
|
|
1135
1152
|
aes?: {
|
|
1136
1153
|
colorsList?: string[] | undefined;
|
|
@@ -1217,6 +1234,7 @@ export declare const HeatmapSettingsSchema: z.ZodObject<{
|
|
|
1217
1234
|
label?: string | undefined;
|
|
1218
1235
|
valueLabels?: string | undefined;
|
|
1219
1236
|
}[] | undefined;
|
|
1237
|
+
keysOrder?: Record<string, string[]> | undefined;
|
|
1220
1238
|
annotations?: ({
|
|
1221
1239
|
type: "continuous" | "discrete";
|
|
1222
1240
|
valueColumn: {
|
|
@@ -1394,6 +1412,10 @@ export declare const HeatmapSettingsSchema: z.ZodObject<{
|
|
|
1394
1412
|
size?: {
|
|
1395
1413
|
width?: number | undefined;
|
|
1396
1414
|
height?: number | undefined;
|
|
1415
|
+
outerOffset?: number | undefined;
|
|
1416
|
+
innerOffset?: number | undefined;
|
|
1417
|
+
cellWidth?: number | undefined;
|
|
1418
|
+
cellHeight?: number | undefined;
|
|
1397
1419
|
} | undefined;
|
|
1398
1420
|
aes?: {
|
|
1399
1421
|
colorsList?: string[] | undefined;
|
|
@@ -1480,6 +1502,7 @@ export declare const HeatmapSettingsSchema: z.ZodObject<{
|
|
|
1480
1502
|
label?: string | undefined;
|
|
1481
1503
|
valueLabels?: string | undefined;
|
|
1482
1504
|
}[] | undefined;
|
|
1505
|
+
keysOrder?: Record<string, string[]> | undefined;
|
|
1483
1506
|
annotations?: ({
|
|
1484
1507
|
type: "continuous" | "discrete";
|
|
1485
1508
|
valueColumn: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../../src/types/heatmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAKlE,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAqC1E,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"heatmap.d.ts","sourceRoot":"","sources":["../../src/types/heatmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAKlE,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAqC1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
package/dist/types/heatmap.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import o from "../node_modules/zod/lib/index.js";
|
|
2
|
-
import { ColumnNameSchema as n, LineShapeSchema as l, PointShapeSchema as
|
|
3
|
-
const
|
|
2
|
+
import { ColumnNameSchema as n, LineShapeSchema as l, PointShapeSchema as r, AesRecordSchema as p, LegendPositionSchema as s, TitlePositionSchema as m } from "./common.js";
|
|
3
|
+
const e = o.enum(["discrete", "continuous"]), a = o.object({
|
|
4
4
|
valueColumn: n,
|
|
5
|
-
type:
|
|
5
|
+
type: e,
|
|
6
6
|
showTitle: o.optional(o.boolean()),
|
|
7
7
|
colors: o.optional(o.array(o.string()))
|
|
8
|
-
}), u =
|
|
8
|
+
}), u = a.extend({
|
|
9
9
|
axis: o.literal("x"),
|
|
10
10
|
position: o.optional(o.enum(["top", "bottom"])),
|
|
11
11
|
titlePosition: o.optional(o.enum(["left", "right"]))
|
|
12
|
-
}), c =
|
|
12
|
+
}), c = a.extend({
|
|
13
13
|
axis: o.literal("y"),
|
|
14
14
|
position: o.optional(o.enum(["left", "right"])),
|
|
15
15
|
titlePosition: o.optional(o.enum(["top", "bottom"]))
|
|
@@ -24,7 +24,7 @@ const a = o.enum(["discrete", "continuous"]), e = o.object({
|
|
|
24
24
|
aes: o.optional(o.object({
|
|
25
25
|
lineColor: o.optional(o.union([o.string(), n])),
|
|
26
26
|
dotFill: o.optional(o.union([o.string(), n])),
|
|
27
|
-
dotShape: o.optional(o.union([
|
|
27
|
+
dotShape: o.optional(o.union([r, n])),
|
|
28
28
|
dotSize: o.optional(o.union([o.number(), n])),
|
|
29
29
|
lineShape: o.optional(o.union([l, n])),
|
|
30
30
|
lineWidth: o.optional(o.union([o.number(), n]))
|
|
@@ -41,7 +41,7 @@ const a = o.enum(["discrete", "continuous"]), e = o.object({
|
|
|
41
41
|
showGroupLabels: o.optional(o.boolean()),
|
|
42
42
|
axisLabelsAngle: o.optional(o.union([o.literal(0), o.literal(45), o.literal(90)])),
|
|
43
43
|
groupLabelsAngle: o.optional(o.union([o.literal(0), o.literal(45), o.literal(90)]))
|
|
44
|
-
},
|
|
44
|
+
}, f = o.object({
|
|
45
45
|
type: o.literal("heatmap"),
|
|
46
46
|
title: o.object({
|
|
47
47
|
name: o.string(),
|
|
@@ -54,11 +54,15 @@ const a = o.enum(["discrete", "continuous"]), e = o.object({
|
|
|
54
54
|
content: o.optional(o.array(n))
|
|
55
55
|
})
|
|
56
56
|
),
|
|
57
|
-
valueType: o.optional(
|
|
57
|
+
valueType: o.optional(e),
|
|
58
58
|
size: o.optional(
|
|
59
59
|
o.object({
|
|
60
60
|
width: o.optional(o.number()),
|
|
61
|
-
height: o.optional(o.number())
|
|
61
|
+
height: o.optional(o.number()),
|
|
62
|
+
cellWidth: o.optional(o.number()),
|
|
63
|
+
cellHeight: o.optional(o.number()),
|
|
64
|
+
outerOffset: o.optional(o.number()),
|
|
65
|
+
innerOffset: o.optional(o.number())
|
|
62
66
|
})
|
|
63
67
|
),
|
|
64
68
|
legend: o.optional(
|
|
@@ -92,6 +96,10 @@ const a = o.enum(["discrete", "continuous"]), e = o.object({
|
|
|
92
96
|
xGroupBy: o.optional(o.array(n)),
|
|
93
97
|
yGroupBy: o.optional(o.array(n)),
|
|
94
98
|
facetBy: o.optional(o.array(n)),
|
|
99
|
+
keysOrder: o.optional(
|
|
100
|
+
// x, y, grouping, facet keys in user's order
|
|
101
|
+
o.record(o.string(), o.array(o.string()))
|
|
102
|
+
),
|
|
95
103
|
normalization: o.optional(o.object({
|
|
96
104
|
direction: o.enum(["row", "column"]),
|
|
97
105
|
method: o.enum(["standardScaling", "meanNormalization"]),
|
|
@@ -100,7 +108,7 @@ const a = o.enum(["discrete", "continuous"]), e = o.object({
|
|
|
100
108
|
annotations: o.optional(o.array(o.union([u, c]))),
|
|
101
109
|
dendrogramX: o.optional(h),
|
|
102
110
|
dendrogramY: o.optional(d),
|
|
103
|
-
inheritedDendrogramAes: o.optional(o.record(o.string(),
|
|
111
|
+
inheritedDendrogramAes: o.optional(o.record(o.string(), p)),
|
|
104
112
|
NAValueAs: o.optional(o.union([o.number(), o.null()])),
|
|
105
113
|
aes: o.optional(o.object({
|
|
106
114
|
colorsList: o.optional(o.array(o.string())),
|
|
@@ -114,6 +122,6 @@ const a = o.enum(["discrete", "continuous"]), e = o.object({
|
|
|
114
122
|
}))
|
|
115
123
|
});
|
|
116
124
|
export {
|
|
117
|
-
|
|
125
|
+
f as HeatmapSettingsSchema
|
|
118
126
|
};
|
|
119
127
|
//# sourceMappingURL=heatmap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.js","sources":["../../src/types/heatmap.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n ColumnNameSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nconst ValueTypeSchema = z.enum(['discrete', 'continuous']);\n\nconst HeatmapAnnotationSchema = z.object({\n valueColumn: ColumnNameSchema,\n type: ValueTypeSchema,\n showTitle: z.optional(z.boolean()),\n colors: z.optional(z.array(z.string()))\n});\n\nconst HeatmapAnnotationXSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('x'),\n position: z.optional(z.enum(['top', 'bottom'])),\n titlePosition: z.optional(z.enum(['left', 'right'])),\n});\nconst HeatmapAnnotationYSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('y'),\n position: z.optional(z.enum(['left', 'right'])),\n titlePosition: z.optional(z.enum(['top', 'bottom'])),\n});\n\nexport type DendrogramDistance = 'euclidean' | 'squaredEuclidean';\nexport type DendrogramLinkage = 'average' | 'complete' | 'single';\n\nconst DendrogramDistanceSchema = z.enum(['euclidean', 'squaredEuclidean']);\nconst DendrogramLinkageSchema = z.enum(['average', 'complete', 'single']);\n\nexport type NormalizationDirection = 'row' | 'column';\nexport type NormalizationMethod = 'standardScaling' | 'meanNormalization';\n\nconst DendrogramSchema = z.object({\n size: z.optional(z.number()),\n distance: z.optional(DendrogramDistanceSchema),\n linkage: z.optional(DendrogramLinkageSchema),\n showNodes: z.optional(z.boolean()),\n edgeInheritance: z.optional(z.enum(['up', 'down'])),\n fillNA: z.optional(z.number()),\n hidden: z.optional(z.boolean()),\n aes: z.optional(z.object({\n lineColor: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotFill: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotShape: z.optional(z.union([PointShapeSchema, ColumnNameSchema])),\n dotSize: z.optional(z.union([z.number(), ColumnNameSchema])),\n lineShape: z.optional(z.union([LineShapeSchema, ColumnNameSchema])),\n lineWidth: z.optional(z.union([z.number(), ColumnNameSchema])),\n }))\n});\n\nconst DendrogramXSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['top', 'bottom']))\n});\nconst DendrogramYSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['left', 'right']))\n});\n\nconst axisCommonSchema = {\n title: z.optional(z.string()),\n showTicks: z.optional(z.boolean()),\n showTitle: z.optional(z.boolean()),\n showAxisLabels: z.optional(z.boolean()),\n showGroupLabels: z.optional(z.boolean()),\n axisLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n groupLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n};\n\nexport const HeatmapSettingsSchema = z.object({\n type: z.literal('heatmap'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n tooltips: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n content: z.optional(z.array(ColumnNameSchema)),\n })\n ),\n valueType: z.optional(ValueTypeSchema),\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n frame: z.optional(z.object({type: z.optional(z.enum(['full', 'groups', 'none']))})),\n xAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['top', 'bottom'])),\n groupingPosition: z.optional(z.enum(['top', 'bottom'])),\n })),\n yAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['left', 'right'])),\n groupingPosition: z.optional(z.enum(['left', 'right'])),\n })),\n facetSettings: z.optional(z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n })),\n xColumn: ColumnNameSchema,\n yColumn: ColumnNameSchema,\n valueColumn: ColumnNameSchema,\n xGroupBy: z.optional(z.array(ColumnNameSchema)),\n yGroupBy: z.optional(z.array(ColumnNameSchema)),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n normalization: z.optional(z.object({\n direction: z.enum(['row', 'column']),\n method: z.enum(['standardScaling', 'meanNormalization']),\n colorRange: z.optional(z.array(z.number()))\n })),\n annotations: z.optional(z.array(z.union([HeatmapAnnotationXSchema, HeatmapAnnotationYSchema]))),\n dendrogramX: z.optional(DendrogramXSchema),\n dendrogramY: z.optional(DendrogramYSchema),\n inheritedDendrogramAes: z.optional(z.record(z.string(), AesRecordSchema)),\n NAValueAs: z.optional(z.union([z.number(), z.null()])),\n aes: z.optional(z.object({\n colorsList: z.optional(z.array(z.string())),\n colorsMap: z.optional(z.record(z.string())),\n valueColors: z.optional(z.array(z.string())),\n valuesByColors: z.optional(z.array(z.number())),\n cellStrokeColor: z.optional(z.string()),\n emptyCellColor: z.optional(z.string()),\n groupGap: z.optional(z.number()),\n cellGap: z.optional(z.number()),\n }))\n});\n\nexport type HeatmapSettings = z.infer<typeof HeatmapSettingsSchema>;\n\n"],"names":["ValueTypeSchema","z","HeatmapAnnotationSchema","ColumnNameSchema","HeatmapAnnotationXSchema","HeatmapAnnotationYSchema","DendrogramDistanceSchema","DendrogramLinkageSchema","DendrogramSchema","PointShapeSchema","LineShapeSchema","DendrogramXSchema","DendrogramYSchema","axisCommonSchema","HeatmapSettingsSchema","TitlePositionSchema","LegendPositionSchema","AesRecordSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"heatmap.js","sources":["../../src/types/heatmap.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n ColumnNameSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nconst ValueTypeSchema = z.enum(['discrete', 'continuous']);\n\nconst HeatmapAnnotationSchema = z.object({\n valueColumn: ColumnNameSchema,\n type: ValueTypeSchema,\n showTitle: z.optional(z.boolean()),\n colors: z.optional(z.array(z.string()))\n});\n\nconst HeatmapAnnotationXSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('x'),\n position: z.optional(z.enum(['top', 'bottom'])),\n titlePosition: z.optional(z.enum(['left', 'right'])),\n});\nconst HeatmapAnnotationYSchema = HeatmapAnnotationSchema.extend({\n axis: z.literal('y'),\n position: z.optional(z.enum(['left', 'right'])),\n titlePosition: z.optional(z.enum(['top', 'bottom'])),\n});\n\nexport type DendrogramDistance = 'euclidean' | 'squaredEuclidean';\nexport type DendrogramLinkage = 'average' | 'complete' | 'single';\n\nconst DendrogramDistanceSchema = z.enum(['euclidean', 'squaredEuclidean']);\nconst DendrogramLinkageSchema = z.enum(['average', 'complete', 'single']);\n\nexport type NormalizationDirection = 'row' | 'column';\nexport type NormalizationMethod = 'standardScaling' | 'meanNormalization';\n\nconst DendrogramSchema = z.object({\n size: z.optional(z.number()),\n distance: z.optional(DendrogramDistanceSchema),\n linkage: z.optional(DendrogramLinkageSchema),\n showNodes: z.optional(z.boolean()),\n edgeInheritance: z.optional(z.enum(['up', 'down'])),\n fillNA: z.optional(z.number()),\n hidden: z.optional(z.boolean()),\n aes: z.optional(z.object({\n lineColor: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotFill: z.optional(z.union([z.string(), ColumnNameSchema])),\n dotShape: z.optional(z.union([PointShapeSchema, ColumnNameSchema])),\n dotSize: z.optional(z.union([z.number(), ColumnNameSchema])),\n lineShape: z.optional(z.union([LineShapeSchema, ColumnNameSchema])),\n lineWidth: z.optional(z.union([z.number(), ColumnNameSchema])),\n }))\n});\n\nconst DendrogramXSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['top', 'bottom']))\n});\nconst DendrogramYSchema = DendrogramSchema.extend({\n position: z.optional(z.enum(['left', 'right']))\n});\n\nconst axisCommonSchema = {\n title: z.optional(z.string()),\n showTicks: z.optional(z.boolean()),\n showTitle: z.optional(z.boolean()),\n showAxisLabels: z.optional(z.boolean()),\n showGroupLabels: z.optional(z.boolean()),\n axisLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n groupLabelsAngle: z.optional(z.union([z.literal(0), z.literal(45), z.literal(90)])),\n};\n\nexport const HeatmapSettingsSchema = z.object({\n type: z.literal('heatmap'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n tooltips: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n content: z.optional(z.array(ColumnNameSchema)),\n })\n ),\n valueType: z.optional(ValueTypeSchema),\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n cellWidth: z.optional(z.number()),\n cellHeight: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n frame: z.optional(z.object({type: z.optional(z.enum(['full', 'groups', 'none']))})),\n xAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['top', 'bottom'])),\n groupingPosition: z.optional(z.enum(['top', 'bottom'])),\n })),\n yAxis: z.optional(z.object({\n ...axisCommonSchema,\n sorting: z.optional(z.enum(['asc', 'desc'])),\n position: z.optional(z.enum(['left', 'right'])),\n groupingPosition: z.optional(z.enum(['left', 'right'])),\n })),\n facetSettings: z.optional(z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n })),\n xColumn: ColumnNameSchema,\n yColumn: ColumnNameSchema,\n valueColumn: ColumnNameSchema,\n xGroupBy: z.optional(z.array(ColumnNameSchema)),\n yGroupBy: z.optional(z.array(ColumnNameSchema)),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n keysOrder: z.optional( // x, y, grouping, facet keys in user's order\n z.record(z.string(), z.array(z.string()))\n ),\n normalization: z.optional(z.object({\n direction: z.enum(['row', 'column']),\n method: z.enum(['standardScaling', 'meanNormalization']),\n colorRange: z.optional(z.array(z.number()))\n })),\n annotations: z.optional(z.array(z.union([HeatmapAnnotationXSchema, HeatmapAnnotationYSchema]))),\n dendrogramX: z.optional(DendrogramXSchema),\n dendrogramY: z.optional(DendrogramYSchema),\n inheritedDendrogramAes: z.optional(z.record(z.string(), AesRecordSchema)),\n NAValueAs: z.optional(z.union([z.number(), z.null()])),\n aes: z.optional(z.object({\n colorsList: z.optional(z.array(z.string())),\n colorsMap: z.optional(z.record(z.string())),\n valueColors: z.optional(z.array(z.string())),\n valuesByColors: z.optional(z.array(z.number())),\n cellStrokeColor: z.optional(z.string()),\n emptyCellColor: z.optional(z.string()),\n groupGap: z.optional(z.number()),\n cellGap: z.optional(z.number()),\n }))\n});\n\nexport type HeatmapSettings = z.infer<typeof HeatmapSettingsSchema>;\n\n"],"names":["ValueTypeSchema","z","HeatmapAnnotationSchema","ColumnNameSchema","HeatmapAnnotationXSchema","HeatmapAnnotationYSchema","DendrogramDistanceSchema","DendrogramLinkageSchema","DendrogramSchema","PointShapeSchema","LineShapeSchema","DendrogramXSchema","DendrogramYSchema","axisCommonSchema","HeatmapSettingsSchema","TitlePositionSchema","LegendPositionSchema","AesRecordSchema"],"mappings":"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"}
|