@milaboratories/miplots4 1.0.130 → 1.0.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/scatterplot/ScatterplotSettingsImpl.js +28 -28
  2. package/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
  3. package/dist/scatterplot/components/ChartTooltip.d.ts.map +1 -1
  4. package/dist/scatterplot/components/ChartTooltip.js +42 -40
  5. package/dist/scatterplot/components/ChartTooltip.js.map +1 -1
  6. package/dist/scatterplot/dots.d.ts.map +1 -1
  7. package/dist/scatterplot/dots.js +24 -22
  8. package/dist/scatterplot/dots.js.map +1 -1
  9. package/dist/scatterplot/utils/formatColumnValue.d.ts +5 -0
  10. package/dist/scatterplot/utils/formatColumnValue.d.ts.map +1 -0
  11. package/dist/scatterplot/utils/formatColumnValue.js +11 -0
  12. package/dist/scatterplot/utils/formatColumnValue.js.map +1 -0
  13. package/dist/scatterplot-umap/SettingsImpl.js +25 -25
  14. package/dist/scatterplot-umap/SettingsImpl.js.map +1 -1
  15. package/dist/scatterplot-umap/components/LowerSVG.d.ts.map +1 -1
  16. package/dist/scatterplot-umap/components/LowerSVG.js +88 -86
  17. package/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
  18. package/dist/scatterplot-umap/index.d.ts.map +1 -1
  19. package/dist/scatterplot-umap/index.js +79 -77
  20. package/dist/scatterplot-umap/index.js.map +1 -1
  21. package/dist/types/bubble.d.ts +32 -0
  22. package/dist/types/bubble.d.ts.map +1 -1
  23. package/dist/types/common.d.ts +18 -0
  24. package/dist/types/common.d.ts.map +1 -1
  25. package/dist/types/common.js +2 -0
  26. package/dist/types/common.js.map +1 -1
  27. package/dist/types/dendro.d.ts +103 -0
  28. package/dist/types/dendro.d.ts.map +1 -1
  29. package/dist/types/discrete.d.ts +85 -8
  30. package/dist/types/discrete.d.ts.map +1 -1
  31. package/dist/types/heatmap.d.ts +159 -0
  32. package/dist/types/heatmap.d.ts.map +1 -1
  33. package/dist/types/histogram.d.ts +22 -0
  34. package/dist/types/histogram.d.ts.map +1 -1
  35. package/dist/types/scatterplot-umap.d.ts +138 -0
  36. package/dist/types/scatterplot-umap.d.ts.map +1 -1
  37. package/dist/types/scatterplot.d.ts +152 -0
  38. package/dist/types/scatterplot.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -1,21 +1,21 @@
