@maxhealth.tech/prefab 0.3.14 → 0.3.15

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 (70) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/a2ui.min.js +1 -1
  3. package/dist/core/guards.d.ts +8 -0
  4. package/dist/core/guards.d.ts.map +1 -0
  5. package/dist/core/guards.js +29 -0
  6. package/dist/core/guards.js.map +1 -0
  7. package/dist/core/version.d.ts +1 -1
  8. package/dist/core/version.js +1 -1
  9. package/dist/renderer/actions.d.ts +2 -2
  10. package/dist/renderer/actions.d.ts.map +1 -1
  11. package/dist/renderer/actions.js +134 -164
  12. package/dist/renderer/actions.js.map +1 -1
  13. package/dist/renderer/components/charts/cartesian.d.ts +4 -0
  14. package/dist/renderer/components/charts/cartesian.d.ts.map +1 -0
  15. package/dist/renderer/components/charts/cartesian.js +189 -0
  16. package/dist/renderer/components/charts/cartesian.js.map +1 -0
  17. package/dist/renderer/components/{chart-helpers.d.ts → charts/helpers.d.ts} +5 -6
  18. package/dist/renderer/components/charts/helpers.d.ts.map +1 -0
  19. package/dist/renderer/components/{chart-helpers.js → charts/helpers.js} +8 -8
  20. package/dist/renderer/components/charts/helpers.js.map +1 -0
  21. package/dist/renderer/components/charts/index.d.ts +2 -0
  22. package/dist/renderer/components/charts/index.d.ts.map +1 -0
  23. package/dist/renderer/components/charts/index.js +15 -0
  24. package/dist/renderer/components/charts/index.js.map +1 -0
  25. package/dist/renderer/components/charts/polar.d.ts +5 -0
  26. package/dist/renderer/components/charts/polar.d.ts.map +1 -0
  27. package/dist/renderer/components/charts/polar.js +189 -0
  28. package/dist/renderer/components/charts/polar.js.map +1 -0
  29. package/dist/renderer/components/charts/props.d.ts +30 -0
  30. package/dist/renderer/components/charts/props.d.ts.map +1 -0
  31. package/dist/renderer/components/charts/props.js +67 -0
  32. package/dist/renderer/components/charts/props.js.map +1 -0
  33. package/dist/renderer/components/charts/scatter.d.ts +4 -0
  34. package/dist/renderer/components/charts/scatter.d.ts.map +1 -0
  35. package/dist/renderer/components/charts/scatter.js +107 -0
  36. package/dist/renderer/components/charts/scatter.js.map +1 -0
  37. package/dist/renderer/components/{chart-tooltip.d.ts → charts/tooltip.d.ts} +3 -4
  38. package/dist/renderer/components/charts/tooltip.d.ts.map +1 -0
  39. package/dist/renderer/components/{chart-tooltip.js → charts/tooltip.js} +11 -5
  40. package/dist/renderer/components/charts/tooltip.js.map +1 -0
  41. package/dist/renderer/components/choice.d.ts.map +1 -1
  42. package/dist/renderer/components/choice.js.map +1 -1
  43. package/dist/renderer/components/data.d.ts.map +1 -1
  44. package/dist/renderer/components/data.js.map +1 -1
  45. package/dist/renderer/components/form.d.ts.map +1 -1
  46. package/dist/renderer/components/form.js.map +1 -1
  47. package/dist/renderer/components/index.js +1 -1
  48. package/dist/renderer/components/index.js.map +1 -1
  49. package/dist/renderer/components/layout.d.ts.map +1 -1
  50. package/dist/renderer/components/layout.js +39 -24
  51. package/dist/renderer/components/layout.js.map +1 -1
  52. package/dist/renderer/components/media.d.ts.map +1 -1
  53. package/dist/renderer/components/media.js.map +1 -1
  54. package/dist/renderer/engine.js.map +1 -1
  55. package/dist/renderer/index.js.map +1 -1
  56. package/dist/renderer/node-guard.d.ts +3 -0
  57. package/dist/renderer/node-guard.d.ts.map +1 -0
  58. package/dist/renderer/node-guard.js +16 -0
  59. package/dist/renderer/node-guard.js.map +1 -0
  60. package/dist/renderer.auto.min.js +10 -10
  61. package/dist/renderer.min.js +10 -10
  62. package/package.json +1 -1
  63. package/dist/renderer/components/chart-helpers.d.ts.map +0 -1
  64. package/dist/renderer/components/chart-helpers.js.map +0 -1
  65. package/dist/renderer/components/chart-tooltip.d.ts.map +0 -1
  66. package/dist/renderer/components/chart-tooltip.js.map +0 -1
  67. package/dist/renderer/components/charts.d.ts +0 -9
  68. package/dist/renderer/components/charts.d.ts.map +0 -1
  69. package/dist/renderer/components/charts.js +0 -593
  70. package/dist/renderer/components/charts.js.map +0 -1
