blazeplot 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/core/MinMaxPyramid.d.ts +4 -0
- package/dist/core/MinMaxPyramid.d.ts.map +1 -1
- package/dist/core/RingBuffer.d.ts +13 -0
- package/dist/core/RingBuffer.d.ts.map +1 -1
- package/dist/core/SeriesStore.d.ts +10 -1
- package/dist/core/SeriesStore.d.ts.map +1 -1
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +568 -98
- package/dist/index.js.map +1 -1
- package/dist/plugins/legend.d.ts +3 -0
- package/dist/plugins/legend.d.ts.map +1 -0
- package/dist/plugins/legend.js +37 -0
- package/dist/plugins/legend.js.map +1 -0
- package/dist/plugins/tooltip.d.ts +3 -0
- package/dist/plugins/tooltip.d.ts.map +1 -0
- package/dist/plugins/tooltip.js +50 -0
- package/dist/plugins/tooltip.js.map +1 -0
- package/dist/render/Renderer.d.ts +6 -0
- package/dist/render/Renderer.d.ts.map +1 -1
- package/dist/render/ShaderPrograms.d.ts +8 -0
- package/dist/render/ShaderPrograms.d.ts.map +1 -1
- package/dist/render/types.d.ts +1 -1
- package/dist/render/types.d.ts.map +1 -1
- package/dist/ui/Chart.d.ts +90 -1
- package/dist/ui/Chart.d.ts.map +1 -1
- package/dist/ui/ChartLayout.d.ts.map +1 -1
- package/dist/ui/Legend.d.ts +7 -1
- package/dist/ui/Legend.d.ts.map +1 -1
- package/dist/ui/Tooltip.d.ts +11 -1
- package/dist/ui/Tooltip.d.ts.map +1 -1
- package/dist/ui/index.d.ts +5 -3
- package/dist/ui/index.d.ts.map +1 -1
- package/package.json +9 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../src/plugins/legend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//#region src/ui/Legend.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return `rgba(${Math.round(e[0] * 255)}, ${Math.round(e[1] * 255)}, ${Math.round(e[2] * 255)}, ${e[3]})`;
|
|
4
|
+
}
|
|
5
|
+
function t(e, t) {
|
|
6
|
+
e.style.top = t.startsWith("top") ? "8px" : "auto", e.style.bottom = t.startsWith("bottom") ? "8px" : "auto", e.style.left = t.endsWith("left") ? "8px" : "auto", e.style.right = t.endsWith("right") ? "8px" : "auto";
|
|
7
|
+
}
|
|
8
|
+
function n(t, n, r, i) {
|
|
9
|
+
n.replaceChildren();
|
|
10
|
+
for (let a of t) {
|
|
11
|
+
let t = document.createElement("button");
|
|
12
|
+
t.type = "button", t.style.display = "flex", t.style.alignItems = "center", t.style.gap = "6px", t.style.width = "100%", t.style.border = "0", t.style.padding = "2px 4px", t.style.background = "transparent", t.style.color = a.visible ? "#dbeafe" : "#789", t.style.font = "11px ui-monospace, monospace, sans-serif", t.style.textAlign = "left", t.style.cursor = i ? "pointer" : "default", t.style.opacity = a.visible ? "1" : "0.45";
|
|
13
|
+
let o = document.createElement("span");
|
|
14
|
+
o.style.width = "10px", o.style.height = "10px", o.style.borderRadius = "2px", o.style.background = e(a.color), o.style.flex = "0 0 auto";
|
|
15
|
+
let s = document.createElement("span");
|
|
16
|
+
s.textContent = a.name ?? a.id ?? `${a.mode} ${a.index + 1}`, t.append(o, s), i && t.addEventListener("click", () => {
|
|
17
|
+
r.setSeriesVisible(a.series, !a.visible);
|
|
18
|
+
}), n.appendChild(t);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function r(e = {}) {
|
|
22
|
+
return { install(r) {
|
|
23
|
+
let i = document.createElement("div");
|
|
24
|
+
i.className = e.className ?? "blazeplot-legend", i.style.position = "absolute", i.style.zIndex = "20", i.style.pointerEvents = "auto", i.style.padding = "6px", i.style.border = "1px solid rgba(148, 163, 184, 0.22)", i.style.borderRadius = "6px", i.style.background = "rgba(15, 23, 42, 0.72)", i.style.backdropFilter = "blur(4px)", i.style.userSelect = "none", t(i, e.position ?? "top-right"), r.rootElement.appendChild(i);
|
|
25
|
+
let a = () => {
|
|
26
|
+
let t = r.getSeriesState();
|
|
27
|
+
e.render ? e.render(t, i, r) : n(t, i, r, e.toggleOnClick !== !1);
|
|
28
|
+
}, o = r.subscribe("serieschange", a);
|
|
29
|
+
return a(), () => {
|
|
30
|
+
o(), i.remove();
|
|
31
|
+
};
|
|
32
|
+
} };
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { r as legendPlugin };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=legend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legend.js","names":[],"sources":["../../src/ui/Legend.ts"],"sourcesContent":["import type { Chart, ChartPlugin, ChartSeriesState } from \"./Chart.js\";\n\nexport interface LegendPluginOptions {\n readonly className?: string;\n readonly position?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n readonly toggleOnClick?: boolean;\n readonly render?: (state: readonly ChartSeriesState[], container: HTMLElement, chart: Chart) => void;\n}\n\nfunction rgba(color: readonly [number, number, number, number]): string {\n return `rgba(${Math.round(color[0] * 255)}, ${Math.round(color[1] * 255)}, ${Math.round(color[2] * 255)}, ${color[3]})`;\n}\n\nfunction applyPosition(el: HTMLElement, position: NonNullable<LegendPluginOptions[\"position\"]>): void {\n el.style.top = position.startsWith(\"top\") ? \"8px\" : \"auto\";\n el.style.bottom = position.startsWith(\"bottom\") ? \"8px\" : \"auto\";\n el.style.left = position.endsWith(\"left\") ? \"8px\" : \"auto\";\n el.style.right = position.endsWith(\"right\") ? \"8px\" : \"auto\";\n}\n\nfunction renderDefaultLegend(\n state: readonly ChartSeriesState[],\n container: HTMLElement,\n chart: Chart,\n toggleOnClick: boolean,\n): void {\n container.replaceChildren();\n\n for (const item of state) {\n const row = document.createElement(\"button\");\n row.type = \"button\";\n row.style.display = \"flex\";\n row.style.alignItems = \"center\";\n row.style.gap = \"6px\";\n row.style.width = \"100%\";\n row.style.border = \"0\";\n row.style.padding = \"2px 4px\";\n row.style.background = \"transparent\";\n row.style.color = item.visible ? \"#dbeafe\" : \"#789\";\n row.style.font = \"11px ui-monospace, monospace, sans-serif\";\n row.style.textAlign = \"left\";\n row.style.cursor = toggleOnClick ? \"pointer\" : \"default\";\n row.style.opacity = item.visible ? \"1\" : \"0.45\";\n\n const swatch = document.createElement(\"span\");\n swatch.style.width = \"10px\";\n swatch.style.height = \"10px\";\n swatch.style.borderRadius = \"2px\";\n swatch.style.background = rgba(item.color);\n swatch.style.flex = \"0 0 auto\";\n\n const label = document.createElement(\"span\");\n label.textContent = item.name ?? item.id ?? `${item.mode} ${item.index + 1}`;\n\n row.append(swatch, label);\n if (toggleOnClick) {\n row.addEventListener(\"click\", () => {\n chart.setSeriesVisible(item.series, !item.visible);\n });\n }\n container.appendChild(row);\n }\n}\n\nexport function legendPlugin(options: LegendPluginOptions = {}): ChartPlugin {\n return {\n install(chart: Chart) {\n const container = document.createElement(\"div\");\n container.className = options.className ?? \"blazeplot-legend\";\n container.style.position = \"absolute\";\n container.style.zIndex = \"20\";\n container.style.pointerEvents = \"auto\";\n container.style.padding = \"6px\";\n container.style.border = \"1px solid rgba(148, 163, 184, 0.22)\";\n container.style.borderRadius = \"6px\";\n container.style.background = \"rgba(15, 23, 42, 0.72)\";\n container.style.backdropFilter = \"blur(4px)\";\n container.style.userSelect = \"none\";\n applyPosition(container, options.position ?? \"top-right\");\n chart.rootElement.appendChild(container);\n\n const render = (): void => {\n const state = chart.getSeriesState();\n if (options.render) {\n options.render(state, container, chart);\n } else {\n renderDefaultLegend(state, container, chart, options.toggleOnClick !== false);\n }\n };\n\n const unsubscribe = chart.subscribe(\"serieschange\", render);\n render();\n\n return () => {\n unsubscribe();\n container.remove();\n };\n },\n };\n}\n"],"mappings":";AASA,SAAS,EAAK,GAA0D;CACtE,OAAO,QAAQ,KAAK,MAAM,EAAM,KAAK,GAAG,EAAE,IAAI,KAAK,MAAM,EAAM,KAAK,GAAG,EAAE,IAAI,KAAK,MAAM,EAAM,KAAK,GAAG,EAAE,IAAI,EAAM,GAAG;AACvH;AAEA,SAAS,EAAc,GAAiB,GAA8D;CAIpG,AAHA,EAAG,MAAM,MAAM,EAAS,WAAW,KAAK,IAAI,QAAQ,QACpD,EAAG,MAAM,SAAS,EAAS,WAAW,QAAQ,IAAI,QAAQ,QAC1D,EAAG,MAAM,OAAO,EAAS,SAAS,MAAM,IAAI,QAAQ,QACpD,EAAG,MAAM,QAAQ,EAAS,SAAS,OAAO,IAAI,QAAQ;AACxD;AAEA,SAAS,EACP,GACA,GACA,GACA,GACM;CACN,EAAU,gBAAgB;CAE1B,KAAK,IAAM,KAAQ,GAAO;EACxB,IAAM,IAAM,SAAS,cAAc,QAAQ;EAa3C,AAZA,EAAI,OAAO,UACX,EAAI,MAAM,UAAU,QACpB,EAAI,MAAM,aAAa,UACvB,EAAI,MAAM,MAAM,OAChB,EAAI,MAAM,QAAQ,QAClB,EAAI,MAAM,SAAS,KACnB,EAAI,MAAM,UAAU,WACpB,EAAI,MAAM,aAAa,eACvB,EAAI,MAAM,QAAQ,EAAK,UAAU,YAAY,QAC7C,EAAI,MAAM,OAAO,4CACjB,EAAI,MAAM,YAAY,QACtB,EAAI,MAAM,SAAS,IAAgB,YAAY,WAC/C,EAAI,MAAM,UAAU,EAAK,UAAU,MAAM;EAEzC,IAAM,IAAS,SAAS,cAAc,MAAM;EAK5C,AAJA,EAAO,MAAM,QAAQ,QACrB,EAAO,MAAM,SAAS,QACtB,EAAO,MAAM,eAAe,OAC5B,EAAO,MAAM,aAAa,EAAK,EAAK,KAAK,GACzC,EAAO,MAAM,OAAO;EAEpB,IAAM,IAAQ,SAAS,cAAc,MAAM;EAS3C,AARA,EAAM,cAAc,EAAK,QAAQ,EAAK,MAAM,GAAG,EAAK,KAAK,GAAG,EAAK,QAAQ,KAEzE,EAAI,OAAO,GAAQ,CAAK,GACpB,KACF,EAAI,iBAAiB,eAAe;GAClC,EAAM,iBAAiB,EAAK,QAAQ,CAAC,EAAK,OAAO;EACnD,CAAC,GAEH,EAAU,YAAY,CAAG;CAC3B;AACF;AAEA,SAAgB,EAAa,IAA+B,CAAC,GAAgB;CAC3E,OAAO,EACL,QAAQ,GAAc;EACpB,IAAM,IAAY,SAAS,cAAc,KAAK;EAY9C,AAXA,EAAU,YAAY,EAAQ,aAAa,oBAC3C,EAAU,MAAM,WAAW,YAC3B,EAAU,MAAM,SAAS,MACzB,EAAU,MAAM,gBAAgB,QAChC,EAAU,MAAM,UAAU,OAC1B,EAAU,MAAM,SAAS,uCACzB,EAAU,MAAM,eAAe,OAC/B,EAAU,MAAM,aAAa,0BAC7B,EAAU,MAAM,iBAAiB,aACjC,EAAU,MAAM,aAAa,QAC7B,EAAc,GAAW,EAAQ,YAAY,WAAW,GACxD,EAAM,YAAY,YAAY,CAAS;EAEvC,IAAM,UAAqB;GACzB,IAAM,IAAQ,EAAM,eAAe;GACnC,AAAI,EAAQ,SACV,EAAQ,OAAO,GAAO,GAAW,CAAK,IAEtC,EAAoB,GAAO,GAAW,GAAO,EAAQ,kBAAkB,EAAK;EAEhF,GAEM,IAAc,EAAM,UAAU,gBAAgB,CAAM;EAG1D,OAFA,EAAO,SAEM;GAEX,AADA,EAAY,GACZ,EAAU,OAAO;EACnB;CACF,EACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/plugins/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/ui/Tooltip.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return e.name ?? e.id ?? `${e.mode} ${e.seriesIndex + 1}`;
|
|
4
|
+
}
|
|
5
|
+
function t(e) {
|
|
6
|
+
if (!Number.isFinite(e)) return String(e);
|
|
7
|
+
let t = Math.abs(e);
|
|
8
|
+
return t > 0 && (t < .001 || t >= 1e6) ? e.toExponential(3) : Number(e.toPrecision(6)).toString();
|
|
9
|
+
}
|
|
10
|
+
function n(e) {
|
|
11
|
+
return `rgba(${Math.round(e[0] * 255)}, ${Math.round(e[1] * 255)}, ${Math.round(e[2] * 255)}, ${e[3]})`;
|
|
12
|
+
}
|
|
13
|
+
function r(r, i, a) {
|
|
14
|
+
let o = Math.max(1, ...r.items.map((t) => e(t).length)), s = "";
|
|
15
|
+
for (let i of r.items) {
|
|
16
|
+
let c = a ? a(i, r) : `(${t(i.x)}, ${t(i.y)})`, l = n(i.series.style.color);
|
|
17
|
+
s && (s += "<br>"), s += `<span style="color:${l}">\u2588</span> ${e(i).padEnd(o)} ${c}`;
|
|
18
|
+
}
|
|
19
|
+
i.innerHTML = s;
|
|
20
|
+
}
|
|
21
|
+
function i(e = {}) {
|
|
22
|
+
return { install(t) {
|
|
23
|
+
let i = document.createElement("div");
|
|
24
|
+
i.className = e.className ?? "blazeplot-tooltip", i.style.position = "absolute", i.style.zIndex = "30", i.style.display = "none", i.style.pointerEvents = "none", i.style.background = "rgba(4, 8, 16, 0.85)", i.style.color = "#bfd6ff", i.style.font = "11px/1.35 ui-monospace, monospace", i.style.padding = "8px 10px", i.style.whiteSpace = "pre", t.rootElement.appendChild(i);
|
|
25
|
+
let a = document.createElement("div");
|
|
26
|
+
a.className = "blazeplot-tooltip-markers", a.style.position = "absolute", a.style.inset = "0", a.style.zIndex = "25", a.style.pointerEvents = "none", t.plotElement.appendChild(a);
|
|
27
|
+
let o = (t) => {
|
|
28
|
+
if (a.replaceChildren(), !(e.highlight === !1 || !t)) for (let e of t.items) {
|
|
29
|
+
let t = document.createElement("div");
|
|
30
|
+
t.style.position = "absolute", t.style.left = `${e.plotX}px`, t.style.top = `${e.plotY}px`, t.style.width = "10px", t.style.height = "10px", t.style.border = "2px solid #f8fafc", t.style.borderRadius = "999px", t.style.background = n(e.series.style.color), t.style.boxShadow = "0 0 0 2px rgba(4, 8, 16, 0.85)", t.style.transform = "translate(-50%, -50%)", a.appendChild(t);
|
|
31
|
+
}
|
|
32
|
+
}, s = t.subscribe("hover", (n) => {
|
|
33
|
+
let a = n && (e.mode !== void 0 || e.maxDistancePx !== void 0) ? t.pick(n.clientX, n.clientY, e) : n;
|
|
34
|
+
if (o(a), !a || a.items.length === 0) {
|
|
35
|
+
i.style.display = "none";
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
e.render ? e.render(a, i, t) : r(a, i, e.formatter);
|
|
39
|
+
let s = t.rootElement.getBoundingClientRect(), c = a.clientX - s.left + (e.offsetX ?? 12), l = a.clientY - s.top + (e.offsetY ?? 12);
|
|
40
|
+
i.style.transform = `translate(${c}px, ${l}px)`, i.style.display = "block";
|
|
41
|
+
});
|
|
42
|
+
return () => {
|
|
43
|
+
s(), a.remove(), i.remove();
|
|
44
|
+
};
|
|
45
|
+
} };
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { i as tooltipPlugin };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":[],"sources":["../../src/ui/Tooltip.ts"],"sourcesContent":["import type { Chart, ChartHoverState, ChartPickItem, ChartPickMode, ChartPlugin } from \"./Chart.js\";\n\nexport interface TooltipPluginOptions {\n readonly className?: string;\n readonly mode?: ChartPickMode;\n readonly maxDistancePx?: number;\n readonly offsetX?: number;\n readonly offsetY?: number;\n readonly highlight?: boolean;\n readonly formatter?: (item: ChartPickItem, state: ChartHoverState) => string;\n readonly render?: (state: ChartHoverState, container: HTMLElement, chart: Chart) => void;\n}\n\nfunction labelOf(item: ChartPickItem): string {\n return item.name ?? item.id ?? `${item.mode} ${item.seriesIndex + 1}`;\n}\n\nfunction formatNumber(value: number): string {\n if (!Number.isFinite(value)) return String(value);\n const abs = Math.abs(value);\n if (abs > 0 && (abs < 1e-3 || abs >= 1e6)) return value.toExponential(3);\n return Number(value.toPrecision(6)).toString();\n}\n\nfunction rgba(color: readonly [number, number, number, number]): string {\n return `rgba(${Math.round(color[0] * 255)}, ${Math.round(color[1] * 255)}, ${Math.round(color[2] * 255)}, ${color[3]})`;\n}\n\nfunction renderDefaultTooltip(\n state: ChartHoverState,\n container: HTMLElement,\n formatter: TooltipPluginOptions[\"formatter\"],\n): void {\n const pad = Math.max(1, ...state.items.map((item) => labelOf(item).length));\n let html = \"\";\n for (const item of state.items) {\n const value = formatter ? formatter(item, state) : `(${formatNumber(item.x)}, ${formatNumber(item.y)})`;\n const color = rgba(item.series.style.color);\n if (html) html += \"<br>\";\n html += `<span style=\"color:${color}\">\\u2588</span> ${labelOf(item).padEnd(pad)} ${value}`;\n }\n container.innerHTML = html;\n}\n\nexport function tooltipPlugin(options: TooltipPluginOptions = {}): ChartPlugin {\n return {\n install(chart: Chart) {\n const container = document.createElement(\"div\");\n container.className = options.className ?? \"blazeplot-tooltip\";\n container.style.position = \"absolute\";\n container.style.zIndex = \"30\";\n container.style.display = \"none\";\n container.style.pointerEvents = \"none\";\n container.style.background = \"rgba(4, 8, 16, 0.85)\";\n container.style.color = \"#bfd6ff\";\n container.style.font = \"11px/1.35 ui-monospace, monospace\";\n container.style.padding = \"8px 10px\";\n container.style.whiteSpace = \"pre\";\n chart.rootElement.appendChild(container);\n\n const markerLayer = document.createElement(\"div\");\n markerLayer.className = \"blazeplot-tooltip-markers\";\n markerLayer.style.position = \"absolute\";\n markerLayer.style.inset = \"0\";\n markerLayer.style.zIndex = \"25\";\n markerLayer.style.pointerEvents = \"none\";\n chart.plotElement.appendChild(markerLayer);\n\n const renderMarkers = (state: ChartHoverState | null): void => {\n markerLayer.replaceChildren();\n if (options.highlight === false || !state) return;\n\n for (const item of state.items) {\n const marker = document.createElement(\"div\");\n marker.style.position = \"absolute\";\n marker.style.left = `${item.plotX}px`;\n marker.style.top = `${item.plotY}px`;\n marker.style.width = \"10px\";\n marker.style.height = \"10px\";\n marker.style.border = \"2px solid #f8fafc\";\n marker.style.borderRadius = \"999px\";\n marker.style.background = rgba(item.series.style.color);\n marker.style.boxShadow = \"0 0 0 2px rgba(4, 8, 16, 0.85)\";\n marker.style.transform = \"translate(-50%, -50%)\";\n markerLayer.appendChild(marker);\n }\n };\n\n const render = (state: ChartHoverState | null): void => {\n const effectiveState = state && (options.mode !== undefined || options.maxDistancePx !== undefined)\n ? chart.pick(state.clientX, state.clientY, options)\n : state;\n\n renderMarkers(effectiveState);\n if (!effectiveState || effectiveState.items.length === 0) {\n container.style.display = \"none\";\n return;\n }\n\n if (options.render) {\n options.render(effectiveState, container, chart);\n } else {\n renderDefaultTooltip(effectiveState, container, options.formatter);\n }\n\n const rootRect = chart.rootElement.getBoundingClientRect();\n const x = effectiveState.clientX - rootRect.left + (options.offsetX ?? 12);\n const y = effectiveState.clientY - rootRect.top + (options.offsetY ?? 12);\n container.style.transform = `translate(${x}px, ${y}px)`;\n container.style.display = \"block\";\n };\n\n const unsubscribe = chart.subscribe(\"hover\", render);\n return () => {\n unsubscribe();\n markerLayer.remove();\n container.remove();\n };\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -6,7 +6,9 @@ export declare class Renderer {
|
|
|
6
6
|
private readonly lineProgram;
|
|
7
7
|
private readonly segmentProgram;
|
|
8
8
|
private readonly pointProgram;
|
|
9
|
+
private readonly pointSpriteProgram;
|
|
9
10
|
private readonly barProgram;
|
|
11
|
+
private readonly barRangeProgram;
|
|
10
12
|
private readonly segmentSelectBuffer;
|
|
11
13
|
private readonly pointCornerBuffer;
|
|
12
14
|
private readonly barCornerBuffer;
|
|
@@ -26,9 +28,13 @@ export declare class Renderer {
|
|
|
26
28
|
drawMinMaxSegments(positions: GpuBuffer, count: number, style: SeriesStyle, camera: Camera2D): void;
|
|
27
29
|
drawMinMaxSegmentsInstanced(instanceBuffer: GpuBuffer, instanceCount: number, style: SeriesStyle, camera: Camera2D): void;
|
|
28
30
|
drawPointsInstanced(instanceBuffer: GpuBuffer, pointCount: number, style: SeriesStyle, camera: Camera2D, canvasWidth: number, canvasHeight: number): void;
|
|
31
|
+
drawPointSprites(positions: GpuBuffer, pointCount: number, style: SeriesStyle, camera: Camera2D): void;
|
|
29
32
|
drawAreaStrip(positions: GpuBuffer, count: number, style: SeriesStyle, camera: Camera2D): void;
|
|
30
33
|
drawBarsInstanced(instanceBuffer: GpuBuffer, barCount: number, style: SeriesStyle, camera: Camera2D): void;
|
|
34
|
+
drawBarRangesInstanced(instanceBuffer: GpuBuffer, barCount: number, style: SeriesStyle, camera: Camera2D): void;
|
|
35
|
+
drawBarTriangles(positions: GpuBuffer, vertexCount: number, style: SeriesStyle, camera: Camera2D): void;
|
|
31
36
|
private drawLinePrimitive;
|
|
37
|
+
private drawTrianglePrimitive;
|
|
32
38
|
private writeCameraUniforms;
|
|
33
39
|
dispose(): void;
|
|
34
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/render/Renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAiB,UAAU,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AASpD,qBAAa,QAAQ;
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/render/Renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,17 @@ export declare const ShaderPrograms: {
|
|
|
11
11
|
readonly vert: string;
|
|
12
12
|
readonly frag: string;
|
|
13
13
|
};
|
|
14
|
+
readonly pointSprite: {
|
|
15
|
+
readonly vert: string;
|
|
16
|
+
readonly frag: string;
|
|
17
|
+
};
|
|
14
18
|
readonly bar: {
|
|
15
19
|
readonly vert: string;
|
|
16
20
|
readonly frag: string;
|
|
17
21
|
};
|
|
22
|
+
readonly barRange: {
|
|
23
|
+
readonly vert: string;
|
|
24
|
+
readonly frag: string;
|
|
25
|
+
};
|
|
18
26
|
};
|
|
19
27
|
//# sourceMappingURL=ShaderPrograms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderPrograms.d.ts","sourceRoot":"","sources":["../../src/render/ShaderPrograms.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShaderPrograms.d.ts","sourceRoot":"","sources":["../../src/render/ShaderPrograms.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAOjB,CAAC"}
|
package/dist/render/types.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export interface AttributeSpec {
|
|
|
38
38
|
}
|
|
39
39
|
export interface DrawSpec {
|
|
40
40
|
readonly program: GpuProgram;
|
|
41
|
-
readonly primitive: "lines" | "line_strip" | "triangles" | "triangle_strip";
|
|
41
|
+
readonly primitive: "points" | "lines" | "line_strip" | "triangles" | "triangle_strip";
|
|
42
42
|
readonly count: number;
|
|
43
43
|
readonly instances?: number;
|
|
44
44
|
readonly uniforms: Readonly<Record<string, UniformValue>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/render/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAC5C,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1C,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,YAAY,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/render/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAC5C,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1C,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,YAAY,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;IACvF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B"}
|
package/dist/ui/Chart.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SeriesConfig, SeriesStyle } from '../core/types.js';
|
|
1
|
+
import { SeriesConfig, SeriesStyle, SeriesMode, SeriesSample } from '../core/types.js';
|
|
2
2
|
import { SeriesStore } from '../core/SeriesStore.js';
|
|
3
3
|
import { ViewportPolicy } from '../interaction/types.js';
|
|
4
4
|
import { AxisPosition } from './ChartLayout.js';
|
|
@@ -6,6 +6,17 @@ export interface AxisConfig {
|
|
|
6
6
|
readonly visible?: boolean;
|
|
7
7
|
readonly position?: AxisPosition;
|
|
8
8
|
}
|
|
9
|
+
export type ChartPickMode = "nearest-x" | "nearest-point";
|
|
10
|
+
export interface ChartPickOptions {
|
|
11
|
+
readonly mode?: ChartPickMode;
|
|
12
|
+
readonly maxDistancePx?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ChartPluginHandle {
|
|
15
|
+
dispose(): void;
|
|
16
|
+
}
|
|
17
|
+
export interface ChartPlugin {
|
|
18
|
+
install(chart: Chart): void | (() => void) | ChartPluginHandle;
|
|
19
|
+
}
|
|
9
20
|
export interface ChartOptions {
|
|
10
21
|
readonly viewportPolicy?: ViewportPolicy;
|
|
11
22
|
readonly grid?: boolean;
|
|
@@ -14,6 +25,46 @@ export interface ChartOptions {
|
|
|
14
25
|
x?: boolean | AxisConfig;
|
|
15
26
|
y?: boolean | AxisConfig;
|
|
16
27
|
};
|
|
28
|
+
readonly hover?: ChartPickOptions;
|
|
29
|
+
readonly plugins?: readonly ChartPlugin[];
|
|
30
|
+
}
|
|
31
|
+
export type TypedSeriesConfig = Omit<SeriesConfig, "mode">;
|
|
32
|
+
export interface ChartSeriesState {
|
|
33
|
+
readonly series: SeriesStore;
|
|
34
|
+
readonly index: number;
|
|
35
|
+
readonly id?: string;
|
|
36
|
+
readonly name?: string;
|
|
37
|
+
readonly mode: SeriesMode;
|
|
38
|
+
readonly visible: boolean;
|
|
39
|
+
readonly color: readonly [number, number, number, number];
|
|
40
|
+
}
|
|
41
|
+
export interface ChartPickItem extends SeriesSample {
|
|
42
|
+
readonly series: SeriesStore;
|
|
43
|
+
readonly seriesIndex: number;
|
|
44
|
+
readonly id?: string;
|
|
45
|
+
readonly name?: string;
|
|
46
|
+
readonly mode: SeriesMode;
|
|
47
|
+
readonly plotX: number;
|
|
48
|
+
readonly plotY: number;
|
|
49
|
+
readonly clientX: number;
|
|
50
|
+
readonly clientY: number;
|
|
51
|
+
}
|
|
52
|
+
export interface ChartHoverState {
|
|
53
|
+
readonly clientX: number;
|
|
54
|
+
readonly clientY: number;
|
|
55
|
+
readonly plotX: number;
|
|
56
|
+
readonly plotY: number;
|
|
57
|
+
readonly dataX: number;
|
|
58
|
+
readonly dataY: number;
|
|
59
|
+
readonly anchorX: number;
|
|
60
|
+
readonly mode: ChartPickMode;
|
|
61
|
+
readonly items: readonly ChartPickItem[];
|
|
62
|
+
}
|
|
63
|
+
export interface ChartScreenshotOptions {
|
|
64
|
+
readonly type?: string;
|
|
65
|
+
readonly quality?: number;
|
|
66
|
+
readonly background?: string;
|
|
67
|
+
readonly dpr?: number;
|
|
17
68
|
}
|
|
18
69
|
export interface ChartFrameStats {
|
|
19
70
|
fps: number;
|
|
@@ -34,6 +85,8 @@ export declare class Chart {
|
|
|
34
85
|
private rawLineData;
|
|
35
86
|
private minMaxInstanceBuffer;
|
|
36
87
|
private minMaxInstanceData;
|
|
88
|
+
private barTriangleBuffer;
|
|
89
|
+
private barTriangleData;
|
|
37
90
|
private gridBuffer;
|
|
38
91
|
private gridData;
|
|
39
92
|
private gridStyle;
|
|
@@ -44,12 +97,30 @@ export declare class Chart {
|
|
|
44
97
|
private layout;
|
|
45
98
|
private stats;
|
|
46
99
|
private resizeObserver;
|
|
100
|
+
private readonly pluginDisposers;
|
|
101
|
+
private readonly hoverSubscribers;
|
|
102
|
+
private readonly seriesSubscribers;
|
|
103
|
+
private currentHover;
|
|
104
|
+
private lastPointerClientX;
|
|
105
|
+
private lastPointerClientY;
|
|
106
|
+
private pointerInPlot;
|
|
47
107
|
private lastFrameAt;
|
|
48
108
|
private _rafId;
|
|
109
|
+
private readonly handlePointerMove;
|
|
110
|
+
private readonly handlePointerLeave;
|
|
49
111
|
constructor(target: HTMLElement, options?: ChartOptions);
|
|
50
112
|
get canvas(): HTMLCanvasElement;
|
|
113
|
+
get rootElement(): HTMLElement;
|
|
114
|
+
get plotElement(): HTMLElement;
|
|
115
|
+
dataToPlot(x: number, y: number): [number, number];
|
|
51
116
|
addSeries(config: SeriesConfig, style?: Partial<SeriesStyle>): SeriesStore;
|
|
117
|
+
addLine(config: TypedSeriesConfig, style?: Partial<SeriesStyle>): SeriesStore;
|
|
118
|
+
addArea(config: TypedSeriesConfig, style?: Partial<SeriesStyle>): SeriesStore;
|
|
119
|
+
addScatter(config: TypedSeriesConfig, style?: Partial<SeriesStyle>): SeriesStore;
|
|
120
|
+
addBar(config: TypedSeriesConfig, style?: Partial<SeriesStyle>): SeriesStore;
|
|
52
121
|
removeSeries(series: SeriesStore): boolean;
|
|
122
|
+
setSeriesVisible(series: SeriesStore, visible: boolean): boolean;
|
|
123
|
+
getSeriesState(): ChartSeriesState[];
|
|
53
124
|
setViewport(v: {
|
|
54
125
|
xMin?: number;
|
|
55
126
|
xMax?: number;
|
|
@@ -58,6 +129,11 @@ export declare class Chart {
|
|
|
58
129
|
}): void;
|
|
59
130
|
resize(dpr?: number): boolean;
|
|
60
131
|
getFrameStats(target?: ChartFrameStats): ChartFrameStats;
|
|
132
|
+
getHoverState(): ChartHoverState | null;
|
|
133
|
+
subscribe(event: "hover", callback: (state: ChartHoverState | null) => void): () => void;
|
|
134
|
+
subscribe(event: "serieschange", callback: () => void): () => void;
|
|
135
|
+
pick(clientX: number, clientY: number, options?: ChartPickOptions): ChartHoverState | null;
|
|
136
|
+
screenshot(options?: ChartScreenshotOptions): Promise<Blob>;
|
|
61
137
|
start(): void;
|
|
62
138
|
stop(): void;
|
|
63
139
|
private render;
|
|
@@ -67,8 +143,21 @@ export declare class Chart {
|
|
|
67
143
|
private drawScatterSeries;
|
|
68
144
|
private drawBarSeries;
|
|
69
145
|
private uploadRawInstances;
|
|
146
|
+
private includeBaselineInBarRanges;
|
|
147
|
+
private writeBarTriangles;
|
|
148
|
+
private writeBarBucketTriangles;
|
|
149
|
+
private writeBarTriangle;
|
|
150
|
+
private drawBarTriangleFallback;
|
|
70
151
|
private recordInstancedDraw;
|
|
152
|
+
private findNearestXAnchor;
|
|
153
|
+
private findNearestPointAnchor;
|
|
154
|
+
private collectPickItems;
|
|
155
|
+
private refreshHover;
|
|
156
|
+
private emitHover;
|
|
157
|
+
private emitSeriesChange;
|
|
158
|
+
private drawDomTextForScreenshot;
|
|
71
159
|
private maxMinMaxSegments;
|
|
160
|
+
private maxBarFallbackBars;
|
|
72
161
|
private writeGridVertices;
|
|
73
162
|
private recordRenderMode;
|
|
74
163
|
}
|
package/dist/ui/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/ui/Chart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/ui/Chart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartLayout.d.ts","sourceRoot":"","sources":["../../src/ui/ChartLayout.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,CAAC,EAAE,oBAAoB,CAAC;IACjC,QAAQ,CAAC,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC;AAED,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,qBAAa,WAAY,YAAW,mBAAmB;IACrD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;gBAE9C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB;IAyB1D,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAWvC,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"ChartLayout.d.ts","sourceRoot":"","sources":["../../src/ui/ChartLayout.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,CAAC,EAAE,oBAAoB,CAAC;IACjC,QAAQ,CAAC,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC;AAED,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,qBAAa,WAAY,YAAW,mBAAmB;IACrD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;gBAE9C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB;IAyB1D,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAWvC,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,eAAe;CA6CxB"}
|
package/dist/ui/Legend.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { Chart, ChartPlugin, ChartSeriesState } from './Chart.js';
|
|
2
|
+
export interface LegendPluginOptions {
|
|
3
|
+
readonly className?: string;
|
|
4
|
+
readonly position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
5
|
+
readonly toggleOnClick?: boolean;
|
|
6
|
+
readonly render?: (state: readonly ChartSeriesState[], container: HTMLElement, chart: Chart) => void;
|
|
2
7
|
}
|
|
8
|
+
export declare function legendPlugin(options?: LegendPluginOptions): ChartPlugin;
|
|
3
9
|
//# sourceMappingURL=Legend.d.ts.map
|
package/dist/ui/Legend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../src/ui/Legend.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../src/ui/Legend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACtG;AAyDD,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,WAAW,CAmC3E"}
|
package/dist/ui/Tooltip.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { Chart, ChartHoverState, ChartPickItem, ChartPickMode, ChartPlugin } from './Chart.js';
|
|
2
|
+
export interface TooltipPluginOptions {
|
|
3
|
+
readonly className?: string;
|
|
4
|
+
readonly mode?: ChartPickMode;
|
|
5
|
+
readonly maxDistancePx?: number;
|
|
6
|
+
readonly offsetX?: number;
|
|
7
|
+
readonly offsetY?: number;
|
|
8
|
+
readonly highlight?: boolean;
|
|
9
|
+
readonly formatter?: (item: ChartPickItem, state: ChartHoverState) => string;
|
|
10
|
+
readonly render?: (state: ChartHoverState, container: HTMLElement, chart: Chart) => void;
|
|
2
11
|
}
|
|
12
|
+
export declare function tooltipPlugin(options?: TooltipPluginOptions): ChartPlugin;
|
|
3
13
|
//# sourceMappingURL=Tooltip.d.ts.map
|
package/dist/ui/Tooltip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/ui/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC1F;AAiCD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,WAAW,CA4E7E"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { Chart } from './Chart.js';
|
|
2
|
-
export type { ChartFrameStats, ChartOptions, AxisConfig } from './Chart.js';
|
|
2
|
+
export type { ChartFrameStats, ChartOptions, ChartScreenshotOptions, AxisConfig, TypedSeriesConfig } from './Chart.js';
|
|
3
3
|
export type { AxisPosition } from './ChartLayout.js';
|
|
4
4
|
export { Axis } from './Axis.js';
|
|
5
5
|
export { Grid } from './Grid.js';
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
6
|
+
export { legendPlugin } from './Legend.js';
|
|
7
|
+
export type { LegendPluginOptions } from './Legend.js';
|
|
8
|
+
export { tooltipPlugin } from './Tooltip.js';
|
|
9
|
+
export type { TooltipPluginOptions } from './Tooltip.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvH,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blazeplot",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "BlazePlot contributors"
|
|
6
6
|
},
|
|
@@ -20,6 +20,14 @@
|
|
|
20
20
|
"types": "./dist/index.d.ts",
|
|
21
21
|
"import": "./dist/index.js"
|
|
22
22
|
},
|
|
23
|
+
"./plugins/legend": {
|
|
24
|
+
"types": "./dist/plugins/legend.d.ts",
|
|
25
|
+
"import": "./dist/plugins/legend.js"
|
|
26
|
+
},
|
|
27
|
+
"./plugins/tooltip": {
|
|
28
|
+
"types": "./dist/plugins/tooltip.d.ts",
|
|
29
|
+
"import": "./dist/plugins/tooltip.js"
|
|
30
|
+
},
|
|
23
31
|
"./package.json": "./package.json"
|
|
24
32
|
},
|
|
25
33
|
"files": [
|