@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.
@@ -1,155 +1,177 @@
1
1
  var q = Object.defineProperty;
2
- var z = (l, o, a) => o in l ? q(l, o, { enumerable: !0, configurable: !0, writable: !0, value: a }) : l[o] = a;
3
- var y = (l, o, a) => z(l, typeof o != "symbol" ? o + "" : o, a);
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 D } from "../utils/index.js";
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 O } from "./HeatmapSettingsImpl.js";
11
- class ea extends F {
12
- constructor(a, t, e) {
13
- super(a, t);
14
- y(this, "settings");
15
- y(this, "chartRenderer", new J());
16
- y(this, "onTooltipHintSwitch", () => {
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
- y(this, "calculatedData", null);
19
- this.settings = new O(t), e && (this.onTooltipHintSwitch = e[0]);
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 (t) {
25
- this.hasError = !0, t instanceof Error && (this.chartRenderer.renderError(t.message), console.error(t));
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, t) {
31
+ updateSettingsAndData(a, e) {
32
32
  try {
33
- const e = this.settings, r = this.data;
34
- this.settings = new O(t), this.data = a, this._needUpdateCalculatedDataBySettings(e, this.settings) || this._needUpdateCalculatedDataByData(r, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart();
35
- } catch (e) {
36
- e instanceof Error && (this.chartRenderer.renderError(e.message), console.error(e));
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, t) {
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, t) {
46
- var X, Y, A, x, R, b, w, G, T, j, k, v;
45
+ _needUpdateCalculatedDataBySettings(a, e) {
46
+ var Y, G, v, O, k, R, b, w, T, j, E, U;
47
47
  const {
48
- xColumn: e,
49
- yColumn: r,
50
- valueColumn: d,
51
- xGroupBy: s,
52
- yGroupBy: h,
53
- facetBy: m,
54
- annotations: g,
55
- chartSettings: u,
56
- facetSettings: C,
57
- dendrogramX: p,
58
- dendrogramY: f,
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
- } = t, B = Object.values(((X = a.dendrogramX) == null ? void 0 : X.aes) || {}).filter(
62
- D
63
- ), U = Object.values((p == null ? void 0 : p.aes) || {}).filter(D), V = Object.values(((Y = a.dendrogramY) == null ? void 0 : Y.aes) || {}).filter(
64
- D
65
- ), H = Object.values((f == null ? void 0 : f.aes) || {}).filter(D);
66
- function i(c, E) {
67
- return c.length !== E.length || c.some((N, I) => N.value !== E[I].value);
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 !== e.value || a.yColumn.value !== r.value || a.valueColumn.value !== d.value || i(a.xGroupBy, s) || i(a.yGroupBy, h) || i(a.facetBy, m) || i(
70
- a.annotations.map((c) => c.valueColumn),
71
- g.map((c) => c.valueColumn)
72
- ) || i(B, U) || i(V, H) || (t.dendrogramX || a.dendrogramX) && (((A = a.dendrogramX) == null ? void 0 : A.distance) !== ((x = t.dendrogramX) == null ? void 0 : x.distance) || ((R = a.dendrogramX) == null ? void 0 : R.linkage) !== ((b = t.dendrogramX) == null ? void 0 : b.linkage)) || (t.dendrogramY || a.dendrogramY) && (((w = a.dendrogramY) == null ? void 0 : w.distance) !== ((G = t.dendrogramY) == null ? void 0 : G.distance) || ((T = a.dendrogramY) == null ? void 0 : T.linkage) !== ((j = t.dendrogramY) == null ? void 0 : j.linkage)) || a.chartSettings.valueType !== u.valueType || a.facetSettings.sharedX !== C.sharedX || a.facetSettings.sharedY !== C.sharedY || ((k = a.normalization) == null ? void 0 : k.method) !== (n == null ? void 0 : n.method) || ((v = a.normalization) == null ? void 0 : v.direction) !== (n == null ? void 0 : n.direction) || a.NAValueAs !== _;
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, t) {
75
- const e = Object.keys(a.data), r = Object.keys(t.data);
76
- return a.id !== t.id || e.length !== r.length || e.some((d) => {
77
- var s;
78
- return a.data[d].length !== ((s = t.data[d]) == null ? void 0 : s.length);
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: t,
85
- valueColumn: e,
86
- xGroupBy: r,
87
- yGroupBy: d,
88
- facetBy: s,
89
- chartSettings: h,
90
- facetSettings: m,
91
- annotations: g,
92
- dendrogramX: u,
93
- dendrogramY: C,
94
- normalization: p,
95
- NAValueAs: f
96
- } = this.settings, n = L(
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
- r,
103
- d,
104
+ l,
105
+ D,
104
106
  g,
105
- u,
106
- C,
107
- p,
108
- f
109
- ), _ = M(n, u, C, m), B = h.valueType === "discrete" ? this.data.getColumnCategories(e.value) : [];
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: n,
112
- dendrogramsData: _,
113
- cellUniqValues: B
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: t,
124
- chartSettings: e,
125
- facetSettings: r,
126
- aes: d,
127
- annotations: s,
128
- dendrogramX: h,
129
- dendrogramY: m,
130
- inheritedDendrogramAes: g,
131
- normalization: u
132
- } = this.settings;
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
- h,
143
- m,
158
+ s,
159
+ l,
160
+ this.calculatedData.groupedCellsData,
161
+ u,
162
+ e,
163
+ i,
164
+ f,
144
165
  this.calculatedData.dendrogramsData,
145
- g,
166
+ D,
146
167
  this.calculatedData.cellUniqValues,
147
- u,
148
- this.onTooltipHintSwitch
168
+ g,
169
+ this.onTooltipHintSwitch,
170
+ x
149
171
  );
150
172
  }
151
173
  }
152
174
  export {
153
- ea as ChartHeatmap
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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"}
@@ -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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"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
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"}
@@ -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 p, AesRecordSchema as r, LegendPositionSchema as s, TitlePositionSchema as m } from "./common.js";
3
- const a = o.enum(["discrete", "continuous"]), e = o.object({
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: a,
5
+ type: e,
6
6
  showTitle: o.optional(o.boolean()),
7
7
  colors: o.optional(o.array(o.string()))
8
- }), u = e.extend({
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 = e.extend({
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([p, n])),
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
- }, x = o.object({
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(a),
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(), r)),
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
- x as HeatmapSettingsSchema
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":";;AAUA,MAAMA,IAAkBC,EAAE,KAAK,CAAC,YAAY,YAAY,CAAC,GAEnDC,IAA0BD,EAAE,OAAO;AAAA,EACrC,aAAaE;AAAA,EACb,MAAMH;AAAA,EACN,WAAWC,EAAE,SAASA,EAAE,SAAS;AAAA,EACjC,QAAQA,EAAE,SAASA,EAAE,MAAMA,EAAE,QAAQ,CAAC;AAC1C,CAAC,GAEKG,IAA2BF,EAAwB,OAAO;AAAA,EAC5D,MAAMD,EAAE,QAAQ,GAAG;AAAA,EACnB,UAAUA,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAAA,EAC9C,eAAeA,EAAE,SAASA,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC;AACvD,CAAC,GACKI,IAA2BH,EAAwB,OAAO;AAAA,EAC5D,MAAMD,EAAE,QAAQ,GAAG;AAAA,EACnB,UAAUA,EAAE,SAASA,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC;AAAA,EAC9C,eAAeA,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AACvD,CAAC,GAKKK,IAA2BL,EAAE,KAAK,CAAC,aAAa,kBAAkB,CAAC,GACnEM,IAA0BN,EAAE,KAAK,CAAC,WAAW,YAAY,QAAQ,CAAC,GAKlEO,IAAmBP,EAAE,OAAO;AAAA,EAC9B,MAAMA,EAAE,SAASA,EAAE,QAAQ;AAAA,EAC3B,UAAUA,EAAE,SAASK,CAAwB;AAAA,EAC7C,SAASL,EAAE,SAASM,CAAuB;AAAA,EAC3C,WAAWN,EAAE,SAASA,EAAE,SAAS;AAAA,EACjC,iBAAiBA,EAAE,SAASA,EAAE,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;AAAA,EAClD,QAAQA,EAAE,SAASA,EAAE,QAAQ;AAAA,EAC7B,QAAQA,EAAE,SAASA,EAAE,SAAS;AAAA,EAC9B,KAAKA,EAAE,SAASA,EAAE,OAAO;AAAA,IACrB,WAAWA,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,OAAA,GAAUE,CAAgB,CAAC,CAAC;AAAA,IAC7D,SAASF,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,OAAA,GAAUE,CAAgB,CAAC,CAAC;AAAA,IAC3D,UAAUF,EAAE,SAASA,EAAE,MAAM,CAACQ,GAAkBN,CAAgB,CAAC,CAAC;AAAA,IAClE,SAASF,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,OAAA,GAAUE,CAAgB,CAAC,CAAC;AAAA,IAC3D,WAAWF,EAAE,SAASA,EAAE,MAAM,CAACS,GAAiBP,CAAgB,CAAC,CAAC;AAAA,IAClE,WAAWF,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,UAAUE,CAAgB,CAAC,CAAC;AAAA,EAAA,CAChE,CAAC;AACN,CAAC,GAEKQ,IAAoBH,EAAiB,OAAO;AAAA,EAC9C,UAAUP,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAClD,CAAC,GACKW,IAAoBJ,EAAiB,OAAO;AAAA,EAC9C,UAAUP,EAAE,SAASA,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC;AAClD,CAAC,GAEKY,IAAmB;AAAA,EACrB,OAAOZ,EAAE,SAASA,EAAE,QAAQ;AAAA,EAC5B,WAAWA,EAAE,SAASA,EAAE,SAAS;AAAA,EACjC,WAAWA,EAAE,SAASA,EAAE,SAAS;AAAA,EACjC,gBAAgBA,EAAE,SAASA,EAAE,SAAS;AAAA,EACtC,iBAAiBA,EAAE,SAASA,EAAE,SAAS;AAAA,EACvC,iBAAiBA,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,GAAGA,EAAE,QAAQ,EAAE,GAAGA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAAA,EACjF,kBAAkBA,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,GAAGA,EAAE,QAAQ,EAAE,GAAGA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACtF,GAEaa,IAAwBb,EAAE,OAAO;AAAA,EAC1C,MAAMA,EAAE,QAAQ,SAAS;AAAA,EACzB,OAAOA,EAAE,OAAO;AAAA,IACZ,MAAMA,EAAE,OAAA;AAAA,IACR,MAAMA,EAAE,SAASA,EAAE,SAAS;AAAA,IAC5B,UAAUA,EAAE,SAASc,CAAmB;AAAA,EAAA,CAC3C;AAAA,EACD,UAAUd,EAAE;AAAA,IACRA,EAAE,OAAO;AAAA,MACL,MAAMA,EAAE,SAASA,EAAE,SAAS;AAAA,MAC5B,SAASA,EAAE,SAASA,EAAE,MAAME,CAAgB,CAAC;AAAA,IAAA,CAChD;AAAA,EAAA;AAAA,EAEL,WAAWF,EAAE,SAASD,CAAe;AAAA,EACrC,MAAMC,EAAE;AAAA,IACJA,EAAE,OAAO;AAAA,MACL,OAAOA,EAAE,SAASA,EAAE,QAAQ;AAAA,MAC5B,QAAQA,EAAE,SAASA,EAAE,QAAQ;AAAA,IAAA,CAChC;AAAA,EAAA;AAAA,EAEL,QAAQA,EAAE;AAAA,IACNA,EAAE,OAAO;AAAA,MACL,MAAMA,EAAE,SAASA,EAAE,SAAS;AAAA,MAC5B,UAAUA,EAAE,SAASe,CAAoB;AAAA,IAAA,CAC5C;AAAA,EAAA;AAAA,EAEL,OAAOf,EAAE,SAASA,EAAE,OAAO,EAAC,MAAMA,EAAE,SAASA,EAAE,KAAK,CAAC,QAAQ,UAAU,MAAM,CAAC,CAAC,EAAA,CAAE,CAAC;AAAA,EAClF,OAAOA,EAAE,SAASA,EAAE,OAAO;AAAA,IACvB,GAAGY;AAAA,IACH,SAASZ,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAAA,IAC3C,UAAUA,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAAA,IAC9C,kBAAkBA,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAAA,EAAA,CACzD,CAAC;AAAA,EACF,OAAOA,EAAE,SAASA,EAAE,OAAO;AAAA,IACvB,GAAGY;AAAA,IACH,SAASZ,EAAE,SAASA,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAAA,IAC3C,UAAUA,EAAE,SAASA,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC;AAAA,IAC9C,kBAAkBA,EAAE,SAASA,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC;AAAA,EAAA,CACzD,CAAC;AAAA,EACF,eAAeA,EAAE,SAASA,EAAE,OAAO;AAAA,IAC/B,SAASA,EAAE,SAASA,EAAE,SAAS;AAAA,IAC/B,SAASA,EAAE,SAASA,EAAE,SAAS;AAAA,IAC/B,OAAOA,EAAE,SAASA,EAAE,QAAQ;AAAA,IAC5B,OAAOA,EAAE,SAASA,EAAE,QAAQ;AAAA,EAAA,CAC/B,CAAC;AAAA,EACF,SAASE;AAAA,EACT,SAASA;AAAA,EACT,aAAaA;AAAA,EACb,UAAUF,EAAE,SAASA,EAAE,MAAME,CAAgB,CAAC;AAAA,EAC9C,UAAUF,EAAE,SAASA,EAAE,MAAME,CAAgB,CAAC;AAAA,EAC9C,SAASF,EAAE,SAASA,EAAE,MAAME,CAAgB,CAAC;AAAA,EAC7C,eAAeF,EAAE,SAASA,EAAE,OAAO;AAAA,IAC/B,WAAWA,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC;AAAA,IACnC,QAAQA,EAAE,KAAK,CAAC,mBAAmB,mBAAmB,CAAC;AAAA,IACvD,YAAYA,EAAE,SAASA,EAAE,MAAMA,EAAE,QAAQ,CAAC;AAAA,EAAA,CAC7C,CAAC;AAAA,EACF,aAAaA,EAAE,SAASA,EAAE,MAAMA,EAAE,MAAM,CAACG,GAA0BC,CAAwB,CAAC,CAAC,CAAC;AAAA,EAC9F,aAAaJ,EAAE,SAASU,CAAiB;AAAA,EACzC,aAAaV,EAAE,SAASW,CAAiB;AAAA,EACzC,wBAAwBX,EAAE,SAASA,EAAE,OAAOA,EAAE,UAAUgB,CAAe,CAAC;AAAA,EACxE,WAAWhB,EAAE,SAASA,EAAE,MAAM,CAACA,EAAE,UAAUA,EAAE,KAAA,CAAM,CAAC,CAAC;AAAA,EACrD,KAAKA,EAAE,SAASA,EAAE,OAAO;AAAA,IACrB,YAAYA,EAAE,SAASA,EAAE,MAAMA,EAAE,OAAA,CAAQ,CAAC;AAAA,IAC1C,WAAWA,EAAE,SAASA,EAAE,OAAOA,EAAE,OAAA,CAAQ,CAAC;AAAA,IAC1C,aAAaA,EAAE,SAASA,EAAE,MAAMA,EAAE,OAAA,CAAQ,CAAC;AAAA,IAC3C,gBAAgBA,EAAE,SAASA,EAAE,MAAMA,EAAE,OAAA,CAAQ,CAAC;AAAA,IAC9C,iBAAiBA,EAAE,SAASA,EAAE,QAAQ;AAAA,IACtC,gBAAgBA,EAAE,SAASA,EAAE,QAAQ;AAAA,IACrC,UAAUA,EAAE,SAASA,EAAE,QAAQ;AAAA,IAC/B,SAASA,EAAE,SAASA,EAAE,QAAQ;AAAA,EAAA,CACjC,CAAC;AACN,CAAC;"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/miplots4",
3
- "version": "1.0.143",
3
+ "version": "1.0.144",
4
4
  "description": "Data visualization library",
5
5
  "author": "erohinaelena",
6
6
  "license": "ISC",