@@ -0,0 +1,189 @@
1
+ import { el } from '../../engine.js';
2
+ import { createTooltip, addBarTooltipZones, addLineTooltipZones } from './tooltip.js';
3
+ import { COLORS, AXIS_COLOR, chartLayout, createSvg, drawYAxis, drawYAxisRight, drawXAxisLabels, drawBaseline, applyPipeFormat, resolveValueFormat, makeTooltipFormatter, addLegend, } from './helpers.js';
4
+ import { cartesianProps, seriesMax } from './props.js';
5
+ function drawAxes(node, p, chartType) {
6
+ const leftSeries = p.series.filter(s => s.yAxisId !== 'right');
7
+ const rightSeries = p.series.filter(s => s.yAxisId === 'right');
8
+ const hasRight = p.showYAxisRight && rightSeries.length > 0;
9
+ const leftMax = leftSeries.length > 0 ? seriesMax(p.rows, leftSeries) : 1;
10
+ const rightMax = hasRight ? seriesMax(p.rows, rightSeries) : 1;
11
+ const w = 400;
12
+ const layout = chartLayout(w, p.height, p.showYAxis, hasRight);
13
+ const svg = createSvg(w, p.height, chartType);
14
+ if (p.showYAxis)
15
+ drawYAxis(svg, layout, leftMax, p.showGrid, resolveValueFormat(node));
16
+ if (hasRight)
17
+ drawYAxisRight(svg, layout, rightMax, p.yAxisRightFormat);
18
+ drawBaseline(svg, layout);
19
+ return { layout, svg, leftMax, rightMax };
20
+ }
21
+ function pipeFormatter(format, ctx) {
22
+ return format ? (v) => applyPipeFormat(v, format, ctx) : undefined;
23
+ }
24
+ export function renderBarChart(node, ctx) {
25
+ const wrapper = el('div', 'pf-chart pf-bar-chart');
26
+ const p = cartesianProps(node, ctx);
27
+ const { rows: data, series } = p;
28
+ if (data.length === 0 || series.length === 0) {
29
+ wrapper.textContent = 'No chart data';
30
+ return wrapper;
31
+ }
32
+ const { layout, svg, leftMax, rightMax } = drawAxes(node, p, 'Bar');
33
+ const barGroupWidth = layout.plotWidth / data.length;
34
+ const barWidth = barGroupWidth / (series.length + 1);
35
+ for (let di = 0; di < data.length; di++) {
36
+ for (let si = 0; si < series.length; si++) {
37
+ const s = series[si];
38
+ const raw = data[di][s.dataKey];
39
+ if (raw === null || raw === undefined)
40
+ continue;
41
+ const max = s.yAxisId === 'right' ? rightMax : leftMax;
42
+ const h = Math.max(0, (Number(raw) / max) * layout.plotHeight);
43
+ const x = layout.plotLeft + di * barGroupWidth + si * barWidth + barWidth / 2;
44
+ const rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
45
+ rect.setAttribute('x', String(x));
46
+ rect.setAttribute('y', String(layout.plotBottom - h));
47
+ rect.setAttribute('width', String(barWidth * 0.8));
48
+ rect.setAttribute('height', String(h));
49
+ rect.setAttribute('fill', s.color ?? COLORS[si % COLORS.length]);
50
+ rect.setAttribute('rx', '2');
51
+ svg.appendChild(rect);
52
+ }
53
+ }
54
+ if (p.xAxisKey) {
55
+ drawXAxisLabels(svg, data, p.xAxisKey, (i) => {
56
+ return layout.plotLeft + i * barGroupWidth + barGroupWidth / 2;
57
+ }, layout.plotBottom, pipeFormatter(p.xAxisFormat, ctx));
58
+ }
59
+ if (p.showTooltip) {
60
+ const ttCtx = createTooltip(wrapper, svg);
61
+ const fmt = makeTooltipFormatter(ctx, resolveValueFormat(node), p.yAxisRightFormat);
62
+ addBarTooltipZones(ttCtx, svg, data, series, layout, p.tooltipXKey ?? p.xAxisKey, fmt, pipeFormatter(p.tooltipXFormat, ctx));
63
+ }
64
+ addLegend(wrapper, series, p.showLegend);
65
+ wrapper.appendChild(svg);
66
+ return wrapper;
67
+ }
68
+ function drawAreaFill(svg, points, baseline, color) {
69
+ let seg = [];
70
+ const flushArea = () => {
71
+ if (seg.length < 2) {
72
+ seg = [];
73
+ return;
74
+ }
75
+ const d = `M ${seg[0].x},${baseline} ` +
76
+ seg.map(p => `L ${p.x},${p.y}`).join(' ') +
77
+ ` L ${seg[seg.length - 1].x},${baseline} Z`;
78
+ const area = document.createElementNS('http://www.w3.org/2000/svg', 'path');
79
+ area.setAttribute('d', d);
80
+ area.setAttribute('fill', color);
81
+ area.setAttribute('opacity', '0.15');
82
+ svg.appendChild(area);
83
+ seg = [];
84
+ };
85
+ for (const p of points) {
86
+ if (p.isNull) {
87
+ flushArea();
88
+ continue;
89
+ }
90
+ seg.push(p);
91
+ }
92
+ flushArea();
93
+ }
94
+ function drawLinePath(svg, points, color, dashed) {
95
+ let linePath = '';
96
+ for (const p of points) {
97
+ if (p.isNull)
98
+ continue;
99
+ const idx = points.indexOf(p);
100
+ const prevNull = idx === 0 || points[idx - 1].isNull;
101
+ linePath += `${prevNull ? 'M' : 'L'} ${p.x},${p.y} `;
102
+ }
103
+ if (!linePath)
104
+ return;
105
+ const line = document.createElementNS('http://www.w3.org/2000/svg', 'path');
106
+ line.setAttribute('d', linePath.trim());
107
+ line.setAttribute('fill', 'none');
108
+ line.setAttribute('stroke', color);
109
+ line.setAttribute('stroke-width', '2');
110
+ if (dashed)
111
+ line.setAttribute('stroke-dasharray', '6 3');
112
+ svg.appendChild(line);
113
+ }
114
+ function drawDots(svg, points, color) {
115
+ const seriesDots = [];
116
+ for (const p of points) {
117
+ const dot = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
118
+ dot.setAttribute('cx', String(p.x));
119
+ dot.setAttribute('cy', String(p.y));
120
+ dot.setAttribute('r', '4');
121
+ dot.setAttribute('fill', color);
122
+ dot.setAttribute('class', 'pf-data-dot');
123
+ dot.setAttribute('data-visible', 'false');
124
+ dot.style.pointerEvents = 'none';
125
+ if (p.isNull)
126
+ dot.style.display = 'none';
127
+ svg.appendChild(dot);
128
+ seriesDots.push(dot);
129
+ }
130
+ return seriesDots;
131
+ }
132
+ function drawCrosshair(svg, layout) {
133
+ const crosshair = document.createElementNS('http://www.w3.org/2000/svg', 'line');
134
+ crosshair.setAttribute('class', 'pf-crosshair');
135
+ crosshair.setAttribute('x1', String(layout.plotLeft));
136
+ crosshair.setAttribute('x2', String(layout.plotLeft));
137
+ crosshair.setAttribute('y1', String(layout.plotTop));
138
+ crosshair.setAttribute('y2', String(layout.plotBottom));
139
+ crosshair.setAttribute('stroke', AXIS_COLOR);
140
+ crosshair.setAttribute('stroke-width', '1');
141
+ crosshair.setAttribute('stroke-dasharray', '3 3');
142
+ crosshair.setAttribute('opacity', '0');
143
+ svg.appendChild(crosshair);
144
+ return crosshair;
145
+ }
146
+ export function renderLineChart(node, ctx) {
147
+ const wrapper = el('div', `pf-chart pf-${node.type.toLowerCase()}-chart`);
148
+ const p = cartesianProps(node, ctx);
149
+ const { rows: data, series: allSeries } = p;
150
+ if (data.length === 0 || allSeries.length === 0) {
151
+ wrapper.textContent = 'No chart data';
152
+ return wrapper;
153
+ }
154
+ const isArea = node.type === 'AreaChart';
155
+ const { layout, svg, leftMax, rightMax } = drawAxes(node, p, isArea ? 'Area' : 'Line');
156
+ const xAt = (i) => data.length === 1
157
+ ? (layout.plotLeft + layout.plotRight) / 2
158
+ : layout.plotLeft + (i / (data.length - 1)) * layout.plotWidth;
159
+ const dotGroups = [];
160
+ for (let si = 0; si < allSeries.length; si++) {
161
+ const s = allSeries[si];
162
+ const isRight = s.yAxisId === 'right';
163
+ const max = isRight ? rightMax : leftMax;
164
+ const color = s.color ?? COLORS[si % COLORS.length];
165
+ const points = data.map((d, i) => {
166
+ const raw = d[s.dataKey];
167
+ const isNull = raw === null || raw === undefined;
168
+ const y = isNull ? layout.plotBottom : layout.plotBottom - (Number(raw) / max) * layout.plotHeight;
169
+ return { x: xAt(i), y, isNull };
170
+ });
171
+ if (isArea)
172
+ drawAreaFill(svg, points, layout.plotBottom, color);
173
+ drawLinePath(svg, points, color, isRight);
174
+ dotGroups.push(drawDots(svg, points, color));
175
+ }
176
+ const crosshair = drawCrosshair(svg, layout);
177
+ if (p.xAxisKey) {
178
+ drawXAxisLabels(svg, data, p.xAxisKey, xAt, layout.plotBottom, pipeFormatter(p.xAxisFormat, ctx));
179
+ }
180
+ if (p.showTooltip) {
181
+ const ttCtx = createTooltip(wrapper, svg);
182
+ const fmt = makeTooltipFormatter(ctx, resolveValueFormat(node), p.yAxisRightFormat);
183
+ addLineTooltipZones(ttCtx, svg, data, allSeries, layout, p.tooltipXKey ?? p.xAxisKey, fmt, crosshair, dotGroups, pipeFormatter(p.tooltipXFormat, ctx));
184
+ }
185
+ addLegend(wrapper, allSeries, p.showLegend);
186
+ wrapper.appendChild(svg);
187
+ return wrapper;
188
+ }
189
+ //# sourceMappingURL=cartesian.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cartesian.js","sourceRoot":"","sources":["../../../../src/renderer/components/charts/cartesian.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  /**
2
- * Shared chart rendering helpers — colors, axes, SVG primitives, legend,
3
- * value formatting. Used by the per-chart renderers in [charts.ts] and the
4
- * tooltip zones in [chart-tooltip.ts].
2
+ * Shared chart rendering helpers: colors, axes, SVG primitives, legend,
3
+ * value formatting.
5
4
  */
