@maxhealth.tech/prefab 0.2.5 → 0.2.7

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.
@@ -5,6 +5,7 @@
5
5
  * For production use, these can be enhanced with a charting library.
6
6
  */
7
7
  import { registerComponent, resolveValue, el } from '../engine.js';
8
+ import { createTooltip, addBarTooltipZones, addLineTooltipZones, showTooltipAt } from './chart-tooltip.js';
8
9
  export function registerChartComponents() {
9
10
  registerComponent('BarChart', renderBarChart);
10
11
  registerComponent('LineChart', renderLineChart);
@@ -95,7 +96,7 @@ function drawYAxisRight(svg, layout, max, format) {
95
96
  }
96
97
  }
97
98
  /** Draw X-axis labels under the plot area. */
98
- function drawXAxisLabels(svg, data, xAxisKey, getX, yBase) {
99
+ function drawXAxisLabels(svg, data, xAxisKey, getX, yBase, format) {
99
100
  for (let i = 0; i < data.length; i++) {
100
101
  const label = document.createElementNS('http://www.w3.org/2000/svg', 'text');
101
102
  label.setAttribute('x', String(getX(i)));
@@ -104,7 +105,7 @@ function drawXAxisLabels(svg, data, xAxisKey, getX, yBase) {
104
105
  label.setAttribute('font-size', AXIS_FONT);
105
106
  label.setAttribute('fill', AXIS_COLOR);
106
107
  const val = data[i][xAxisKey];
107
- label.textContent = val == null ? '' : String(val);
108
+ label.textContent = val == null ? '' : (format ? format(val) : String(val));
108
109
  svg.appendChild(label);
109
110
  }
110
111
  }
@@ -119,7 +120,14 @@ function drawBaseline(svg, layout) {
119
120
  line.setAttribute('stroke-width', '1');
120
121
  svg.appendChild(line);
121
122
  }
122
- function formatYValue(value, format) {
123
+ /** Apply a pipe expression to a value using the Rx engine. */
124
+ function applyPipeFormat(value, pipe, ctx) {
125
+ if (value == null)
126
+ return '';
127
+ const result = resolveValue(`{{ __v | ${pipe} }}`, { ...ctx, scope: { ...ctx.scope, __v: value } });
128
+ return result == null ? String(value) : String(result);
129
+ }
130
+ export function formatYValue(value, format) {
123
131
  if (format === 'currency')
124
132
  return `$${value.toLocaleString()}`;
125
133
  if (format === 'percent')
@@ -130,6 +138,18 @@ function formatYValue(value, format) {
130
138
  return `${(value / 1_000).toFixed(1)}K`;
131
139
  return String(value);
132
140
  }
141
+ /** Create a format callback for tooltip entries that handles per-axis formats + null. */
142
+ function makeTooltipFormatter(ctx, yAxisFormat, yAxisRightFormat) {
143
+ return (raw, s) => {
144
+ if (raw === null || raw === undefined)
145
+ return '\u2014';
146
+ // Per-series tooltipFormat overrides axis format
147
+ if (s.tooltipFormat)
148
+ return applyPipeFormat(raw, s.tooltipFormat, ctx);
149
+ const fmt = s.yAxisId === 'right' ? yAxisRightFormat : yAxisFormat;
150
+ return formatYValue(Number(raw), fmt);
151
+ };
152
+ }
133
153
  function renderBarChart(node, ctx) {
134
154
  const wrapper = el('div', 'pf-chart pf-bar-chart');
135
155
  const data = resolveValue(node.data, ctx) ?? [];
@@ -142,7 +162,11 @@ function renderBarChart(node, ctx) {
142
162
  const showYAxis = node.showYAxis !== false;
143
163
  const showGrid = node.showGrid === true;
144
164
  const showYAxisRight = node.showYAxisRight === true;
165
+ const showTooltipProp = node.showTooltip !== false;
145
166
  const xAxisKey = node.xAxis;
167
+ const tooltipXKey = node.tooltipXKey;
168
+ const xAxisFormat = node.xAxisFormat;
169
+ const tooltipXFormat = node.tooltipXFormat;
146
170
  const leftSeries = series.filter(s => s.yAxisId !== 'right');
147
171
  const rightSeries = series.filter(s => s.yAxisId === 'right');
148
172
  const hasRight = showYAxisRight && rightSeries.length > 0;
@@ -154,7 +178,7 @@ function renderBarChart(node, ctx) {
154
178
  : 1;
155
179
  const w = 400;
156
180
  const layout = chartLayout(w, height, showYAxis, hasRight);
157
- const svg = createSvg(w, height);
181
+ const svg = createSvg(w, height, 'Bar');
158
182
  // Axes + grid (behind bars)
159
183
  if (showYAxis)
160
184
  drawYAxis(svg, layout, leftMax, showGrid, node.yAxisFormat);
@@ -167,9 +191,12 @@ function renderBarChart(node, ctx) {
167
191
  for (let di = 0; di < data.length; di++) {
168
192
  for (let si = 0; si < series.length; si++) {
169
193
  const s = series[si];
194
+ const raw = data[di][s.dataKey];
195
+ if (raw === null || raw === undefined)
196
+ continue; // skip null bars
170
197
  const isRight = s.yAxisId === 'right';
171
198
  const max = isRight ? rightMax : leftMax;
172
- const val = Number(data[di][s.dataKey] ?? 0);
199
+ const val = Number(raw);
173
200
  const h = Math.max(0, (val / max) * layout.plotHeight);
174
201
  const x = layout.plotLeft + di * barGroupWidth + si * barWidth + barWidth / 2;
175
202
  const rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
@@ -184,9 +211,17 @@ function renderBarChart(node, ctx) {
184
211
  }
185
212
  // X-axis labels
186
213
  if (xAxisKey) {
214
+ const axisLabelFmt = xAxisFormat ? (v) => applyPipeFormat(v, xAxisFormat, ctx) : undefined;
187
215
  drawXAxisLabels(svg, data, xAxisKey, (i) => {
188
216
  return layout.plotLeft + i * barGroupWidth + barGroupWidth / 2;
189
- }, layout.plotBottom);
217
+ }, layout.plotBottom, axisLabelFmt);
218
+ }
219
+ // Tooltip hit-zones (on top of bars)
220
+ if (showTooltipProp) {
221
+ const ttCtx = createTooltip(wrapper, svg);
222
+ const fmt = makeTooltipFormatter(ctx, node.yAxisFormat, node.yAxisRightFormat);
223
+ const ttLabelFmt = tooltipXFormat ? (v) => applyPipeFormat(v, tooltipXFormat, ctx) : undefined;
224
+ addBarTooltipZones(ttCtx, svg, data, series, layout, tooltipXKey ?? xAxisKey, fmt, ttLabelFmt);
190
225
  }
191
226
  addLegend(wrapper, series, node.showLegend);
192
227
  wrapper.appendChild(svg);
@@ -204,7 +239,11 @@ function renderLineChart(node, ctx) {
204
239
  const showYAxis = node.showYAxis !== false;
205
240
  const showGrid = node.showGrid === true;
206
241
  const showYAxisRight = node.showYAxisRight === true;
242
+ const showTooltipProp = node.showTooltip !== false;
207
243
  const xAxisKey = node.xAxis;
244
+ const tooltipXKey = node.tooltipXKey;
245
+ const xAxisFormat = node.xAxisFormat;
246
+ const tooltipXFormat = node.tooltipXFormat;
208
247
  // Split series by axis
209
248
  const leftSeries = allSeries.filter(s => s.yAxisId !== 'right');
210
249
  const rightSeries = allSeries.filter(s => s.yAxisId === 'right');
@@ -218,7 +257,7 @@ function renderLineChart(node, ctx) {
218
257
  : 1;
219
258
  const w = 400;
220
259
  const layout = chartLayout(w, height, showYAxis, hasRight);
221
- const svg = createSvg(w, height);
260
+ const svg = createSvg(w, height, node.type === 'AreaChart' ? 'Area' : 'Line');
222
261
  const isArea = node.type === 'AreaChart';
223
262
  // Draw grid + axes (behind data)
224
263
  if (showYAxis)
@@ -226,46 +265,115 @@ function renderLineChart(node, ctx) {
226
265
  if (hasRight)
227
266
  drawYAxisRight(svg, layout, rightMax, node.yAxisRightFormat);
228
267
  drawBaseline(svg, layout);
229
- // Draw series
268
+ // Draw series (with null-gap handling)
269
+ const dotGroups = []; // one array of dots per series
230
270
  for (let si = 0; si < allSeries.length; si++) {
231
271
  const s = allSeries[si];
232
272
  const isRight = s.yAxisId === 'right';
233
273
  const max = isRight ? rightMax : leftMax;
274
+ const color = s.color ?? COLORS[si % COLORS.length];
234
275
  const points = data.map((d, i) => {
276
+ const raw = d[s.dataKey];
277
+ const isNull = raw === null || raw === undefined;
235
278
  const x = data.length === 1
236
279
  ? (layout.plotLeft + layout.plotRight) / 2
237
280
  : layout.plotLeft + (i / (data.length - 1)) * layout.plotWidth;
238
- const y = layout.plotBottom - (Number(d[s.dataKey] ?? 0) / max) * layout.plotHeight;
239
- return { x, y };
281
+ const y = isNull ? layout.plotBottom : layout.plotBottom - (Number(raw) / max) * layout.plotHeight;
282
+ return { x, y, isNull };
240
283
  });
241
- const color = s.color ?? COLORS[si % COLORS.length];
242
- if (isArea && points.length > 0) {
243
- const areaPath = `M ${points[0].x},${layout.plotBottom} ` +
244
- points.map(p => `L ${p.x},${p.y}`).join(' ') +
245
- ` L ${points[points.length - 1].x},${layout.plotBottom} Z`;
246
- const area = document.createElementNS('http://www.w3.org/2000/svg', 'path');
247
- area.setAttribute('d', areaPath);
248
- area.setAttribute('fill', color);
249
- area.setAttribute('opacity', '0.15');
250
- svg.appendChild(area);
284
+ // Area fill (skip null segments)
285
+ if (isArea) {
286
+ let seg = [];
287
+ const flushArea = () => {
288
+ if (seg.length < 2) {
289
+ seg = [];
290
+ return;
291
+ }
292
+ const d = `M ${seg[0].x},${layout.plotBottom} ` +
293
+ seg.map(p => `L ${p.x},${p.y}`).join(' ') +
294
+ ` L ${seg[seg.length - 1].x},${layout.plotBottom} Z`;
295
+ const area = document.createElementNS('http://www.w3.org/2000/svg', 'path');
296
+ area.setAttribute('d', d);
297
+ area.setAttribute('fill', color);
298
+ area.setAttribute('opacity', '0.15');
299
+ svg.appendChild(area);
300
+ seg = [];
301
+ };
302
+ for (const p of points) {
303
+ if (p.isNull) {
304
+ flushArea();
305
+ continue;
306
+ }
307
+ seg.push(p);
308
+ }
309
+ flushArea();
251
310
  }
252
- const linePath = points.map((p, i) => `${i === 0 ? 'M' : 'L'} ${p.x},${p.y}`).join(' ');
253
- const line = document.createElementNS('http://www.w3.org/2000/svg', 'path');
254
- line.setAttribute('d', linePath);
255
- line.setAttribute('fill', 'none');
256
- line.setAttribute('stroke', color);
257
- line.setAttribute('stroke-width', '2');
258
- if (isRight)
259
- line.setAttribute('stroke-dasharray', '6 3');
260
- svg.appendChild(line);
311
+ // Line path with gap handling: break into segments on null
312
+ let linePath = '';
313
+ for (const p of points) {
314
+ if (p.isNull) { /* gap — next valid point starts a new M */
315
+ continue;
316
+ }
317
+ // Check if previous point was null → start new segment
318
+ const idx = points.indexOf(p);
319
+ const prevNull = idx === 0 || points[idx - 1].isNull;
320
+ linePath += `${prevNull ? 'M' : 'L'} ${p.x},${p.y} `;
321
+ }
322
+ if (linePath) {
323
+ const line = document.createElementNS('http://www.w3.org/2000/svg', 'path');
324
+ line.setAttribute('d', linePath.trim());
325
+ line.setAttribute('fill', 'none');
326
+ line.setAttribute('stroke', color);
327
+ line.setAttribute('stroke-width', '2');
328
+ if (isRight)
329
+ line.setAttribute('stroke-dasharray', '6 3');
330
+ svg.appendChild(line);
331
+ }
332
+ // Data-point dots (hidden by default, shown on hover)
333
+ const seriesDots = [];
334
+ for (const p of points) {
335
+ const dot = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
336
+ dot.setAttribute('cx', String(p.x));
337
+ dot.setAttribute('cy', String(p.y));
338
+ dot.setAttribute('r', '4');
339
+ dot.setAttribute('fill', color);
340
+ dot.setAttribute('class', 'pf-data-dot');
341
+ dot.setAttribute('data-visible', 'false');
342
+ dot.style.pointerEvents = 'none';
343
+ if (p.isNull)
344
+ dot.style.display = 'none';
345
+ svg.appendChild(dot);
346
+ seriesDots.push(dot);
347
+ }
348
+ dotGroups.push(seriesDots);
261
349
  }
350
+ // Crosshair line (hidden by default)
351
+ const crosshair = document.createElementNS('http://www.w3.org/2000/svg', 'line');
352
+ crosshair.setAttribute('class', 'pf-crosshair');
353
+ crosshair.setAttribute('x1', String(layout.plotLeft));
354
+ crosshair.setAttribute('x2', String(layout.plotLeft));
355
+ crosshair.setAttribute('y1', String(layout.plotTop));
356
+ crosshair.setAttribute('y2', String(layout.plotBottom));
357
+ crosshair.setAttribute('stroke', AXIS_COLOR);
358
+ crosshair.setAttribute('stroke-width', '1');
359
+ crosshair.setAttribute('stroke-dasharray', '3 3');
360
+ crosshair.setAttribute('opacity', '0');
361
+ svg.appendChild(crosshair);
262
362
  // X-axis labels
263
363
  if (xAxisKey) {
364
+ const axisLabelFmt = xAxisFormat ? (v) => applyPipeFormat(v, xAxisFormat, ctx) : undefined;
264
365
  drawXAxisLabels(svg, data, xAxisKey, (i) => {
265
366
  return data.length === 1
266
367
  ? (layout.plotLeft + layout.plotRight) / 2
267
368
  : layout.plotLeft + (i / (data.length - 1)) * layout.plotWidth;
268
- }, layout.plotBottom);
369
+ }, layout.plotBottom, axisLabelFmt);
370
+ }
371
+ // Tooltip hit-zones (on top of lines)
372
+ if (showTooltipProp) {
373
+ const ttCtx = createTooltip(wrapper, svg);
374
+ const fmt = makeTooltipFormatter(ctx, node.yAxisFormat, node.yAxisRightFormat);
375
+ const ttLabelFmt = tooltipXFormat ? (v) => applyPipeFormat(v, tooltipXFormat, ctx) : undefined;
376
+ addLineTooltipZones(ttCtx, svg, data, allSeries, layout, tooltipXKey ?? xAxisKey, fmt, crosshair, dotGroups, ttLabelFmt);
269
377
  }
270
378
  addLegend(wrapper, allSeries, node.showLegend);
271
379
  wrapper.appendChild(svg);
@@ -277,16 +385,20 @@ function renderPieChart(node, ctx) {
277
385
  const series = node.series ?? [];
278
386
  const height = node.height ?? 300;
279
387
  const size = Math.min(height, 300);
388
+ const showTooltipProp = node.showTooltip !== false;
280
389
  if (data.length === 0 || series.length === 0) {
281
390
  wrapper.textContent = 'No chart data';
282
391
  return wrapper;
283
392
  }
284
- const svg = createSvg(size, size);
393
+ const svg = createSvg(size, size, 'Pie');
285
394
  const cx = size / 2;
286
395
  const cy = size / 2;
287
396
  const r = size / 2 - 10;
288
397
  // Use first series key, each data point is a slice
289
398
  const key = series[0].dataKey;
399
+ const xAxisKey = node.xAxis;
400
+ const tooltipXKey = node.tooltipXKey;
401
+ const tooltipXFormat = node.tooltipXFormat;
290
402
  const values = data.map(d => Number(d[key] ?? 0));
291
403
  const total = values.reduce((a, b) => a + b, 0);
292
404
  if (total === 0) {
@@ -294,6 +406,7 @@ function renderPieChart(node, ctx) {
294
406
  wrapper.appendChild(svg);
295
407
  return wrapper;
296
408
  }
409
+ const ttCtx = showTooltipProp ? createTooltip(wrapper, svg) : undefined;
297
410
  let startAngle = -Math.PI / 2;
298
411
  for (let i = 0; i < values.length; i++) {
299
412
  const angle = (values[i] / total) * 2 * Math.PI;
@@ -303,9 +416,37 @@ function renderPieChart(node, ctx) {
303
416
  const y1 = cy + r * Math.sin(startAngle);
304
417
  const x2 = cx + r * Math.cos(endAngle);
305
418
  const y2 = cy + r * Math.sin(endAngle);
419
+ const color = COLORS[i % COLORS.length];
306
420
  const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
307
421
  path.setAttribute('d', `M ${cx},${cy} L ${x1},${y1} A ${r},${r} 0 ${largeArc} 1 ${x2},${y2} Z`);
308
- path.setAttribute('fill', COLORS[i % COLORS.length]);
422
+ path.setAttribute('fill', color);
423
+ path.style.cursor = 'default';
424
+ if (ttCtx) {
425
+ const sliceKey = tooltipXKey ?? xAxisKey;
426
+ const rawSlice = sliceKey ? data[i][sliceKey] : undefined;
427
+ const sliceLabel = rawSlice != null
428
+ ? (tooltipXFormat ? applyPipeFormat(rawSlice, tooltipXFormat, ctx) : String(rawSlice))
429
+ : `Slice ${i + 1}`;
430
+ const pct = `${((values[i] / total) * 100).toFixed(1)}%`;
431
+ const midAngle = startAngle + angle / 2;
432
+ const tipX = cx + (r * 0.6) * Math.cos(midAngle);
433
+ path.addEventListener('mouseenter', () => {
434
+ showTooltipAt(ttCtx, tipX, cy, sliceLabel, [
435
+ { label: series[0].label ?? key, value: `${values[i]} (${pct})`, color },
436
+ ]);
437
+ });
438
+ path.addEventListener('mouseleave', () => {
439
+ ttCtx.tooltip.classList.remove('pf-visible');
440
+ });
441
+ path.addEventListener('touchstart', () => {
442
+ showTooltipAt(ttCtx, tipX, cy, sliceLabel, [
443
+ { label: series[0].label ?? key, value: `${values[i]} (${pct})`, color },
444
+ ]);
445
+ }, { passive: true });
446
+ path.addEventListener('touchend', () => {
447
+ ttCtx.tooltip.classList.remove('pf-visible');
448
+ }, { passive: true });
449
+ }
309
450
  svg.appendChild(path);
310
451
  startAngle = endAngle;
311
452
  }
@@ -322,11 +463,15 @@ function renderFallbackChart(node, _ctx) {
322
463
  return e;
323
464
  }
324
465
  // ── Helpers ──────────────────────────────────────────────────────────────────
325
- function createSvg(width, height) {
466
+ function createSvg(width, height, chartType) {
326
467
  const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
327
468
  svg.setAttribute('width', '100%');
328
469
  svg.setAttribute('height', String(height));
329
470
  svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
471
+ svg.setAttribute('role', 'img');
472
+ if (chartType) {
473
+ svg.setAttribute('aria-label', `${chartType} chart`);
474
+ }
330
475
  svg.style.overflow = 'visible';
331
476
  return svg;
332
477
  }
@@ -380,14 +525,10 @@ function renderHistogram(node, ctx) {
380
525
  const W = 300;
381
526
  const H = height;
382
527
  const barW = W / binCount;
383
- const ns = 'http://www.w3.org/2000/svg';
384
- const svg = document.createElementNS(ns, 'svg');
385
- svg.setAttribute('viewBox', `0 0 ${W} ${H}`);
386
- svg.setAttribute('width', '100%');
387
- svg.setAttribute('height', String(H));
528
+ const svg = createSvg(W, H, 'Histogram');
388
529
  for (let i = 0; i < binCount; i++) {
389
530
  const barH = maxBin > 0 ? (bins[i] / maxBin) * H : 0;
390
- const rect = document.createElementNS(ns, 'rect');
531
+ const rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
391
532
  rect.setAttribute('x', String(i * barW));
392
533
  rect.setAttribute('y', String(H - barH));
393
534
  rect.setAttribute('width', String(barW - 1));
@@ -1 +1 @@
1
- {"version":3,"file":"charts.js","sourceRoot":"","sources":["../../../src/renderer/components/charts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charts.js","sourceRoot":"","sources":["../../../src/renderer/components/charts.ts"],"names":[],"mappings":"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"}