1
- var c = Object.defineProperty;
2
- var u = (r, e, t) => e in r ? c(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
- var o = (r, e, t) => u(r, typeof e != "symbol" ? e + "" : e, t);
4
- import d from "../node_modules/lodash/lodash.js";
5
- import { DEFAULT_HEIGHT_SMALL as m, DEFAULT_HEIGHT as y, DEFAULT_WIDTH_SMALL as f, DEFAULT_WIDTH as n, BLACK as l } from "../constants.js";
1
+ var d = Object.defineProperty;
2
+ var m = (t, e, r) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var o = (t, e, r) => m(t, typeof e != "symbol" ? e + "" : e, r);
4
+ import y from "../node_modules/lodash/lodash.js";
5
+ import { DEFAULT_HEIGHT_SMALL as f, DEFAULT_HEIGHT as n, DEFAULT_WIDTH_SMALL as S, DEFAULT_WIDTH as s, BLACK as i } from "../constants.js";
6
6
  import "../types/common.js";
7
7
  import "../types/discrete.js";
8
- import { ScatterplotSettingsSchema as S } from "../types/scatterplot.js";
8
+ import { ScatterplotSettingsSchema as A } from "../types/scatterplot.js";
9
9
  import "../types/heatmap.js";
10
10
  import "../types/dendro.js";
11
11
  import "../types/histogram.js";
12
12
  import "../types/bubble.js";
13
- import { exhaustive as s } from "../utils/index.js";
14
- class A {
13
+ import { exhaustive as w } from "../utils/index.js";
14
+ class x {
15
15
  constructor(e) {
16
16
  o(this, "type", "dots");
17
17
  o(this, "aes", {
18
- dotFill: l,
18
+ dotFill: i,
19
19
  dotShape: "21",
20
20
  dotSize: 3,
21
21
  opacity: 1
@@ -26,12 +26,12 @@ class A {
26
26
  };
27
27
  }
28
28
  }
29
- class x {
29
+ class L {
30
30
  constructor(e) {
31
31
  o(this, "type", "curve");
32
32
  o(this, "smoothing");
33
33
  o(this, "aes", {
34
- lineColor: l,
34
+ lineColor: i,
35
35
  lineWidth: 1,
36
36
  lineShape: "solid",
37
37
  opacity: 1
@@ -42,7 +42,7 @@ class x {
42
42
  };
43
43
  }
44
44
  }
45
- class I {
45
+ class F {
46
46
  constructor(e) {
47
47
  o(this, "id");
48
48
  o(this, "type", "scatterplot");
@@ -58,11 +58,11 @@ class I {
58
58
  o(this, "inheritedAes");
59
59
  o(this, "trend");
60
60
  o(this, "layers");
61
- var t, h, a, p;
62
- S.parse(e), this.id = d.uniqueId("settings"), this.keyColumn = e.keyColumn, this.facetSettings = { sharedX: !0, sharedY: !0, titlePosition: "left", ...e.facetSettings }, this.x = e.x, this.y = e.y, this.facetBy = e.facetBy ?? [], this.grouping = e.grouping ?? [], this.label = e.label ?? null, this.highlight = e.highlight ?? null, this.chartSettings = {
61
+ var r, h, a, p, c, u;
62
+ A.parse(e), this.id = y.uniqueId("settings"), this.keyColumn = e.keyColumn, this.facetSettings = { sharedX: !0, sharedY: !0, titlePosition: "left", ...e.facetSettings }, this.x = e.x, this.y = e.y, this.facetBy = e.facetBy ?? [], this.grouping = e.grouping ?? [], this.label = e.label ?? null, this.highlight = e.highlight ?? null, this.chartSettings = {
63
63
  size: {
64
- width: ((t = e == null ? void 0 : e.size) == null ? void 0 : t.width) ?? (this.facetBy.length ? f : n),
65
- height: ((h = e == null ? void 0 : e.size) == null ? void 0 : h.height) ?? (this.facetBy.length ? m : y)
64
+ width: ((r = e == null ? void 0 : e.size) == null ? void 0 : r.width) ?? (this.facetBy.length ? S : s),
65
+ height: ((h = e == null ? void 0 : e.size) == null ? void 0 : h.height) ?? (this.facetBy.length ? f : n)
66
66
  },
67
67
  title: {
68
68
  position: "center",
@@ -91,24 +91,24 @@ class I {
91
91
  ...e.legend
92
92
  },
93
93
  tooltips: {
94
- show: !0,
95
- ...e.tooltips
94
+ ...e.tooltips,
95
+ show: ((c = e.tooltips) == null ? void 0 : c.show) !== !1 && (((u = e.tooltips) == null ? void 0 : u.content) ?? []).length > 0
96
96
  }
97
97
  }, this.inheritedAes = e.inheritedAes ?? {}, this.trend = e != null && e.trend ? {
98
98
  bounded: e.trend.bounded ?? !1,
99
- color: e.trend.color ?? l
100
- } : null, this.layers = e.layers.map((i) => {
101
- if (i.type === "dots")
102
- return new A(i);
103
- if (i.type === "curve")
104
- return new x(i);
105
- s(i, "Unknown layer type");
99
+ color: e.trend.color ?? i
100
+ } : null, this.layers = e.layers.map((l) => {
101
+ if (l.type === "dots")
102
+ return new x(l);
103
+ if (l.type === "curve")
104
+ return new L(l);
105
+ w(l, "Unknown layer type");
106
106
  }).filter(Boolean);
107
107
  }
108
108
  }
109
109
  export {
110
- x as CurveLayer,
111
- A as DotsLayer,
112
- I as ScatterplotSettingsImpl
110
+ L as CurveLayer,
111
+ x as DotsLayer,
112
+ F as ScatterplotSettingsImpl
113
113
  };
114
114
  //# sourceMappingURL=ScatterplotSettingsImpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterplotSettingsImpl.js","sources":["../../src/scatterplot/ScatterplotSettingsImpl.ts"],"sourcesContent":["import lodash from 'lodash';\nimport { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AxisSettings,\n ColumnName,\n ContinuousAesFromColumn,\n FrameType,\n InheritAesScatterplot,\n LegendPosition,\n LineShape,\n CurveLayer as OuterCurveLayer,\n DotsLayer as OuterDotsLayer,\n PointShape,\n ScatterplotSettings,\n SettingsInterface,\n TitlePosition,\n} from '../types';\nimport { type AesRecord, ScatterplotSettingsSchema } from '../types';\nimport { exhaustive } from '../utils';\n\nexport class DotsLayer {\n readonly type = 'dots';\n readonly aes: {\n dotFill: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n dotShape: PointShape | InheritAesScatterplot;\n dotSize: number | ContinuousAesFromColumn<number>;\n opacity: number;\n } = {\n dotFill: BLACK,\n dotShape: '21',\n dotSize: 3,\n opacity: 1,\n };\n\n constructor(layer: OuterDotsLayer) {\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\n\nexport class CurveLayer {\n readonly type = 'curve';\n readonly smoothing: boolean;\n readonly aes: {\n lineColor: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterCurveLayer) {\n this.smoothing = layer.smoothing ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\n\nexport type ScatterplotLayer = DotsLayer | CurveLayer;\n\nexport interface ScatterplotAxisSettings extends AxisSettings {\n title: string | ColumnName;\n}\n\nexport class ScatterplotSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'scatterplot';\n readonly keyColumn: ColumnName;\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n nRows?: number;\n nCols?: number;\n titlePosition: 'left' | 'center' | 'right';\n };\n readonly x: ColumnName;\n readonly y: ColumnName;\n readonly facetBy: ColumnName[];\n readonly grouping: ColumnName[];\n readonly label: ColumnName | null;\n readonly highlight: ColumnName | null;\n readonly chartSettings: {\n readonly size: {width: number; height: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly yAxis: ScatterplotAxisSettings;\n readonly xAxis: ScatterplotAxisSettings;\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {show: boolean; content?: ColumnName[]};\n };\n readonly inheritedAes: Record<string, AesRecord>;\n\n readonly trend: {\n bounded: boolean;\n color: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n } | null;\n\n readonly layers: ScatterplotLayer[];\n\n constructor(settings: ScatterplotSettings) {\n ScatterplotSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.keyColumn = settings.keyColumn;\n this.facetSettings = {sharedX: true, sharedY: true, titlePosition: 'left', ...settings.facetSettings};\n this.x = settings.x;\n this.y = settings.y;\n this.facetBy = settings.facetBy ?? [];\n this.grouping = settings.grouping ?? [];\n this.label = settings.label ?? null;\n this.highlight = settings.highlight ?? null;\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n yAxis: {\n title: settings.y.label ?? settings.y.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.x.label ?? settings.x.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n show: true,\n ...settings.tooltips,\n },\n };\n\n this.inheritedAes = settings.inheritedAes ?? {};\n this.trend = settings?.trend\n ? {\n bounded: settings.trend.bounded ?? false,\n color: settings.trend.color ?? BLACK,\n }\n : null;\n\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'dots') {\n return new DotsLayer(layer);\n }\n if (layer.type === 'curve') {\n return new CurveLayer(layer);\n }\n exhaustive(layer, 'Unknown layer type');\n })\n .filter(Boolean) as ScatterplotLayer[];\n }\n}\n"],"names":["DotsLayer","layer","__publicField","BLACK","CurveLayer","ScatterplotSettingsImpl","settings","ScatterplotSettingsSchema","lodash","_a","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","_b","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","_c","_d","exhaustive"],"mappings":";;;;;;;;;;;;;AAoBO,MAAMA,EAAU;AAAA,EAcnB,YAAYC,GAAuB;AAb1B,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,aAKL;AAAA,MACA,SAASC;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,IAAA;AAIT,SAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGF,EAAM;AAAA,IAAA;AAAA,EAEjB;AACJ;AAEO,MAAMG,EAAW;AAAA,EAepB,YAAYH,GAAwB;AAd3B,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA,aAKL;AAAA,MACA,WAAWC;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAIT,SAAK,YAAYF,EAAM,aAAa,IACpC,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AACJ;AAQO,MAAMI,EAAqD;AAAA,EAmC9D,YAAYC,GAA+B;AAlClC,IAAAJ,EAAA;AACA,IAAAA,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AAOA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AASA,IAAAA,EAAA;AAEA,IAAAA,EAAA;AAKA,IAAAA,EAAA;;AAGL,IAAAK,EAA0B,MAAMD,CAAQ,GACxC,KAAK,KAAKE,EAAO,SAAS,UAAU,GACpC,KAAK,YAAYF,EAAS,WAC1B,KAAK,gBAAgB,EAAC,SAAS,IAAM,SAAS,IAAM,eAAe,QAAQ,GAAGA,EAAS,cAAA,GACvF,KAAK,IAAIA,EAAS,GAClB,KAAK,IAAIA,EAAS,GAClB,KAAK,UAAUA,EAAS,WAAW,CAAA,GACnC,KAAK,WAAWA,EAAS,YAAY,CAAA,GACrC,KAAK,QAAQA,EAAS,SAAS,MAC/B,KAAK,YAAYA,EAAS,aAAa,MACvC,KAAK,gBAAgB;AAAA,MACjB,MAAM;AAAA,QACF,SAAOG,IAAAH,KAAA,gBAAAA,EAAU,SAAV,gBAAAG,EAAgB,WAAU,KAAK,QAAQ,SAASC,IAAsBC;AAAA,QAC7E,UAAQC,IAAAN,KAAA,gBAAAA,EAAU,SAAV,gBAAAM,EAAgB,YAAW,KAAK,QAAQ,SAASC,IAAuBC;AAAA,MAAA;AAAA,MAEpF,OAAO;AAAA,QACH,UAAU;AAAA,QACV,MAAM;AAAA,QACN,GAAGR,EAAS;AAAA,QACZ,QAAMS,IAAAT,EAAS,UAAT,gBAAAS,EAAgB,SAAQ;AAAA,MAAA;AAAA,MAElC,OAAO;AAAA,QACH,OAAOT,EAAS,EAAE,SAASA,EAAS,EAAE;AAAA,QACtC,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,GAAGA,EAAS;AAAA,MAAA;AAAA,MAEhB,OAAO;AAAA,QACH,OAAOA,EAAS,EAAE,SAASA,EAAS,EAAE;AAAA,QACtC,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,GAAGA,EAAS;AAAA,MAAA;AAAA,MAEhB,OAAO,EAAC,QAAMU,IAAAV,EAAS,UAAT,gBAAAU,EAAgB,SAAQ,OAAA;AAAA,MACtC,QAAQ;AAAA,QACJ,MAAM;AAAA,QACN,UAAU;AAAA,QACV,GAAGV,EAAS;AAAA,MAAA;AAAA,MAEhB,UAAU;AAAA,QACN,MAAM;AAAA,QACN,GAAGA,EAAS;AAAA,MAAA;AAAA,IAChB,GAGJ,KAAK,eAAeA,EAAS,gBAAgB,CAAA,GAC7C,KAAK,QAAQA,KAAA,QAAAA,EAAU,QACjB;AAAA,MACI,SAASA,EAAS,MAAM,WAAW;AAAA,MACnC,OAAOA,EAAS,MAAM,SAASH;AAAA,IAAA,IAEnC,MAEN,KAAK,SAASG,EAAS,OAClB,IAAI,CAAAL,MAAS;AACV,UAAIA,EAAM,SAAS;AACf,eAAO,IAAID,EAAUC,CAAK;AAE9B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIG,EAAWH,CAAK;AAE/B,MAAAgB,EAAWhB,GAAO,oBAAoB;AAAA,IAC1C,CAAC,EACA,OAAO,OAAO;AAAA,EACvB;AACJ;"}
1
+ {"version":3,"file":"ScatterplotSettingsImpl.js","sources":["../../src/scatterplot/ScatterplotSettingsImpl.ts"],"sourcesContent":["import lodash from 'lodash';\nimport { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AxisSettings,\n ColumnName,\n ContinuousAesFromColumn,\n FrameType,\n InheritAesScatterplot,\n LegendPosition,\n LineShape,\n CurveLayer as OuterCurveLayer,\n DotsLayer as OuterDotsLayer,\n PointShape,\n ScatterplotSettings,\n SettingsInterface,\n TitlePosition,\n} from '../types';\nimport { type AesRecord, ScatterplotSettingsSchema } from '../types';\nimport { exhaustive } from '../utils';\n\nexport class DotsLayer {\n readonly type = 'dots';\n readonly aes: {\n dotFill: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n dotShape: PointShape | InheritAesScatterplot;\n dotSize: number | ContinuousAesFromColumn<number>;\n opacity: number;\n } = {\n dotFill: BLACK,\n dotShape: '21',\n dotSize: 3,\n opacity: 1,\n };\n\n constructor(layer: OuterDotsLayer) {\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\n\nexport class CurveLayer {\n readonly type = 'curve';\n readonly smoothing: boolean;\n readonly aes: {\n lineColor: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterCurveLayer) {\n this.smoothing = layer.smoothing ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\n\nexport type ScatterplotLayer = DotsLayer | CurveLayer;\n\nexport interface ScatterplotAxisSettings extends AxisSettings {\n title: string | ColumnName;\n}\n\nexport class ScatterplotSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'scatterplot';\n readonly keyColumn: ColumnName;\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n nRows?: number;\n nCols?: number;\n titlePosition: 'left' | 'center' | 'right';\n };\n readonly x: ColumnName;\n readonly y: ColumnName;\n readonly facetBy: ColumnName[];\n readonly grouping: ColumnName[];\n readonly label: ColumnName | null;\n readonly highlight: ColumnName | null;\n readonly chartSettings: {\n readonly size: {width: number; height: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly yAxis: ScatterplotAxisSettings;\n readonly xAxis: ScatterplotAxisSettings;\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {show: boolean; content?: ColumnName[]};\n };\n readonly inheritedAes: Record<string, AesRecord>;\n\n readonly trend: {\n bounded: boolean;\n color: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n } | null;\n\n readonly layers: ScatterplotLayer[];\n\n constructor(settings: ScatterplotSettings) {\n ScatterplotSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.keyColumn = settings.keyColumn;\n this.facetSettings = {sharedX: true, sharedY: true, titlePosition: 'left', ...settings.facetSettings};\n this.x = settings.x;\n this.y = settings.y;\n this.facetBy = settings.facetBy ?? [];\n this.grouping = settings.grouping ?? [];\n this.label = settings.label ?? null;\n this.highlight = settings.highlight ?? null;\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n yAxis: {\n title: settings.y.label ?? settings.y.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.x.label ?? settings.x.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n ...settings.tooltips,\n show: !(settings.tooltips?.show === false) && (settings.tooltips?.content ?? []).length > 0,\n },\n };\n\n this.inheritedAes = settings.inheritedAes ?? {};\n this.trend = settings?.trend\n ? {\n bounded: settings.trend.bounded ?? false,\n color: settings.trend.color ?? BLACK,\n }\n : null;\n\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'dots') {\n return new DotsLayer(layer);\n }\n if (layer.type === 'curve') {\n return new CurveLayer(layer);\n }\n exhaustive(layer, 'Unknown layer type');\n })\n .filter(Boolean) as ScatterplotLayer[];\n }\n}\n"],"names":["DotsLayer","layer","__publicField","BLACK","CurveLayer","ScatterplotSettingsImpl","settings","ScatterplotSettingsSchema","lodash","_a","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","_b","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","_c","_d","_e","_f","exhaustive"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChartTooltip.d.ts","sourceRoot":"","sources":["../../../src/scatterplot/components/ChartTooltip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,KAAK,EACR,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,OAAO,EACV,MAAM,SAAS,CAAC;AAEjB,UAAU,KAAK;IACX,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,mBAAmB,CAAC;IAC5C,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/D,UAAU,EAAE,UAAU,CAAC;CAC1B;AAID,eAAO,MAAM,YAAY,2HAQtB,KAAK,oDA6CN,CAAC"}
1
+ {"version":3,"file":"ChartTooltip.d.ts","sourceRoot":"","sources":["../../../src/scatterplot/components/ChartTooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,KAAK,EACR,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,OAAO,EACV,MAAM,SAAS,CAAC;AAEjB,UAAU,KAAK;IACX,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,mBAAmB,CAAC;IAC5C,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/D,UAAU,EAAE,UAAU,CAAC;CAC1B;AAID,eAAO,MAAM,YAAY,2HAQtB,KAAK,oDA6CN,CAAC"}
@@ -1,59 +1,61 @@
1
- import { j as u } from "../../node_modules/react/jsx-runtime.js";
2
- import { r as x } from "../../_virtual/index.js";
3
- import { Tooltip as m } from "../../common/Tooltip.js";
1
+ import { j as l } from "../../node_modules/react/jsx-runtime.js";
2
+ import { r as c } from "../../_virtual/index.js";
3
+ import { Tooltip as n } from "../../common/Tooltip.js";
4
4
  import { useDataFrame as p } from "../../common/useDataFrame.js";
5
- import { numberFormat as c } from "../../utils/numberFormat.js";
6
- import { ChartDot as b } from "./ChartLayersData.js";
7
- const $ = { left: 0, right: 0, top: 0, bottom: 0 }, D = x.memo(({
8
- tooltipsData: e,
9
- tooltips: r,
10
- keyColumn: a,
5
+ import { formatColumnValue as g } from "../utils/formatColumnValue.js";
6
+ import { ChartDot as d } from "./ChartLayersData.js";
7
+ import { format as C } from "../../node_modules/d3-format/src/defaultLocale.js";
8
+ const j = { left: 0, right: 0, top: 0, bottom: 0 }, w = c.memo(({
9
+ tooltipsData: r,
10
+ tooltips: a,
11
+ keyColumn: m,
11
12
  chartSizes: o,
12
13
  dimensions: t,
13
- scales: l,
14
- aesGetters: h
14
+ scales: f,
15
+ aesGetters: u
15
16
  }) => {
16
- const g = p(), f = t == null ? void 0 : t.padding, n = x.useMemo(() => !t || !l || !f ? $ : {
17
- left: t.left + f.left,
18
- right: o.totalWidth - (t.left + f.left),
19
- top: t.top + f.top,
20
- bottom: o.totalHeight - (t.top + f.top)
21
- }, [t, f, o]);
22
- return !t || !l || !f || !e.selectedData || !r.show ? null : /* @__PURE__ */ u.jsxs(u.Fragment, { children: [
23
- e.fixed && /* @__PURE__ */ u.jsxs("g", { transform: `translate(${t.left + f.left}, ${t.top + f.top})`, children: [
24
- /* @__PURE__ */ u.jsx("rect", { width: o.chartWidth, height: o.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
25
- /* @__PURE__ */ u.jsx(
26
- b,
17
+ const x = p(), e = t == null ? void 0 : t.padding, h = c.useMemo(() => !t || !f || !e ? j : {
18
+ left: t.left + e.left,
19
+ right: o.totalWidth - (t.left + e.left),
20
+ top: t.top + e.top,
21
+ bottom: o.totalHeight - (t.top + e.top)
22
+ }, [t, e, o]);
23
+ return !t || !f || !e || !r.selectedData || !a.show ? null : /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
24
+ r.fixed && /* @__PURE__ */ l.jsxs("g", { transform: `translate(${t.left + e.left}, ${t.top + e.top})`, children: [
25
+ /* @__PURE__ */ l.jsx("rect", { width: o.chartWidth, height: o.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
26
+ /* @__PURE__ */ l.jsx(
27
+ d,
27
28
  {
28
- dot: e.selectedData,
29
- scales: l,
30
- aesGetters: h
29
+ dot: r.selectedData,
30
+ scales: f,
31
+ aesGetters: u
31
32
  }
32
33
  )
33
34
  ] }),
34
- /* @__PURE__ */ u.jsx(
35
- m,
35
+ /* @__PURE__ */ l.jsx(
36
+ n,
36
37
  {
37
- content: j(g, e.selectedData, a, r == null ? void 0 : r.content),
38
- x: l.x(e.selectedData.x),
39
- y: l.y(e.selectedData.y),
38
+ content: E(x, r.selectedData, a == null ? void 0 : a.content),
39
+ x: f.x(r.selectedData.x),
40
+ y: f.y(r.selectedData.y),
40
41
  active: !0,
41
- sideDistances: n,
42
- fixed: e.fixed,
43
- onClose: e.onClose,
42
+ sideDistances: h,
43
+ fixed: r.fixed,
44
+ onClose: r.onClose,
44
45
  container: null
45
46
  }
46
47
  )
47
48
  ] });
48
49
  });
49
- function j(e, r, a, o = []) {
50
- const t = [`x: ${c(r.x)}`, `y: ${c(r.y)}`];
51
- a.label && t.unshift(`${a.label}: ${e.getColumnValue(a.value, r.idx)}`);
52
- for (const l of o)
53
- t.push(`${l.label}: ${e.getColumnValue(l.valueLabels ?? l.value, r.idx)}`);
54
- return t;
50
+ function E(r, a, m = []) {
51
+ const o = [];
52
+ for (const t of m) {
53
+ const f = t != null && t.format ? C(t.format) : void 0;
54
+ o.push(`${t.label}: ${g(r, a.idx, t, f)}`);
55
+ }
56
+ return o;
55
57
  }
56
58
  export {
57
- D as ChartTooltip
59
+ w as ChartTooltip
58
60
  };
59
61
  //# sourceMappingURL=ChartTooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartTooltip.js","sources":["../../../src/scatterplot/components/ChartTooltip.tsx"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport type { DataFrame } from '../../DataFrame';\nimport type { ColumnName } from '../../types';\nimport { numberFormat } from '../../utils/numberFormat';\nimport type { Dot } from '../dots';\nimport type { ScatterplotSettingsImpl } from '../ScatterplotSettingsImpl';\nimport { ChartDot } from './ChartLayersData';\nimport type {\n AesGetters,\n ChartDimensionsData,\n ChartScales,\n ChartSizes,\n Margins\n} from './types';\n\ninterface Props {\n tooltipsData: TooltipsData<Dot>;\n dimensions: undefined | ChartDimensionsData;\n scales: undefined | ChartScales;\n keyColumn: ColumnName;\n margins: Margins;\n chartSizes: ChartSizes;\n tooltips: ScatterplotSettingsImpl['chartSettings']['tooltips'];\n aesGetters: AesGetters;\n}\n\nconst ZERO_SIDE_DISTANCES = { left: 0, right: 0, top: 0, bottom: 0 };\n\nexport const ChartTooltip = memo(({\n tooltipsData,\n tooltips,\n keyColumn,\n chartSizes,\n dimensions,\n scales,\n aesGetters,\n}: Props) => {\n const dataFrame = useDataFrame();\n const padding = dimensions?.padding;\n\n const sideDistances = useMemo(() => {\n if (!dimensions || !scales || !padding) {\n return ZERO_SIDE_DISTANCES;\n }\n\n return ({\n left: dimensions.left + padding.left,\n right: chartSizes.totalWidth - (dimensions.left + padding.left),\n top: dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (dimensions.top + padding.top),\n });\n }, [dimensions, padding, chartSizes]);\n\n if (!dimensions || !scales || !padding || !tooltipsData.selectedData || !tooltips.show) {\n return null;\n }\n\n return (\n <>\n {tooltipsData.fixed && \n <g transform={`translate(${dimensions.left + padding.left}, ${dimensions.top + padding.top})`}>\n <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\"/>\n <ChartDot\n dot={tooltipsData.selectedData}\n scales={scales}\n aesGetters={aesGetters}\n />\n </g>\n }\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, keyColumn, tooltips?.content)}\n x={scales.x(tooltipsData.selectedData.x)}\n y={scales.y(tooltipsData.selectedData.y)}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={null}\n />\n </>\n );\n});\n\nfunction getTooltipContent(dataFrame: DataFrame, dot: Dot, keyColumn: ColumnName, columnsList: ColumnName[] = []) {\n const lines = [`x: ${numberFormat(dot.x)}`, `y: ${numberFormat(dot.y)}`];\n if (keyColumn.label) {\n lines.unshift(`${keyColumn.label}: ${dataFrame.getColumnValue(keyColumn.value, dot.idx)}`);\n }\n for (const column of columnsList) {\n lines.push(`${column.label}: ${dataFrame.getColumnValue(column.valueLabels ?? column.value, dot.idx)}`);\n }\n return lines;\n}\n"],"names":["ZERO_SIDE_DISTANCES","ChartTooltip","memo","tooltipsData","tooltips","keyColumn","chartSizes","dimensions","scales","aesGetters","dataFrame","useDataFrame","padding","sideDistances","useMemo","jsxs","Fragment","jsx","ChartDot","Tooltip","getTooltipContent","dot","columnsList","lines","numberFormat","column"],"mappings":";;;;;;AA6BA,MAAMA,IAAsB,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAAA,GAEpDC,IAAeC,EAAAA,KAAK,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AACJ,MAAa;AACT,QAAMC,IAAYC,EAAA,GACZC,IAAUL,KAAA,gBAAAA,EAAY,SAEtBM,IAAgBC,EAAAA,QAAQ,MACtB,CAACP,KAAc,CAACC,KAAU,CAACI,IACpBZ,IAGH;AAAA,IACJ,MAAMO,EAAW,OAAOK,EAAQ;AAAA,IAChC,OAAON,EAAW,cAAcC,EAAW,OAAOK,EAAQ;AAAA,IAC1D,KAAKL,EAAW,MAAMK,EAAQ;AAAA,IAC9B,QAAQN,EAAW,eAAeC,EAAW,MAAMK,EAAQ;AAAA,EAAA,GAEhE,CAACL,GAAYK,GAASN,CAAU,CAAC;AAEpC,SAAI,CAACC,KAAc,CAACC,KAAU,CAACI,KAAW,CAACT,EAAa,gBAAgB,CAACC,EAAS,OACvE,OAIPW,gBAAAA,EAAAA,KAAAC,YAAA,EACK,UAAA;AAAA,IAAAb,EAAa,SACVY,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAaR,EAAW,OAAOK,EAAQ,IAAI,KAAKL,EAAW,MAAMK,EAAQ,GAAG,KACtF,UAAA;AAAA,MAAAK,gBAAAA,EAAAA,IAAC,QAAA,EAAK,OAAOX,EAAW,YAAY,QAAQA,EAAW,aAAa,MAAK,2BAAA,CAA0B;AAAA,MACnGW,gBAAAA,EAAAA;AAAAA,QAACC;AAAA,QAAA;AAAA,UACG,KAAKf,EAAa;AAAA,UAClB,QAAAK;AAAA,UACA,YAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ,GACJ;AAAA,IAEJQ,gBAAAA,EAAAA;AAAAA,MAACE;AAAA,MAAA;AAAA,QACG,SAASC,EAAkBV,GAAWP,EAAa,cAAcE,GAAWD,KAAA,gBAAAA,EAAU,OAAO;AAAA,QAC7F,GAAGI,EAAO,EAAEL,EAAa,aAAa,CAAC;AAAA,QACvC,GAAGK,EAAO,EAAEL,EAAa,aAAa,CAAC;AAAA,QACvC,QAAM;AAAA,QACN,eAAAU;AAAA,QACA,OAAOV,EAAa;AAAA,QACpB,SAASA,EAAa;AAAA,QACtB,WAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACf,GACJ;AAER,CAAC;AAED,SAASiB,EAAkBV,GAAsBW,GAAUhB,GAAuBiB,IAA4B,CAAA,GAAI;AAC9G,QAAMC,IAAQ,CAAC,MAAMC,EAAaH,EAAI,CAAC,CAAC,IAAI,MAAMG,EAAaH,EAAI,CAAC,CAAC,EAAE;AACvE,EAAIhB,EAAU,SACVkB,EAAM,QAAQ,GAAGlB,EAAU,KAAK,KAAKK,EAAU,eAAeL,EAAU,OAAOgB,EAAI,GAAG,CAAC,EAAE;AAE7F,aAAWI,KAAUH;AACjB,IAAAC,EAAM,KAAK,GAAGE,EAAO,KAAK,KAAKf,EAAU,eAAee,EAAO,eAAeA,EAAO,OAAOJ,EAAI,GAAG,CAAC,EAAE;AAE1G,SAAOE;AACX;"}
1
+ {"version":3,"file":"ChartTooltip.js","sources":["../../../src/scatterplot/components/ChartTooltip.tsx"],"sourcesContent":["import {format} from 'd3-format';\nimport { memo, useMemo } from 'react';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport type { DataFrame } from '../../DataFrame';\nimport type { ColumnName } from '../../types';\nimport type { Dot } from '../dots';\nimport type { ScatterplotSettingsImpl } from '../ScatterplotSettingsImpl';\nimport {formatColumnValue} from '../utils/formatColumnValue';\nimport { ChartDot } from './ChartLayersData';\nimport type {\n AesGetters,\n ChartDimensionsData,\n ChartScales,\n ChartSizes,\n Margins\n} from './types';\n\ninterface Props {\n tooltipsData: TooltipsData<Dot>;\n dimensions: undefined | ChartDimensionsData;\n scales: undefined | ChartScales;\n keyColumn: ColumnName;\n margins: Margins;\n chartSizes: ChartSizes;\n tooltips: ScatterplotSettingsImpl['chartSettings']['tooltips'];\n aesGetters: AesGetters;\n}\n\nconst ZERO_SIDE_DISTANCES = { left: 0, right: 0, top: 0, bottom: 0 };\n\nexport const ChartTooltip = memo(({\n tooltipsData,\n tooltips,\n keyColumn,\n chartSizes,\n dimensions,\n scales,\n aesGetters,\n}: Props) => {\n const dataFrame = useDataFrame();\n const padding = dimensions?.padding;\n\n const sideDistances = useMemo(() => {\n if (!dimensions || !scales || !padding) {\n return ZERO_SIDE_DISTANCES;\n }\n\n return ({\n left: dimensions.left + padding.left,\n right: chartSizes.totalWidth - (dimensions.left + padding.left),\n top: dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (dimensions.top + padding.top),\n });\n }, [dimensions, padding, chartSizes]);\n\n if (!dimensions || !scales || !padding || !tooltipsData.selectedData || !tooltips.show) {\n return null;\n }\n\n return (\n <>\n {tooltipsData.fixed && \n <g transform={`translate(${dimensions.left + padding.left}, ${dimensions.top + padding.top})`}>\n <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\"/>\n <ChartDot\n dot={tooltipsData.selectedData}\n scales={scales}\n aesGetters={aesGetters}\n />\n </g>\n }\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, tooltips?.content)}\n x={scales.x(tooltipsData.selectedData.x)}\n y={scales.y(tooltipsData.selectedData.y)}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={null}\n />\n </>\n );\n});\n\nfunction getTooltipContent(dataFrame: DataFrame, dot: Dot, columnsList: ColumnName[] = []) {\n const lines: string[] = [];\n for (const column of columnsList) {\n const columnFormatter = column?.format ? format(column.format) : undefined;\n lines.push(`${column.label}: ${formatColumnValue(dataFrame, dot.idx, column, columnFormatter)}`);\n }\n return lines;\n}\n"],"names":["ZERO_SIDE_DISTANCES","ChartTooltip","memo","tooltipsData","tooltips","keyColumn","chartSizes","dimensions","scales","aesGetters","dataFrame","useDataFrame","padding","sideDistances","useMemo","jsxs","Fragment","jsx","ChartDot","Tooltip","getTooltipContent","dot","columnsList","lines","column","columnFormatter","format","formatColumnValue"],"mappings":";;;;;;;AA8BA,MAAMA,IAAsB,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAAA,GAEpDC,IAAeC,EAAAA,KAAK,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AACJ,MAAa;AACT,QAAMC,IAAYC,EAAA,GACZC,IAAUL,KAAA,gBAAAA,EAAY,SAEtBM,IAAgBC,EAAAA,QAAQ,MACtB,CAACP,KAAc,CAACC,KAAU,CAACI,IACpBZ,IAGH;AAAA,IACJ,MAAMO,EAAW,OAAOK,EAAQ;AAAA,IAChC,OAAON,EAAW,cAAcC,EAAW,OAAOK,EAAQ;AAAA,IAC1D,KAAKL,EAAW,MAAMK,EAAQ;AAAA,IAC9B,QAAQN,EAAW,eAAeC,EAAW,MAAMK,EAAQ;AAAA,EAAA,GAEhE,CAACL,GAAYK,GAASN,CAAU,CAAC;AAEpC,SAAI,CAACC,KAAc,CAACC,KAAU,CAACI,KAAW,CAACT,EAAa,gBAAgB,CAACC,EAAS,OACvE,OAIPW,gBAAAA,EAAAA,KAAAC,YAAA,EACK,UAAA;AAAA,IAAAb,EAAa,SACVY,gBAAAA,EAAAA,KAAC,KAAA,EAAE,WAAW,aAAaR,EAAW,OAAOK,EAAQ,IAAI,KAAKL,EAAW,MAAMK,EAAQ,GAAG,KACtF,UAAA;AAAA,MAAAK,gBAAAA,EAAAA,IAAC,QAAA,EAAK,OAAOX,EAAW,YAAY,QAAQA,EAAW,aAAa,MAAK,2BAAA,CAA0B;AAAA,MACnGW,gBAAAA,EAAAA;AAAAA,QAACC;AAAA,QAAA;AAAA,UACG,KAAKf,EAAa;AAAA,UAClB,QAAAK;AAAA,UACA,YAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ,GACJ;AAAA,IAEJQ,gBAAAA,EAAAA;AAAAA,MAACE;AAAA,MAAA;AAAA,QACG,SAASC,EAAkBV,GAAWP,EAAa,cAAcC,KAAA,gBAAAA,EAAU,OAAO;AAAA,QAClF,GAAGI,EAAO,EAAEL,EAAa,aAAa,CAAC;AAAA,QACvC,GAAGK,EAAO,EAAEL,EAAa,aAAa,CAAC;AAAA,QACvC,QAAM;AAAA,QACN,eAAAU;AAAA,QACA,OAAOV,EAAa;AAAA,QACpB,SAASA,EAAa;AAAA,QACtB,WAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACf,GACJ;AAER,CAAC;AAED,SAASiB,EAAkBV,GAAsBW,GAAUC,IAA4B,CAAA,GAAI;AACvF,QAAMC,IAAkB,CAAA;AACxB,aAAWC,KAAUF,GAAa;AAC9B,UAAMG,IAAkBD,KAAA,QAAAA,EAAQ,SAASE,EAAOF,EAAO,MAAM,IAAI;AACjE,IAAAD,EAAM,KAAK,GAAGC,EAAO,KAAK,KAAKG,EAAkBjB,GAAWW,EAAI,KAAKG,GAAQC,CAAe,CAAC,EAAE;AAAA,EACnG;AACA,SAAOF;AACX;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dots.d.ts","sourceRoot":"","sources":["../../src/scatterplot/dots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,GAAG,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAC5B,MAAM,EACN;IACI,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;CACf,CACJ,CAAC;AAEF,wBAAgB,OAAO,CACnB,IAAI,EAAE,SAAS,EACf,qBAAqB,EAAE,MAAM,EAAE,EAAE,EACjC,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,SAAS,EAAE,UAAU,GAAG,IAAI,EAC5B,IAAI,EAAE,MAAM,EAAE,GACf,WAAW,CAkDb"}
1
+ {"version":3,"file":"dots.d.ts","sourceRoot":"","sources":["../../src/scatterplot/dots.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGtD,MAAM,MAAM,GAAG,GAAG;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAC5B,MAAM,EACN;IACI,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;CACf,CACJ,CAAC;AAEF,wBAAgB,OAAO,CACnB,IAAI,EAAE,SAAS,EACf,qBAAqB,EAAE,MAAM,EAAE,EAAE,EACjC,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,SAAS,EAAE,UAAU,GAAG,IAAI,EAC5B,IAAI,EAAE,MAAM,EAAE,GACf,WAAW,CAmDb"}
@@ -1,34 +1,36 @@
1
- function M(n, p, h, I, u, y, C) {
2
- const g = {};
3
- for (const v of p) {
1
+ import { formatColumnValue as V } from "./utils/formatColumnValue.js";
2
+ import { format as w } from "../node_modules/d3-format/src/defaultLocale.js";
3
+ function d(t, v, h, I, o, y, C) {
4
+ const p = {}, M = o != null && o.format ? w(o.format) : void 0;
5
+ for (const g of v) {
4
6
  const i = [];
5
- let s = 1 / 0, a = 1 / 0, m = -1 / 0, c = -1 / 0;
6
- const r = v.concat([""]);
7
- for (const f of C) {
8
- r[r.length - 1] = f;
9
- const e = n.getRowsByGrouping(r);
7
+ let u = 1 / 0, f = 1 / 0, s = -1 / 0, l = -1 / 0;
8
+ const a = g.concat([""]);
9
+ for (const c of C) {
10
+ a[a.length - 1] = c;
11
+ const e = t.getRowsByGrouping(a);
10
12
  for (let x = 0; x < e.length; x++) {
11
- const t = e[x], o = n.getColumnValue(h.value, t), l = n.getColumnValue(I.value, t);
12
- o === null && l === null || (s = Math.min(s, o), a = Math.min(a, l), m = Math.max(m, o), c = Math.max(c, l), i.push({
13
- x: o,
14
- y: l,
15
- label: u ? n.getColumnValue(u.valueLabels ?? u.value, t) : null,
16
- dimmed: y ? !n.getColumnValue(y.value, t) : !1,
17
- idx: t
13
+ const n = e[x], m = t.getColumnValue(h.value, n), r = t.getColumnValue(I.value, n);
14
+ m === null && r === null || (u = Math.min(u, m), f = Math.min(f, r), s = Math.max(s, m), l = Math.max(l, r), i.push({
15
+ x: m,
16
+ y: r,
17
+ label: V(t, n, o, M),
18
+ dimmed: y ? !t.getColumnValue(y.value, n) : !1,
19
+ idx: n
18
20
  }));
19
21
  }
20
22
  }
21
- i.sort((f, e) => f.x - e.x), g[v.join("_")] = {
22
- minX: s,
23
- maxX: m,
24
- minY: a,
25
- maxY: c,
23
+ i.sort((c, e) => c.x - e.x), p[g.join("_")] = {
24
+ minX: u,
25
+ maxX: s,
26
+ minY: f,
27
+ maxY: l,
26
28
  dots: i
27
29
  };
28
30
  }
29
- return g;
31
+ return p;
30
32
  }
31
33
  export {
32
- M as getDots
34
+ d as getDots
33
35
  };
34
36
  //# sourceMappingURL=dots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dots.js","sources":["../../src/scatterplot/dots.ts"],"sourcesContent":["import type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue } from '../types';\n\nexport type Dot = {\n idx: number;\n x: number;\n y: number;\n label: DataValue | null;\n dimmed: boolean;\n};\n\nexport type GroupedDots = Record<\n string,\n {\n minX: number;\n maxX: number;\n minY: number;\n maxY: number;\n dots: Dot[];\n }\n>;\n\nexport function getDots(\n data: DataFrame,\n facetKeysCombinations: string[][],\n x: ColumnName,\n y: ColumnName,\n label: ColumnName | null,\n highlight: ColumnName | null,\n keys: string[]\n): GroupedDots {\n const result: GroupedDots = {};\n\n for (const facetKeys of facetKeysCombinations) {\n const dots: Dot[] = [];\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n\n const templateGroupPath = facetKeys.concat(['']);\n\n for (const primaryKey of keys) {\n templateGroupPath[templateGroupPath.length - 1] = primaryKey;\n const rows = data.getRowsByGrouping(templateGroupPath);\n\n for (let i = 0; i < rows.length; i++) {\n const rowIdx = rows[i];\n const valueX = data.getColumnValue(x.value, rowIdx) as number;\n const valueY = data.getColumnValue(y.value, rowIdx) as number;\n\n if (valueX === null && valueY === null) continue;\n\n minX = Math.min(minX, valueX);\n minY = Math.min(minY, valueY);\n maxX = Math.max(maxX, valueX);\n maxY = Math.max(maxY, valueY);\n \n dots.push({\n x: valueX,\n y: valueY,\n label: label ? data.getColumnValue(label.valueLabels??label.value, rowIdx) : null,\n dimmed: highlight ? !data.getColumnValue(highlight.value, rowIdx) : false,\n idx: rowIdx\n });\n }\n }\n\n dots.sort((d1, d2) => d1.x - d2.x);\n\n result[facetKeys.join('_')] = {\n minX,\n maxX,\n minY,\n maxY,\n dots,\n };\n }\n\n return result;\n}\n"],"names":["getDots","data","facetKeysCombinations","x","y","label","highlight","keys","result","facetKeys","dots","minX","minY","maxX","maxY","templateGroupPath","primaryKey","rows","i","rowIdx","valueX","valueY","d1","d2"],"mappings":"AAsBO,SAASA,EACZC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACW;AACX,QAAMC,IAAsB,CAAA;AAE5B,aAAWC,KAAaP,GAAuB;AAC3C,UAAMQ,IAAc,CAAA;AACpB,QAAIC,IAAO,OACPC,IAAO,OACPC,IAAO,QACPC,IAAO;AAEX,UAAMC,IAAoBN,EAAU,OAAO,CAAC,EAAE,CAAC;AAE/C,eAAWO,KAAcT,GAAM;AAC3B,MAAAQ,EAAkBA,EAAkB,SAAS,CAAC,IAAIC;AAClD,YAAMC,IAAOhB,EAAK,kBAAkBc,CAAiB;AAErD,eAASG,IAAI,GAAGA,IAAID,EAAK,QAAQC,KAAK;AAClC,cAAMC,IAASF,EAAKC,CAAC,GACfE,IAASnB,EAAK,eAAeE,EAAE,OAAOgB,CAAM,GAC5CE,IAASpB,EAAK,eAAeG,EAAE,OAAOe,CAAM;AAElD,QAAIC,MAAW,QAAQC,MAAW,SAElCV,IAAO,KAAK,IAAIA,GAAMS,CAAM,GAC5BR,IAAO,KAAK,IAAIA,GAAMS,CAAM,GAC5BR,IAAO,KAAK,IAAIA,GAAMO,CAAM,GAC5BN,IAAO,KAAK,IAAIA,GAAMO,CAAM,GAE5BX,EAAK,KAAK;AAAA,UACN,GAAGU;AAAA,UACH,GAAGC;AAAA,UACH,OAAOhB,IAAQJ,EAAK,eAAeI,EAAM,eAAaA,EAAM,OAAOc,CAAM,IAAI;AAAA,UAC7E,QAAQb,IAAY,CAACL,EAAK,eAAeK,EAAU,OAAOa,CAAM,IAAI;AAAA,UACpE,KAAKA;AAAA,QAAA,CACR;AAAA,MACL;AAAA,IACJ;AAEA,IAAAT,EAAK,KAAK,CAACY,GAAIC,MAAOD,EAAG,IAAIC,EAAG,CAAC,GAEjCf,EAAOC,EAAU,KAAK,GAAG,CAAC,IAAI;AAAA,MAC1B,MAAAE;AAAA,MACA,MAAAE;AAAA,MACA,MAAAD;AAAA,MACA,MAAAE;AAAA,MACA,MAAAJ;AAAA,IAAA;AAAA,EAER;AAEA,SAAOF;AACX;"}
1
+ {"version":3,"file":"dots.js","sources":["../../src/scatterplot/dots.ts"],"sourcesContent":["import {format} from 'd3-format';\nimport type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue } from '../types';\nimport {formatColumnValue} from './utils/formatColumnValue';\n\nexport type Dot = {\n idx: number;\n x: number;\n y: number;\n label: DataValue | null;\n dimmed: boolean;\n};\n\nexport type GroupedDots = Record<\n string,\n {\n minX: number;\n maxX: number;\n minY: number;\n maxY: number;\n dots: Dot[];\n }\n>;\n\nexport function getDots(\n data: DataFrame,\n facetKeysCombinations: string[][],\n x: ColumnName,\n y: ColumnName,\n label: ColumnName | null,\n highlight: ColumnName | null,\n keys: string[]\n): GroupedDots {\n const result: GroupedDots = {};\n\n const labelFormatter = label?.format ? format(label.format) : undefined;\n\n for (const facetKeys of facetKeysCombinations) {\n const dots: Dot[] = [];\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n\n const templateGroupPath = facetKeys.concat(['']);\n for (const primaryKey of keys) {\n templateGroupPath[templateGroupPath.length - 1] = primaryKey;\n const rows = data.getRowsByGrouping(templateGroupPath);\n\n for (let i = 0; i < rows.length; i++) {\n const rowIdx = rows[i];\n const valueX = data.getColumnValue(x.value, rowIdx) as number;\n const valueY = data.getColumnValue(y.value, rowIdx) as number;\n\n if (valueX === null && valueY === null) continue;\n\n minX = Math.min(minX, valueX);\n minY = Math.min(minY, valueY);\n maxX = Math.max(maxX, valueX);\n maxY = Math.max(maxY, valueY);\n\n dots.push({\n x: valueX,\n y: valueY,\n label: formatColumnValue(data, rowIdx, label, labelFormatter),\n dimmed: highlight ? !data.getColumnValue(highlight.value, rowIdx) : false,\n idx: rowIdx\n });\n }\n }\n\n dots.sort((d1, d2) => d1.x - d2.x);\n\n result[facetKeys.join('_')] = {\n minX,\n maxX,\n minY,\n maxY,\n dots,\n };\n }\n\n return result;\n}\n"],"names":["getDots","data","facetKeysCombinations","x","y","label","highlight","keys","result","labelFormatter","format","facetKeys","dots","minX","minY","maxX","maxY","templateGroupPath","primaryKey","rows","i","rowIdx","valueX","valueY","formatColumnValue","d1","d2"],"mappings":";;AAwBO,SAASA,EACZC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACW;AACX,QAAMC,IAAsB,CAAA,GAEtBC,IAAiBJ,KAAA,QAAAA,EAAO,SAASK,EAAOL,EAAM,MAAM,IAAI;AAE9D,aAAWM,KAAaT,GAAuB;AAC3C,UAAMU,IAAc,CAAA;AACpB,QAAIC,IAAO,OACPC,IAAO,OACPC,IAAO,QACPC,IAAO;AAEX,UAAMC,IAAoBN,EAAU,OAAO,CAAC,EAAE,CAAC;AAC/C,eAAWO,KAAcX,GAAM;AAC3B,MAAAU,EAAkBA,EAAkB,SAAS,CAAC,IAAIC;AAClD,YAAMC,IAAOlB,EAAK,kBAAkBgB,CAAiB;AAErD,eAASG,IAAI,GAAGA,IAAID,EAAK,QAAQC,KAAK;AAClC,cAAMC,IAASF,EAAKC,CAAC,GACfE,IAASrB,EAAK,eAAeE,EAAE,OAAOkB,CAAM,GAC5CE,IAAStB,EAAK,eAAeG,EAAE,OAAOiB,CAAM;AAElD,QAAIC,MAAW,QAAQC,MAAW,SAElCV,IAAO,KAAK,IAAIA,GAAMS,CAAM,GAC5BR,IAAO,KAAK,IAAIA,GAAMS,CAAM,GAC5BR,IAAO,KAAK,IAAIA,GAAMO,CAAM,GAC5BN,IAAO,KAAK,IAAIA,GAAMO,CAAM,GAE5BX,EAAK,KAAK;AAAA,UACN,GAAGU;AAAA,UACH,GAAGC;AAAA,UACH,OAAOC,EAAkBvB,GAAMoB,GAAQhB,GAAOI,CAAc;AAAA,UAC5D,QAAQH,IAAY,CAACL,EAAK,eAAeK,EAAU,OAAOe,CAAM,IAAI;AAAA,UACpE,KAAKA;AAAA,QAAA,CACR;AAAA,MACL;AAAA,IACJ;AAEA,IAAAT,EAAK,KAAK,CAACa,GAAIC,MAAOD,EAAG,IAAIC,EAAG,CAAC,GAEjClB,EAAOG,EAAU,KAAK,GAAG,CAAC,IAAI;AAAA,MAC1B,MAAAE;AAAA,MACA,MAAAE;AAAA,MACA,MAAAD;AAAA,MACA,MAAAE;AAAA,MACA,MAAAJ;AAAA,IAAA;AAAA,EAER;AAEA,SAAOJ;AACX;"}
@@ -0,0 +1,5 @@
1
+ import { DataFrame } from '../../DataFrame';
2
+ import { ColumnName } from '../../types';
3
+ import { numberFormat } from '../../utils/numberFormat';
4
+ export declare function formatColumnValue(data: DataFrame, rowIdx: number, column: ColumnName | null | undefined, numberFormatter?: typeof numberFormat): string | null;
5
+ //# sourceMappingURL=formatColumnValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatColumnValue.d.ts","sourceRoot":"","sources":["../../../src/scatterplot/utils/formatColumnValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,IAAI,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,UAAU,GAAG,IAAI,GAAG,SAAS,EAAE,eAAe,sBAAe,iBAUpI"}
@@ -0,0 +1,11 @@
1
+ import { numberFormat as l } from "../../utils/numberFormat.js";
2
+ function m(u, t, r, n = l) {
3
+ if (!r)
4
+ return null;
5
+ const e = u.getColumnValue(r.valueLabels ?? r.value, t);
6
+ return !(typeof e == "number") || e === null ? e : n(e);
7
+ }
8
+ export {
9
+ m as formatColumnValue
10
+ };
11
+ //# sourceMappingURL=formatColumnValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatColumnValue.js","sources":["../../../src/scatterplot/utils/formatColumnValue.ts"],"sourcesContent":["import type {DataFrame} from '../../DataFrame';\nimport type {ColumnName} from '../../types';\nimport {numberFormat} from '../../utils/numberFormat';\n\nexport function formatColumnValue(data:DataFrame, rowIdx:number, column:ColumnName | null | undefined, numberFormatter = numberFormat) {\n if (!column) {\n return null;\n }\n const value = data.getColumnValue(column.valueLabels ?? column.value, rowIdx);\n const isNumber = typeof value === 'number';\n if (!isNumber || value === null) {\n return value;\n }\n return numberFormatter(value);\n}"],"names":["formatColumnValue","data","rowIdx","column","numberFormatter","numberFormat","value"],"mappings":";AAIO,SAASA,EAAkBC,GAAgBC,GAAeC,GAAsCC,IAAkBC,GAAc;AACnI,MAAI,CAACF;AACD,WAAO;AAEX,QAAMG,IAAQL,EAAK,eAAeE,EAAO,eAAeA,EAAO,OAAOD,CAAM;AAE5E,SAAI,EADa,OAAOI,KAAU,aACjBA,MAAU,OAChBA,IAEJF,EAAgBE,CAAK;AAChC;"}
@@ -1,14 +1,14 @@
1
- var u = Object.defineProperty;
2
- var c = (l, e, i) => e in l ? u(l, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : l[e] = i;
3
- var o = (l, e, i) => c(l, typeof e != "symbol" ? e + "" : e, i);
4
- import m from "../node_modules/lodash/lodash.js";
5
- import { DEFAULT_HEIGHT as y, DEFAULT_WIDTH as s, BLACK as p } from "../constants.js";
6
- import { ScatterplotUmapSettingsSchema as d } from "../types/scatterplot-umap.js";
7
- class n {
1
+ var m = Object.defineProperty;
2
+ var y = (l, e, i) => e in l ? m(l, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : l[e] = i;
3
+ var o = (l, e, i) => y(l, typeof e != "symbol" ? e + "" : e, i);
4
+ import s from "../node_modules/lodash/lodash.js";
5
+ import { DEFAULT_HEIGHT as d, DEFAULT_WIDTH as n, BLACK as c } from "../constants.js";
6
+ import { ScatterplotUmapSettingsSchema as w } from "../types/scatterplot-umap.js";
7
+ class x {
8
8
  constructor(e) {
9
9
  o(this, "type", "dots");
10
10
  o(this, "aes", {
11
- dotFill: p,
11
+ dotFill: c,
12
12
  dotShape: "21",
13
13
  dotSize: 3,
14
14
  opacity: 1
@@ -19,12 +19,12 @@ class n {
19
19
  };
20
20
  }
21
21
  }
22
- class w {
22
+ class f {
23
23
  constructor(e) {
24
24
  o(this, "type", "curve");
25
25
  o(this, "smoothing");
26
26
  o(this, "aes", {
27
- lineColor: p,
27
+ lineColor: c,
28
28
  lineWidth: 1,
29
29
  lineShape: "solid",
30
30
  opacity: 1
@@ -35,7 +35,7 @@ class w {
35
35
  };
36
36
  }
37
37
  }
38
- class C {
38
+ class T {
39
39
  constructor(e) {
40
40
  o(this, "id");
41
41
  o(this, "type", "scatterplot-umap");
@@ -48,11 +48,11 @@ class C {
48
48
  o(this, "chartSettings");
49
49
  o(this, "inheritedAes");
50
50
  o(this, "layers");
51
- var i, h, t, a;
52
- d.parse(e), this.id = m.uniqueId("settings"), this.keyColumn = e.keyColumn ?? null, this.x = e.x, this.y = e.y, this.grouping = e.grouping ?? [], this.label = e.label ?? null, this.highlight = e.highlight ?? null, this.chartSettings = {
51
+ var i, r, t, a, p, u;
52
+ w.parse(e), this.id = s.uniqueId("settings"), this.keyColumn = e.keyColumn ?? null, this.x = e.x, this.y = e.y, this.grouping = e.grouping ?? [], this.label = e.label ?? null, this.highlight = e.highlight ?? null, this.chartSettings = {
53
53
  size: {
54
- width: ((i = e == null ? void 0 : e.size) == null ? void 0 : i.width) ?? s,
55
- height: ((h = e == null ? void 0 : e.size) == null ? void 0 : h.height) ?? y
54
+ width: ((i = e == null ? void 0 : e.size) == null ? void 0 : i.width) ?? n,
55
+ height: ((r = e == null ? void 0 : e.size) == null ? void 0 : r.height) ?? d
56
56
  },
57
57
  title: {
58
58
  position: "center",
@@ -81,21 +81,21 @@ class C {
81
81
  ...e.legend
82
82
  },
83
83
  tooltips: {
84
- show: !0,
85
- ...e.tooltips
84
+ ...e.tooltips,
85
+ show: ((p = e.tooltips) == null ? void 0 : p.show) !== !1 && (((u = e.tooltips) == null ? void 0 : u.content) ?? []).length > 0
86
86
  }
87
- }, this.inheritedAes = e.inheritedAes ?? {}, this.layers = e.layers.map((r) => {
88
- if (r.type === "dots")
89
- return new n(r);
90
- if (r.type === "curve")
91
- return new w(r);
87
+ }, this.inheritedAes = e.inheritedAes ?? {}, this.layers = e.layers.map((h) => {
88
+ if (h.type === "dots")
89
+ return new x(h);
90
+ if (h.type === "curve")
91
+ return new f(h);
92
92
  throw new Error("Unknown layer type");
93
93
  }).filter(Boolean);
94
94
  }
95
95
  }
96
96
  export {
97
- w as CurveLayer,
98
- n as DotsLayer,
99
- C as ScatterplotUmapSettingsImpl
97
+ f as CurveLayer,
98
+ x as DotsLayer,
99
+ T as ScatterplotUmapSettingsImpl
100
100
  };
101
101
  //# sourceMappingURL=SettingsImpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsImpl.js","sources":["../../src/scatterplot-umap/SettingsImpl.ts"],"sourcesContent":["import lodash from 'lodash';\nimport { BLACK, DEFAULT_HEIGHT, DEFAULT_WIDTH } from '../constants';\nimport type { ScatterplotAxisSettings } from '../scatterplot/ScatterplotSettingsImpl';\nimport type {\n ColumnName,\n ContinuousAesFromColumn,\n FrameType,\n LegendPosition,\n LineShape,\n SettingsInterface,\n TitlePosition,\n} from '../types';\nimport { type AesRecord, type InheritAesScatterplot, type PointShape } from '../types';\nimport type {\n CurveUmapLayer as OuterCurveLayer,\n DotsUmapLayer as OuterDotsLayer,\n ScatterplotUmapSettings\n} from '../types/scatterplot-umap';\nimport { ScatterplotUmapSettingsSchema } from '../types/scatterplot-umap';\n\nexport class DotsLayer {\n readonly type = 'dots';\n readonly aes: {\n dotFill: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n dotShape: PointShape | InheritAesScatterplot;\n dotSize: number | ContinuousAesFromColumn<number>;\n opacity: number;\n } = {\n dotFill: BLACK,\n dotShape: '21',\n dotSize: 3,\n opacity: 1,\n };\n constructor(layer: OuterDotsLayer) {\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\nexport class CurveLayer {\n readonly type = 'curve';\n readonly smoothing: boolean;\n readonly aes: {\n lineColor: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterCurveLayer) {\n this.smoothing = layer.smoothing ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\n\nexport type ScatterplotUmapLayer = DotsLayer | CurveLayer;\n\nexport class ScatterplotUmapSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'scatterplot-umap';\n readonly keyColumn: ColumnName | null;\n readonly x: ColumnName;\n readonly y: ColumnName;\n readonly grouping: ColumnName[];\n readonly label: ColumnName | null;\n readonly highlight: ColumnName | null;\n readonly chartSettings: {\n readonly size: {width: number; height: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly yAxis: ScatterplotAxisSettings;\n readonly xAxis: ScatterplotAxisSettings;\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {show: boolean; content?: ColumnName[]};\n };\n readonly inheritedAes: Record<string, AesRecord>;\n readonly layers: ScatterplotUmapLayer[];\n\n constructor(settings: ScatterplotUmapSettings) {\n ScatterplotUmapSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.keyColumn = settings.keyColumn ?? null;\n this.x = settings.x;\n this.y = settings.y;\n this.grouping = settings.grouping ?? [];\n this.label = settings.label ?? null;\n this.highlight = settings.highlight ?? null;\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? DEFAULT_WIDTH,\n height: settings?.size?.height ?? DEFAULT_HEIGHT,\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n yAxis: {\n title: settings.y.label ?? settings.y.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.x.label ?? settings.x.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n show: true,\n ...settings.tooltips,\n },\n };\n\n this.inheritedAes = settings.inheritedAes ?? {};\n\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'dots') {\n return new DotsLayer(layer);\n } else if (layer.type === 'curve') {\n return new CurveLayer(layer);\n } else {\n throw new Error('Unknown layer type');\n }\n })\n .filter(Boolean) as ScatterplotUmapLayer[];\n }\n}\n"],"names":["DotsLayer","layer","__publicField","BLACK","CurveLayer","ScatterplotUmapSettingsImpl","settings","ScatterplotUmapSettingsSchema","lodash","_a","DEFAULT_WIDTH","_b","DEFAULT_HEIGHT","_c","_d"],"mappings":";;;;;;AAoBO,MAAMA,EAAU;AAAA,EAanB,YAAYC,GAAuB;AAZ1B,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,aAKL;AAAA,MACA,SAASC;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,IAAA;AAGT,SAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGF,EAAM;AAAA,IAAA;AAAA,EAEjB;AACJ;AACO,MAAMG,EAAW;AAAA,EAepB,YAAYH,GAAwB;AAd3B,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA,aAKL;AAAA,MACA,WAAWC;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAIT,SAAK,YAAYF,EAAM,aAAa,IACpC,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AACJ;AAIO,MAAMI,EAAyD;AAAA,EAqBlE,YAAYC,GAAmC;AApBtC,IAAAJ,EAAA;AACA,IAAAA,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AASA,IAAAA,EAAA;AACA,IAAAA,EAAA;;AAGL,IAAAK,EAA8B,MAAMD,CAAQ,GAC5C,KAAK,KAAKE,EAAO,SAAS,UAAU,GACpC,KAAK,YAAYF,EAAS,aAAa,MACvC,KAAK,IAAIA,EAAS,GAClB,KAAK,IAAIA,EAAS,GAClB,KAAK,WAAWA,EAAS,YAAY,CAAA,GACrC,KAAK,QAAQA,EAAS,SAAS,MAC/B,KAAK,YAAYA,EAAS,aAAa,MACvC,KAAK,gBAAgB;AAAA,MACjB,MAAM;AAAA,QACF,SAAOG,IAAAH,KAAA,gBAAAA,EAAU,SAAV,gBAAAG,EAAgB,UAASC;AAAA,QAChC,UAAQC,IAAAL,KAAA,gBAAAA,EAAU,SAAV,gBAAAK,EAAgB,WAAUC;AAAA,MAAA;AAAA,MAEtC,OAAO;AAAA,QACH,UAAU;AAAA,QACV,MAAM;AAAA,QACN,GAAGN,EAAS;AAAA,QACZ,QAAMO,IAAAP,EAAS,UAAT,gBAAAO,EAAgB,SAAQ;AAAA,MAAA;AAAA,MAElC,OAAO;AAAA,QACH,OAAOP,EAAS,EAAE,SAASA,EAAS,EAAE;AAAA,QACtC,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,GAAGA,EAAS;AAAA,MAAA;AAAA,MAEhB,OAAO;AAAA,QACH,OAAOA,EAAS,EAAE,SAASA,EAAS,EAAE;AAAA,QACtC,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,GAAGA,EAAS;AAAA,MAAA;AAAA,MAEhB,OAAO,EAAC,QAAMQ,IAAAR,EAAS,UAAT,gBAAAQ,EAAgB,SAAQ,OAAA;AAAA,MACtC,QAAQ;AAAA,QACJ,MAAM;AAAA,QACN,UAAU;AAAA,QACV,GAAGR,EAAS;AAAA,MAAA;AAAA,MAEhB,UAAU;AAAA,QACN,MAAM;AAAA,QACN,GAAGA,EAAS;AAAA,MAAA;AAAA,IAChB,GAGJ,KAAK,eAAeA,EAAS,gBAAgB,CAAA,GAE7C,KAAK,SAASA,EAAS,OAClB,IAAI,CAAAL,MAAS;AACV,UAAIA,EAAM,SAAS;AACf,eAAO,IAAID,EAAUC,CAAK;AAC9B,UAAWA,EAAM,SAAS;AACtB,eAAO,IAAIG,EAAWH,CAAK;AAE3B,YAAM,IAAI,MAAM,oBAAoB;AAAA,IAE5C,CAAC,EACA,OAAO,OAAO;AAAA,EACvB;AACJ;"}
1
+ {"version":3,"file":"SettingsImpl.js","sources":["../../src/scatterplot-umap/SettingsImpl.ts"],"sourcesContent":["import lodash from 'lodash';\nimport { BLACK, DEFAULT_HEIGHT, DEFAULT_WIDTH } from '../constants';\nimport type { ScatterplotAxisSettings } from '../scatterplot/ScatterplotSettingsImpl';\nimport type {\n ColumnName,\n ContinuousAesFromColumn,\n FrameType,\n LegendPosition,\n LineShape,\n SettingsInterface,\n TitlePosition,\n} from '../types';\nimport { type AesRecord, type InheritAesScatterplot, type PointShape } from '../types';\nimport type {\n CurveUmapLayer as OuterCurveLayer,\n DotsUmapLayer as OuterDotsLayer,\n ScatterplotUmapSettings\n} from '../types/scatterplot-umap';\nimport { ScatterplotUmapSettingsSchema } from '../types/scatterplot-umap';\n\nexport class DotsLayer {\n readonly type = 'dots';\n readonly aes: {\n dotFill: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n dotShape: PointShape | InheritAesScatterplot;\n dotSize: number | ContinuousAesFromColumn<number>;\n opacity: number;\n } = {\n dotFill: BLACK,\n dotShape: '21',\n dotSize: 3,\n opacity: 1,\n };\n constructor(layer: OuterDotsLayer) {\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\nexport class CurveLayer {\n readonly type = 'curve';\n readonly smoothing: boolean;\n readonly aes: {\n lineColor: string | InheritAesScatterplot | ContinuousAesFromColumn<string>;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterCurveLayer) {\n this.smoothing = layer.smoothing ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n}\n\nexport type ScatterplotUmapLayer = DotsLayer | CurveLayer;\n\nexport class ScatterplotUmapSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'scatterplot-umap';\n readonly keyColumn: ColumnName | null;\n readonly x: ColumnName;\n readonly y: ColumnName;\n readonly grouping: ColumnName[];\n readonly label: ColumnName | null;\n readonly highlight: ColumnName | null;\n readonly chartSettings: {\n readonly size: {width: number; height: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly yAxis: ScatterplotAxisSettings;\n readonly xAxis: ScatterplotAxisSettings;\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {show: boolean; content?: ColumnName[]};\n };\n readonly inheritedAes: Record<string, AesRecord>;\n readonly layers: ScatterplotUmapLayer[];\n\n constructor(settings: ScatterplotUmapSettings) {\n ScatterplotUmapSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.keyColumn = settings.keyColumn ?? null;\n this.x = settings.x;\n this.y = settings.y;\n this.grouping = settings.grouping ?? [];\n this.label = settings.label ?? null;\n this.highlight = settings.highlight ?? null;\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? DEFAULT_WIDTH,\n height: settings?.size?.height ?? DEFAULT_HEIGHT,\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n yAxis: {\n title: settings.y.label ?? settings.y.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.x.label ?? settings.x.value,\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n ...settings.tooltips,\n show: !(settings.tooltips?.show === false) && (settings.tooltips?.content ?? []).length > 0,\n },\n };\n\n this.inheritedAes = settings.inheritedAes ?? {};\n\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'dots') {\n return new DotsLayer(layer);\n } else if (layer.type === 'curve') {\n return new CurveLayer(layer);\n } else {\n throw new Error('Unknown layer type');\n }\n })\n .filter(Boolean) as ScatterplotUmapLayer[];\n }\n}\n"],"names":["DotsLayer","layer","__publicField","BLACK","CurveLayer","ScatterplotUmapSettingsImpl","settings","ScatterplotUmapSettingsSchema","lodash","_a","DEFAULT_WIDTH","_b","DEFAULT_HEIGHT","_c","_d","_e","_f"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LowerSVG.d.ts","sourceRoot":"","sources":["../../../src/scatterplot-umap/components/LowerSVG.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsB7G,iBAAS,QAAQ,CAAC,EACd,MAAM,EACN,aAAa,EACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,MAAM,EACN,UAAU,EACV,WAAW,EACd,EAAE;IACC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CACtC,kDAgKA;;AAED,wBAAoC"}
1
+ {"version":3,"file":"LowerSVG.d.ts","sourceRoot":"","sources":["../../../src/scatterplot-umap/components/LowerSVG.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAoB7G,iBAAS,QAAQ,CAAC,EACd,MAAM,EACN,aAAa,EACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,MAAM,EACN,UAAU,EACV,WAAW,EACd,EAAE;IACC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,aAAa,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CACtC,kDAgKA;;AAED,wBAAoC"}