6
- import type { ComponentNode, RenderContext } from '../engine.js';
5
+ import type { ComponentNode, RenderContext } from '../../engine.js';
7
6
  export declare const COLORS: string[];
8
7
  export declare const AXIS_COLOR = "var(--muted-foreground, #6b7280)";
9
8
  export declare const GRID_COLOR = "var(--border, #e5e7eb)";
@@ -59,5 +58,5 @@ export declare function polar(cx: number, cy: number, r: number, angleDeg: numbe
59
58
  };
60
59
  /** Sampled arc stroke path between two angles — avoids large-arc/sweep flag math. */
61
60
  export declare function arcPath(cx: number, cy: number, r: number, a1: number, a2: number): string;
62
- export declare function addLegend(wrapper: HTMLElement, series: SeriesEntry[], show?: boolean): void;
63
- //# sourceMappingURL=chart-helpers.d.ts.map
61
+ export declare function addLegend(wrapper: HTMLElement, series: SeriesEntry[], show: boolean): void;
62
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/renderer/components/charts/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Shared chart rendering helpers — colors, axes, SVG primitives, legend,
3
- * value formatting. Used by the per-chart renderers in [charts.ts] and the
4
- * tooltip zones in [chart-tooltip.ts].
2
+ * Shared chart rendering helpers: colors, axes, SVG primitives, legend,
3
+ * value formatting.
5
4
  */
6
- import { resolveValue, el } from '../engine.js';
7
- import { stringifyValue } from '../../core/stringify.js';
5
+ import { resolveValue, el } from '../../engine.js';
6
+ import { stringifyValue } from '../../../core/stringify.js';
7
+ import { optionalString } from '../../../core/guards.js';
8
8
  export const COLORS = ['#3b82f6', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6', '#ec4899'];
9
9
  export const AXIS_COLOR = 'var(--muted-foreground, #6b7280)';
10
10
  export const GRID_COLOR = 'var(--border, #e5e7eb)';
@@ -117,7 +117,7 @@ export function formatYValue(value, format) {
117
117
  * charts. `"auto"` (upstream's default) means "no explicit format".
118
118
  */
119
119
  export function resolveValueFormat(node) {
120
- const fmt = node.yAxisFormat ?? node.valueFormat;
120
+ const fmt = optionalString(node.yAxisFormat) ?? optionalString(node.valueFormat);
121
121
  return fmt && fmt !== 'auto' ? fmt : undefined;
122
122
  }
123
123
  /** Create a format callback for tooltip entries that handles per-axis formats + null. */
@@ -175,7 +175,7 @@ export function arcPath(cx, cy, r, a1, a2) {
175
175
  }
176
176
  // ── Legend ───────────────────────────────────────────────────────────────────
177
177
  export function addLegend(wrapper, series, show) {
178
- if (show === false || series.length <= 1)
178
+ if (!show || series.length <= 1)
179
179
  return;
180
180
  const legend = el('div', 'pf-chart-legend');
181
181
  legend.style.display = 'flex';
@@ -200,4 +200,4 @@ export function addLegend(wrapper, series, show) {
200
200
  }
201
201
  wrapper.appendChild(legend);
202
202
  }
203
- //# sourceMappingURL=chart-helpers.js.map
203
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/renderer/components/charts/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function registerChartComponents(): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/renderer/components/charts/index.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,IAAI,IAAI,CAS9C"}
@@ -0,0 +1,15 @@
1
+ import { registerComponent } from '../../engine.js';
2
+ import { renderBarChart, renderLineChart } from './cartesian.js';
3
+ import { renderPieChart, renderRadarChart, renderRadialChart } from './polar.js';
4
+ import { renderHistogram, renderScatterChart } from './scatter.js';
5
+ export function registerChartComponents() {
6
+ registerComponent('BarChart', renderBarChart);
7
+ registerComponent('LineChart', renderLineChart);
8
+ registerComponent('AreaChart', renderLineChart);
9
+ registerComponent('PieChart', renderPieChart);
10
+ registerComponent('RadarChart', renderRadarChart);
11
+ registerComponent('ScatterChart', renderScatterChart);
12
+ registerComponent('RadialChart', renderRadialChart);
13
+ registerComponent('Histogram', renderHistogram);
14
+ }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/renderer/components/charts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAElE,MAAM,UAAU,uBAAuB;IACrC,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;IAC7C,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAC/C,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAC/C,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;IAC7C,iBAAiB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IACjD,iBAAiB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IACrD,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAA;IACnD,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ComponentNode, RenderContext } from '../../engine.js';
2
+ export declare function renderPieChart(node: ComponentNode, ctx: RenderContext): HTMLElement;
3
+ export declare function renderRadialChart(node: ComponentNode, ctx: RenderContext): HTMLElement;
4
+ export declare function renderRadarChart(node: ComponentNode, ctx: RenderContext): HTMLElement;
5
+ //# sourceMappingURL=polar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polar.d.ts","sourceRoot":"","sources":["../../../../src/renderer/components/charts/polar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAiBnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAuEnF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAwDtF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,CAkFrF"}
@@ -0,0 +1,189 @@
1
+ import { el } from '../../engine.js';
2
+ import { bindTooltip, createTooltip } from './tooltip.js';
3
+ import { COLORS, AXIS_COLOR, GRID_COLOR, AXIS_FONT, createSvg, svgEl, svgText, polar, arcPath, applyPipeFormat, resolveValueFormat, addLegend, } from './helpers.js';
4
+ import { categoricalKeys, chartHeight, chartRows, chartSeries, seriesMax } from './props.js';
5
+ import { stringifyValue } from '../../../core/stringify.js';
6
+ import { optionalNumber, optionalString } from '../../../core/guards.js';
7
+ function valueFormatter(node, ctx) {
8
+ const valueFmt = resolveValueFormat(node);
9
+ return (v) => valueFmt ? applyPipeFormat(v, valueFmt, ctx) : String(v);
10
+ }
11
+ export function renderPieChart(node, ctx) {
12
+ const wrapper = el('div', 'pf-chart pf-pie-chart');
13
+ const data = chartRows(node, ctx);
14
+ const seriesIn = chartSeries(node);
15
+ const size = Math.min(chartHeight(node, 300), 300);
16
+ const showTooltipProp = node.showTooltip !== false;
17
+ const { valueKey: key, nameKey } = categoricalKeys(node, seriesIn);
18
+ const series = seriesIn.length > 0
19
+ ? seriesIn
20
+ : (key ? [{ dataKey: key, label: key }] : []);
21
+ if (data.length === 0 || !key) {
22
+ wrapper.textContent = 'No chart data';
23
+ return wrapper;
24
+ }
25
+ const svg = createSvg(size, size, 'Pie');
26
+ const cx = size / 2;
27
+ const cy = size / 2;
28
+ const r = size / 2 - 10;
29
+ const tooltipXFormat = optionalString(node.tooltipXFormat);
30
+ const fmtValue = valueFormatter(node, ctx);
31
+ const values = data.map(d => Number(d[key] ?? 0));
32
+ const total = values.reduce((a, b) => a + b, 0);
33
+ if (total === 0) {
34
+ wrapper.textContent = 'No chart data';
35
+ wrapper.appendChild(svg);
36
+ return wrapper;
37
+ }
38
+ const ttCtx = showTooltipProp ? createTooltip(wrapper, svg) : undefined;
39
+ let startAngle = -Math.PI / 2;
40
+ for (let i = 0; i < values.length; i++) {
41
+ const angle = (values[i] / total) * 2 * Math.PI;
42
+ const endAngle = startAngle + angle;
43
+ const largeArc = angle > Math.PI ? 1 : 0;
44
+ const x1 = cx + r * Math.cos(startAngle);
45
+ const y1 = cy + r * Math.sin(startAngle);
46
+ const x2 = cx + r * Math.cos(endAngle);
47
+ const y2 = cy + r * Math.sin(endAngle);
48
+ const color = COLORS[i % COLORS.length];
49
+ const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
50
+ path.setAttribute('d', `M ${cx},${cy} L ${x1},${y1} A ${r},${r} 0 ${largeArc} 1 ${x2},${y2} Z`);
51
+ path.setAttribute('fill', color);
52
+ path.style.cursor = 'default';
53
+ if (ttCtx) {
54
+ const rawSlice = nameKey ? data[i][nameKey] : undefined;
55
+ const sliceLabel = rawSlice != null
56
+ ? (tooltipXFormat ? applyPipeFormat(rawSlice, tooltipXFormat, ctx) : stringifyValue(rawSlice))
57
+ : `Slice ${i + 1}`;
58
+ const pct = `${((values[i] / total) * 100).toFixed(1)}%`;
59
+ const tipX = cx + (r * 0.6) * Math.cos(startAngle + angle / 2);
60
+ bindTooltip(path, ttCtx, tipX, cy, sliceLabel, [
61
+ { label: series[0].label ?? key, value: `${fmtValue(values[i])} (${pct})`, color },
62
+ ]);
63
+ }
64
+ svg.appendChild(path);
65
+ startAngle = endAngle;
66
+ }
67
+ addLegend(wrapper, series, node.showLegend !== false);
68
+ wrapper.appendChild(svg);
69
+ return wrapper;
70
+ }
71
+ export function renderRadialChart(node, ctx) {
72
+ const wrapper = el('div', 'pf-chart pf-radial-chart');
73
+ const data = chartRows(node, ctx);
74
+ const seriesIn = chartSeries(node);
75
+ const { valueKey: dataKey, nameKey } = categoricalKeys(node, seriesIn);
76
+ if (data.length === 0 || !dataKey) {
77
+ wrapper.textContent = 'No chart data';
78
+ return wrapper;
79
+ }
80
+ const size = Math.min(chartHeight(node, 300), 300);
81
+ const cx = size / 2;
82
+ const cy = size / 2;
83
+ const outer = size / 2 - 10;
84
+ const inner = Math.max(0, Math.min(optionalNumber(node.innerRadius) ?? 30, outer - 10));
85
+ const startAngle = optionalNumber(node.startAngle) ?? 180;
86
+ const endAngle = optionalNumber(node.endAngle) ?? 0;
87
+ const values = data.map(d => Number(d[dataKey] ?? 0));
88
+ const max = Math.max(...values, 1);
89
+ const svg = createSvg(size, size, 'Radial');
90
+ const band = (outer - inner) / data.length;
91
+ const thickness = Math.max(2, band * 0.7);
92
+ const fmt = valueFormatter(node, ctx);
93
+ const ttCtx = node.showTooltip !== false ? createTooltip(wrapper, svg) : undefined;
94
+ const legendSeries = [];
95
+ for (let i = 0; i < data.length; i++) {
96
+ const rMid = outer - band * i - band / 2;
97
+ const color = seriesIn[i]?.color ?? COLORS[i % COLORS.length];
98
+ const valueEnd = startAngle + (values[i] / max) * (endAngle - startAngle);
99
+ const rawName = nameKey ? data[i][nameKey] : null;
100
+ const name = rawName != null ? stringifyValue(rawName) : (seriesIn[i]?.label ?? dataKey);
101
+ legendSeries.push({ dataKey: name || dataKey, label: name || dataKey, color });
102
+ svg.appendChild(svgEl('path', {
103
+ d: arcPath(cx, cy, rMid, startAngle, endAngle),
104
+ fill: 'none', stroke: GRID_COLOR, 'stroke-width': thickness, 'stroke-linecap': 'round',
105
+ }));
106
+ const arc = svgEl('path', {
107
+ d: arcPath(cx, cy, rMid, startAngle, valueEnd),
108
+ fill: 'none', stroke: color, 'stroke-width': thickness, 'stroke-linecap': 'round',
109
+ });
110
+ if (ttCtx) {
111
+ const mid = polar(cx, cy, rMid, (startAngle + valueEnd) / 2);
112
+ bindTooltip(arc, ttCtx, mid.x, mid.y, name || dataKey, [{ label: dataKey, value: fmt(values[i]), color }]);
113
+ }
114
+ svg.appendChild(arc);
115
+ }
116
+ addLegend(wrapper, legendSeries, node.showLegend !== false);
117
+ wrapper.appendChild(svg);
118
+ return wrapper;
119
+ }
120
+ export function renderRadarChart(node, ctx) {
121
+ const wrapper = el('div', 'pf-chart pf-radar-chart');
122
+ const data = chartRows(node, ctx);
123
+ const series = chartSeries(node);
124
+ const axisKey = optionalString(node.axisKey) ?? optionalString(node.xAxis);
125
+ if (data.length === 0 || series.length === 0) {
126
+ wrapper.textContent = 'No chart data';
127
+ return wrapper;
128
+ }
129
+ const filled = node.filled !== false;
130
+ const showDots = node.showDots === true;
131
+ const showGrid = node.showGrid !== false;
132
+ const size = Math.min(chartHeight(node, 300), 320);
133
+ const cx = size / 2;
134
+ const cy = size / 2;
135
+ const R = size / 2 - 24;
136
+ const N = data.length;
137
+ const max = seriesMax(data, series);
138
+ const angleAt = (i) => 90 - (360 * i) / N;
139
+ const ptStr = (pts) => pts.map(p => `${p.x.toFixed(1)},${p.y.toFixed(1)}`).join(' ');
140
+ const svg = createSvg(size, size, 'Radar');
141
+ if (showGrid) {
142
+ const rings = 4;
143
+ for (let r = 1; r <= rings; r++) {
144
+ const rr = (R * r) / rings;
145
+ const ring = Array.from({ length: N }, (_unused, i) => polar(cx, cy, rr, angleAt(i)));
146
+ svg.appendChild(svgEl('polygon', { points: ptStr(ring), fill: 'none', stroke: GRID_COLOR, 'stroke-width': 1 }));
147
+ }
148
+ for (let i = 0; i < N; i++) {
149
+ const p = polar(cx, cy, R, angleAt(i));
150
+ svg.appendChild(svgEl('line', { x1: cx, y1: cy, x2: p.x, y2: p.y, stroke: GRID_COLOR, 'stroke-width': 1 }));
151
+ }
152
+ }
153
+ for (let i = 0; i < N; i++) {
154
+ const p = polar(cx, cy, R + 12, angleAt(i));
155
+ const raw = axisKey ? data[i][axisKey] : null;
156
+ svg.appendChild(svgText({ x: p.x, y: p.y + 3, 'text-anchor': 'middle', 'font-size': AXIS_FONT, fill: AXIS_COLOR }, stringifyValue(raw)));
157
+ }
158
+ const ttCtx = node.showTooltip !== false ? createTooltip(wrapper, svg) : undefined;
159
+ const fmt = valueFormatter(node, ctx);
160
+ for (let si = 0; si < series.length; si++) {
161
+ const s = series[si];
162
+ const color = s.color ?? COLORS[si % COLORS.length];
163
+ const pts = data.map((d, i) => polar(cx, cy, (Number(d[s.dataKey] ?? 0) / max) * R, angleAt(i)));
164
+ svg.appendChild(svgEl('polygon', {
165
+ points: ptStr(pts),
166
+ fill: filled ? color : 'none', 'fill-opacity': filled ? 0.2 : 0,
167
+ stroke: color, 'stroke-width': 2,
168
+ }));
169
+ if (!showDots && !ttCtx)
170
+ continue;
171
+ for (let i = 0; i < pts.length; i++) {
172
+ const dot = svgEl('circle', {
173
+ cx: pts[i].x, cy: pts[i].y, r: showDots ? 3 : 6,
174
+ fill: showDots ? color : 'transparent', 'fill-opacity': showDots ? 1 : 0,
175
+ });
176
+ if (ttCtx) {
177
+ const raw = axisKey ? data[i][axisKey] : null;
178
+ const title = raw != null ? stringifyValue(raw) : (s.label ?? s.dataKey);
179
+ const entries = [{ label: s.label ?? s.dataKey, value: fmt(Number(data[i][s.dataKey] ?? 0)), color }];
180
+ bindTooltip(dot, ttCtx, pts[i].x, pts[i].y, title, entries);
181
+ }
182
+ svg.appendChild(dot);
183
+ }
184
+ }
185
+ addLegend(wrapper, series, node.showLegend !== false);
186
+ wrapper.appendChild(svg);
187
+ return wrapper;
188
+ }
189
+ //# sourceMappingURL=polar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polar.js","sourceRoot":"","sources":["../../../../src/renderer/components/charts/polar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { ComponentNode, RenderContext } from '../../engine.js';
2
+ import type { SeriesEntry } from './helpers.js';
3
+ export type ChartRow = Record<string, unknown>;
4
+ export declare function chartRows(node: ComponentNode, ctx: RenderContext): ChartRow[];
5
+ export declare function chartValues(node: ComponentNode, ctx: RenderContext): number[] | undefined;
6
+ export declare function chartSeries(node: ComponentNode): SeriesEntry[];
7
+ export declare function chartHeight(node: ComponentNode, fallback: number): number;
8
+ export declare function seriesMax(rows: ChartRow[], series: SeriesEntry[]): number;
9
+ export interface CategoricalKeys {
10
+ valueKey: string | undefined;
11
+ nameKey: string | undefined;
12
+ }
13
+ export declare function categoricalKeys(node: ComponentNode, series: SeriesEntry[]): CategoricalKeys;
14
+ export interface CartesianProps {
15
+ rows: ChartRow[];
16
+ series: SeriesEntry[];
17
+ height: number;
18
+ showYAxis: boolean;
19
+ showGrid: boolean;
20
+ showYAxisRight: boolean;
21
+ showTooltip: boolean;
22
+ showLegend: boolean;
23
+ xAxisKey: string | undefined;
24
+ tooltipXKey: string | undefined;
25
+ xAxisFormat: string | undefined;
26
+ tooltipXFormat: string | undefined;
27
+ yAxisRightFormat: string | undefined;
28
+ }
29
+ export declare function cartesianProps(node: ComponentNode, ctx: RenderContext): CartesianProps;
30
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../src/renderer/components/charts/props.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9C,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,QAAQ,EAAE,CAE7E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,SAAS,CAIzF;AAqBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,CAM9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAEzE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAK3F;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,cAAc,CAgBtF"}