basalt-ui 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { crosshair } from "@tanstack/charts/crosshair";
2
2
  import { decorative } from "@tanstack/charts/mark/decorative";
3
3
  import { rect } from "@tanstack/charts/rect";
4
- import { ruleY } from "@tanstack/charts/rule";
4
+ import { ruleX, ruleY } from "@tanstack/charts/rule";
5
5
  import { scaleLinear } from "@tanstack/charts/scales/linear";
6
6
  import { scaleUtc } from "d3-scale";
7
7
  import { tooltip as tooltipHost } from "@tanstack/charts/tooltip";
@@ -9,6 +9,7 @@ import { portal } from "@tanstack/charts/tooltip/portal";
9
9
  import { fmtCompact } from "../format/number.js";
10
10
  import { VX } from "../tokens/index.js";
11
11
  import { cursorBinding, sourceOnlyFocus } from "./cursor.js";
12
+ import { cursorDots } from "./marks.js";
12
13
  import { resolveContainerClass } from "../tokens/size-classes.js";
13
14
  import { resolveYDomain, xScaleFor, xZoneFractions, yScaleFor } from "./scales.js";
14
15
  import { AXIS_LINE, CHART_THEME, CROSSHAIR, DASH, GRID_LINE } from "./theme.js";
@@ -47,6 +48,43 @@ function defaultFormatX(v) {
47
48
  return String(v);
48
49
  }
49
50
  const clampTo = (v, [lo, hi]) => Math.min(Math.max(v, Math.min(lo, hi)), Math.max(lo, hi));
51
+ const dashedSwatch = (color) => `repeating-linear-gradient(90deg, ${color} 0 2px, transparent 2px 4px) center / 100% 2px no-repeat`;
52
+ function engineRow(row) {
53
+ const { label, value, color, swatch, active } = row;
54
+ return {
55
+ label,
56
+ value,
57
+ ...color !== void 0 && { color: swatch === "dashed" ? dashedSwatch(color) : color },
58
+ ...active && { active }
59
+ };
60
+ }
61
+ function seriesRow(s, value, active) {
62
+ return engineRow({
63
+ label: s.note === void 0 ? s.label : `${s.label} \xB7 ${s.note}`,
64
+ value,
65
+ color: s.color,
66
+ swatch: s.dash === "dashed" ? "dashed" : "solid",
67
+ active
68
+ });
69
+ }
70
+ const REF_KEY_PREFIX = "__ref-";
71
+ const refLegendKey = (index) => `${REF_KEY_PREFIX}${index}`;
72
+ function refLegendSeries(refLines) {
73
+ return (refLines ?? []).flatMap(
74
+ (r, i) => r.legend === void 0 ? [] : [
75
+ {
76
+ key: refLegendKey(i),
77
+ label: r.legend.label,
78
+ color: r.color,
79
+ role: "reference",
80
+ tooltip: false,
81
+ getValue: () => null,
82
+ ...r.legend.mark !== void 0 && { mark: r.legend.mark },
83
+ ...r.dashed && { dash: "dashed" }
84
+ }
85
+ ]
86
+ );
87
+ }
50
88
  function visibleSeries(series, hidden) {
51
89
  return series.filter(
52
90
  (s) => !hidden.has(s.key) && !(s.parent !== void 0 && hidden.has(s.parent))
@@ -241,27 +279,73 @@ function resolveAxes(input, visible) {
241
279
  scaleId: (side) => side === "right" && hasY2 ? "y2" : "y"
242
280
  };
243
281
  }
282
+ const edgeSides = (edge, lower, upper) => ({
283
+ lower: edge !== void 0 && (edge.side === lower || edge.side === "both"),
284
+ upper: edge !== void 0 && (edge.side === upper || edge.side === "both")
285
+ });
286
+ const edgePaint = (edge) => ({
287
+ stroke: edge.color,
288
+ strokeOpacity: 1,
289
+ strokeWidth: edge.width ?? 1,
290
+ ...edge.dashed && { strokeDasharray: DASH }
291
+ });
292
+ const edgeRule = (position, [lo, hi], make) => position !== null && position > lo && position < hi ? [make(position)] : [];
244
293
  function underlayMarks(input, model, axes) {
245
294
  const fractionRows = [{ f0: 0, f1: 1 }];
246
- const zones = (input.zones ?? []).map((z, i) => {
295
+ const zones = (input.zones ?? []).flatMap((z, i) => {
247
296
  const domain = axes.axisOf(z.axisSide).domain;
248
- return decorative(
249
- rect(fractionRows, {
250
- id: `zone-${i}`,
251
- x1: "f0",
252
- x2: "f1",
253
- y1: () => clampTo(z.from, domain),
254
- y2: () => clampTo(z.to, domain),
255
- xScale: "zx",
256
- yScale: axes.scaleId(z.axisSide),
257
- fill: z.fill,
258
- inset: 0
259
- })
297
+ const [lo, hi] = [Math.min(...domain), Math.max(...domain)];
298
+ const rule = (value, name) => edgeRule(
299
+ value,
300
+ [lo, hi],
301
+ (at) => decorative(
302
+ ruleY([at], {
303
+ id: `zone-${i}-${name}`,
304
+ yScale: axes.scaleId(z.axisSide),
305
+ ...z.edge && edgePaint(z.edge)
306
+ })
307
+ )
260
308
  );
309
+ const sides = edgeSides(z.edge, "bottom", "top");
310
+ return [
311
+ decorative(
312
+ rect(fractionRows, {
313
+ id: `zone-${i}`,
314
+ x1: "f0",
315
+ x2: "f1",
316
+ y1: () => clampTo(z.from, domain),
317
+ y2: () => clampTo(z.to, domain),
318
+ xScale: "zx",
319
+ yScale: axes.scaleId(z.axisSide),
320
+ fill: z.fill,
321
+ inset: 0
322
+ })
323
+ ),
324
+ ...sides.lower ? rule(Math.min(z.from, z.to), "bottom") : [],
325
+ ...sides.upper ? rule(Math.max(z.from, z.to), "top") : []
326
+ ];
261
327
  });
262
328
  const xZones = (input.xZones ?? []).flatMap((z, i) => {
263
329
  const f = xZoneFractions(z, model);
264
330
  if (!f) return [];
331
+ const sides = edgeSides(z.edge, "start", "end");
332
+ const widen = z.align === "edge" ? model.halfStep : 0;
333
+ const bound = (value, sign) => {
334
+ const fraction = value === void 0 ? null : model.fraction(value);
335
+ return fraction === null ? null : fraction + sign * widen;
336
+ };
337
+ const rule = (value, sign, name) => edgeRule(
338
+ bound(value, sign),
339
+ [0, 1],
340
+ (at) => decorative(
341
+ ruleX([at], {
342
+ id: `xzone-${i}-${name}`,
343
+ x: (v) => v,
344
+ xScale: "zx",
345
+ ...z.edge && edgePaint(z.edge)
346
+ })
347
+ )
348
+ );
265
349
  return [
266
350
  decorative(
267
351
  rect([{ f0: f[0], f1: f[1] }], {
@@ -274,20 +358,28 @@ function underlayMarks(input, model, axes) {
274
358
  fill: z.fill,
275
359
  inset: 0
276
360
  })
277
- )
361
+ ),
362
+ // An omitted bound is the plot edge: nothing to draw a rule on.
363
+ ...sides.lower ? rule(z.from, -1, "start") : [],
364
+ ...sides.upper ? rule(z.to, 1, "end") : []
278
365
  ];
279
366
  });
280
367
  return [...zones, ...xZones];
281
368
  }
282
- const refLineMarks = (input, axes) => (input.refLines ?? []).map(
283
- (r, i) => ruleY([r.value], {
284
- id: `ref-${i}`,
285
- stroke: r.color,
286
- strokeOpacity: 1,
287
- strokeWidth: 1,
288
- yScale: axes.scaleId(r.axis),
289
- ...r.dashed && { strokeDasharray: DASH }
290
- })
369
+ const refLineMarks = (input, axes) => (input.refLines ?? []).flatMap(
370
+ (r, i) => (
371
+ // A line that names itself in the legend can be toggled off there.
372
+ input.hidden?.has(refLegendKey(i)) ? [] : [
373
+ ruleY([r.value], {
374
+ id: `ref-${i}`,
375
+ stroke: r.color,
376
+ strokeOpacity: 1,
377
+ strokeWidth: 1,
378
+ yScale: axes.scaleId(r.axis),
379
+ ...r.dashed && { strokeDasharray: DASH }
380
+ })
381
+ ]
382
+ )
291
383
  );
292
384
  function buildScales(opts) {
293
385
  const { input, model, axes, formatX, cls, zoneScale } = opts;
@@ -342,6 +434,17 @@ function rowsOf(input, visibleKeys) {
342
434
  });
343
435
  };
344
436
  }
437
+ function cursorDotMarks(input, visible, axes) {
438
+ return visible.flatMap((s) => {
439
+ const { cursorValue } = s;
440
+ if (!cursorValue) return [];
441
+ const rows = input.data.flatMap((d) => {
442
+ const y = cursorValue(d);
443
+ return y === null || !Number.isFinite(y) ? [] : [{ x: input.x(d), y, series: s.key, datum: d }];
444
+ });
445
+ return [cursorDots(s, rows, axes.onRight(s) ? "y2" : void 0)];
446
+ });
447
+ }
345
448
  function tooltipSpec(opts) {
346
449
  const { input, axes, visible, keys, visibleKeys, formatX } = opts;
347
450
  const hidden = input.series.filter((s) => !visibleKeys.has(s.key));
@@ -362,19 +465,32 @@ function tooltipSpec(opts) {
362
465
  for (const s of rowSeries) {
363
466
  const v = s.getValue(d);
364
467
  if (v === null || !Number.isFinite(v)) continue;
365
- rows.push({
366
- label: s.note === void 0 ? s.label : `${s.label} \xB7 ${s.note}`,
367
- value: s.formatValue ? s.formatValue(v, d) : axes.axisOf(axes.onRight(s) ? "right" : "left").format(v),
368
- color: s.color,
369
- ...input.highlighted === s.key && { active: true }
370
- });
468
+ rows.push(
469
+ seriesRow(
470
+ s,
471
+ s.formatValue ? s.formatValue(v, d) : axes.axisOf(axes.onRight(s) ? "right" : "left").format(v),
472
+ input.highlighted === s.key
473
+ )
474
+ );
371
475
  }
372
476
  const extra = (input.tooltip || void 0)?.rows?.(d, { visible, hidden }) ?? [];
373
- return { title: tooltipHeader(input, formatX, x, d), rows: [...rows, ...extra] };
477
+ return {
478
+ title: tooltipHeader(input, formatX, x, d),
479
+ rows: [...rows, ...extra.map(engineRow)]
480
+ };
374
481
  }
375
482
  };
376
483
  }
484
+ function guardReservedKeys(series) {
485
+ if (process.env.NODE_ENV === "production") return;
486
+ const clash = series.find((s) => s.key.startsWith(REF_KEY_PREFIX));
487
+ if (clash)
488
+ throw new Error(
489
+ `[basalt] CartesianChart: the series key "${clash.key}" is reserved (\`${REF_KEY_PREFIX}\` prefix names reference-line legend entries)`
490
+ );
491
+ }
377
492
  function compileCartesian(input) {
493
+ guardReservedKeys(input.series);
378
494
  const visible = visibleSeries(input.series, input.hidden ?? /* @__PURE__ */ new Set());
379
495
  const visibleKeys = new Set(visible.map((s) => s.key));
380
496
  const keys = new Set(input.series.map((s) => s.key));
@@ -382,6 +498,7 @@ function compileCartesian(input) {
382
498
  const axes = resolveAxes(input, visible);
383
499
  const under = underlayMarks(input, model, axes);
384
500
  const over = refLineMarks(input, axes);
501
+ const dots = cursorDotMarks(input, visible, axes);
385
502
  const rows = rowsOf(input, visibleKeys);
386
503
  const formatX = (v) => input.formatX ? input.formatX(v) : defaultFormatX(v);
387
504
  const gradients = input.series.flatMap(
@@ -402,7 +519,7 @@ function compileCartesian(input) {
402
519
  y2Domain: axes.right?.domain
403
520
  });
404
521
  return {
405
- marks: [...under, ...kindMarks, ...over, crosshair({ x: CROSSHAIR, y: false })],
522
+ marks: [...under, ...kindMarks, ...dots, ...over, crosshair({ x: CROSSHAIR, y: false })],
406
523
  scales: buildScales({ input, model, axes, formatX, cls, zoneScale: under.length > 0 }),
407
524
  theme: CHART_THEME,
408
525
  ...gradients.length > 0 && { gradients },
@@ -427,9 +544,13 @@ export {
427
544
  areaGradient,
428
545
  areaGradientId,
429
546
  compileCartesian,
547
+ dashedSwatch,
430
548
  dateTicks,
431
549
  defaultFormatX,
432
550
  defaultNumberFormat,
551
+ engineRow,
552
+ refLegendSeries,
553
+ seriesRow,
433
554
  strideTicks,
434
555
  utcAxisDate,
435
556
  utcHeaderDate,
@@ -4,9 +4,17 @@ import type { ChartMarks, ChartSeries, ChartX, PlotContext, PlotRow } from './ty
4
4
  export declare function yScaleOf<T, X extends ChartX>(plot: PlotContext<T, X>, s: Pick<ChartSeries<T>, 'axis'>): 'y2' | undefined;
5
5
  /** `1`, or `DIMMED` while ANOTHER legend entry (not this series, not its parent) is hovered. */
6
6
  export declare function emphasis<T>(highlighted: string | null, s: Pick<ChartSeries<T>, 'key' | 'parent'>): number;
7
+ /** The rows a series' line and area are drawn through: all of them, or only the non-null ones. */
8
+ export declare function drawnRows<T, X extends ChartX>(plot: PlotContext<T, X>, s: Pick<ChartSeries<T>, 'key' | 'gaps'>): PlotRow<T, X>[];
7
9
  export declare function lineMark<T, X extends ChartX>(plot: PlotContext<T, X>, s: ChartSeries<T>): ChartMarks[number];
8
10
  /** A series' `getMarker` points as dots: one decorative mark per distinct paint. */
9
11
  export declare function markersOf<T, X extends ChartX>(s: ChartSeries<T>, rows: readonly PlotRow<T, X>[], yScale: 'y2' | undefined): ChartMarks;
12
+ /**
13
+ * The cursor dot of a series the consumer draws itself (`ChartSeries.cursorValue`): a dot per datum,
14
+ * invisible until the cursor is on that datum's x. It is NOT decorative, so the engine counts it as
15
+ * a focus point and the shared cursor, the focus group and the tooltip reach the series.
16
+ */
17
+ export declare function cursorDots<T, X extends ChartX>(s: ChartSeries<T>, rows: readonly PlotRow<T, X>[], yScale: 'y2' | undefined): ChartMarks[number];
10
18
  export declare function barMark<TDatum>(rows: Iterable<TDatum>, options?: BarYOptions<TDatum>): ChartMarks[number];
11
19
  /**
12
20
  * A band fill drawn at `width` px: each pixel column of the plot keeps its first and last row and the
@@ -1 +1 @@
1
- {"version":3,"file":"marks.d.ts","sourceRoot":"","sources":["../../src/charts/marks.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAQvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEpF,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC1C,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAC9B,IAAI,GAAG,SAAS,CAElB;AAED,gGAAgG;AAChG,wBAAgB,QAAQ,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACxC,MAAM,CAER;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC1C,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAChB,UAAU,CAAC,MAAM,CAAC,CAcpB;AASD,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC3C,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,IAAI,EAAE,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9B,MAAM,EAAE,IAAI,GAAG,SAAS,GACvB,UAAU,CAiCZ;AAUD,wBAAgB,OAAO,CAAC,MAAM,EAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,OAAO,GAAE,WAAW,CAAC,MAAM,CAAM,GAChC,UAAU,CAAC,MAAM,CAAC,CAKpB;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAC7D,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GACrB,CAAC,EAAE,CA+CL"}
1
+ {"version":3,"file":"marks.d.ts","sourceRoot":"","sources":["../../src/charts/marks.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAQvD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEpF,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC1C,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAC9B,IAAI,GAAG,SAAS,CAElB;AAED,gGAAgG;AAChG,wBAAgB,QAAQ,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACxC,MAAM,CAER;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC3C,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,GACtC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAGjB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC1C,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAChB,UAAU,CAAC,MAAM,CAAC,CAcpB;AASD,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC3C,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,IAAI,EAAE,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9B,MAAM,EAAE,IAAI,GAAG,SAAS,GACvB,UAAU,CAiCZ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAC5C,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,IAAI,EAAE,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9B,MAAM,EAAE,IAAI,GAAG,SAAS,GACvB,UAAU,CAAC,MAAM,CAAC,CAcpB;AAUD,wBAAgB,OAAO,CAAC,MAAM,EAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,OAAO,GAAE,WAAW,CAAC,MAAM,CAAM,GAChC,UAAU,CAAC,MAAM,CAAC,CAKpB;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAC7D,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GACrB,CAAC,EAAE,CA+CL"}
@@ -12,9 +12,13 @@ function yScaleOf(plot, s) {
12
12
  function emphasis(highlighted, s) {
13
13
  return highlighted === null || highlighted === s.key || highlighted === s.parent ? 1 : DIMMED;
14
14
  }
15
+ function drawnRows(plot, s) {
16
+ const rows = plot.rows(s.key);
17
+ return s.gaps === "connect" ? rows.filter((r) => r.y !== null) : rows;
18
+ }
15
19
  function lineMark(plot, s) {
16
20
  const yScale = yScaleOf(plot, s);
17
- return lineY(plot.rows(s.key), {
21
+ return lineY(drawnRows(plot, s), {
18
22
  id: s.key,
19
23
  x: rowX,
20
24
  y: "y",
@@ -60,6 +64,21 @@ function markersOf(s, rows, yScale) {
60
64
  )
61
65
  );
62
66
  }
67
+ function cursorDots(s, rows, yScale) {
68
+ return dot(rows, {
69
+ id: `${s.key}-cursor`,
70
+ x: rowX,
71
+ y: "y",
72
+ r: VX.dotR,
73
+ fill: s.color,
74
+ fillOpacity: 0,
75
+ stroke: VX.surface.panel,
76
+ strokeWidth: 1.5,
77
+ strokeOpacity: 0,
78
+ states: [{ when: { focus: "x" }, style: { fillOpacity: 1, strokeOpacity: 1 } }],
79
+ ...yScale !== void 0 && { yScale }
80
+ });
81
+ }
63
82
  const given = (v) => v !== void 0 && v !== null;
64
83
  function barMark(rows, options = {}) {
65
84
  const seriesAsked = [options.z, options.color, options.layout].some(given);
@@ -120,6 +139,8 @@ function thinFill(rows, width, at) {
120
139
  }
121
140
  export {
122
141
  barMark,
142
+ cursorDots,
143
+ drawnRows,
123
144
  emphasis,
124
145
  lineMark,
125
146
  markersOf,
@@ -5,7 +5,7 @@ import { portal } from "@tanstack/charts/tooltip/portal";
5
5
  import { alignX, composeViews, grid } from "@tanstack/charts/view";
6
6
  import { useCallback } from "react";
7
7
  import { ChartShell } from "./CartesianChart.js";
8
- import { defaultFormatX, utcHeaderDate, visibleSeries, xGuide, yGuide } from "./compile.js";
8
+ import { defaultFormatX, engineRow, utcHeaderDate, visibleSeries, xGuide, yGuide } from "./compile.js";
9
9
  import { cursorBinding, sourceOnlyFocus } from "./cursor.js";
10
10
  import { CHART_THEME, CROSSHAIR } from "./theme.js";
11
11
  const { background: _background, focusRing: _focusRing, ...PANE_THEME } = CHART_THEME;
@@ -97,7 +97,7 @@ function panelDefinition(props, ctx, plan) {
97
97
  if (!primary) return { rows: [] };
98
98
  const { x, d } = sourceOf(primary, owned);
99
99
  const extra = tooltip?.rows?.(d, { visible, hidden: hiddenSeries }) ?? [];
100
- return { title: header(x, d), rows: [...plan.rows(d), ...extra] };
100
+ return { title: header(x, d), rows: [...plan.rows(d), ...extra.map(engineRow)] };
101
101
  }
102
102
  }
103
103
  };
@@ -29,6 +29,13 @@ export type ChartSeries<T> = {
29
29
  * tier, a config value) is a step: a smoothed curve draws values that never existed. */
30
30
  curve?: CurveName | undefined;
31
31
  strokeWidth?: number | undefined;
32
+ /**
33
+ * What a `null` value does to the line (and its `area`). `'break'` (default) leaves a gap;
34
+ * `'connect'` draws through the series' non-null points only, skipping the null rows, so a series
35
+ * that is null on most shared x values (one lift in a wide table) is one continuous line. Points,
36
+ * markers, the cursor and the tooltip still read real values: a null row has no tooltip row.
37
+ */
38
+ gaps?: 'break' | 'connect' | undefined;
32
39
  /** Dims the plotted stroke (a faint companion line). Strokes only. */
33
40
  strokeOpacity?: number | undefined;
34
41
  /** Bars and areas. */
@@ -51,6 +58,12 @@ export type ChartSeries<T> = {
51
58
  note?: string | undefined;
52
59
  /** Per-series tooltip value format; receives the datum so a row can read more than the value. */
53
60
  formatValue?: ((v: number, d: T) => string) | undefined;
61
+ /**
62
+ * A cursor dot for a series whose mark the consumer draws itself (`marks`, so `getValue` stays
63
+ * `null`): the y of the dot at each datum, `null` for none. The dot shows while the cursor is on
64
+ * that datum's x and takes the series color. A series drawn from `plot.rows` already has one.
65
+ */
66
+ cursorValue?: ((d: T) => number | null) | undefined;
54
67
  /** A marker at a point (a PR star, a status dot); `null` for none. */
55
68
  getMarker?: ((d: T) => {
56
69
  color?: string | undefined;
@@ -85,12 +98,23 @@ export type AxisConfig<T> = {
85
98
  /** Default `'linear'`. A log axis floors at the smallest positive visible value. */
86
99
  scale?: 'linear' | 'log' | undefined;
87
100
  };
101
+ /** A rule along a band's boundary, painted with the band. A bound at the plot edge draws none. */
102
+ export type ZoneEdge<S extends string> = {
103
+ side: S | 'both';
104
+ color: string;
105
+ dashed?: boolean | undefined;
106
+ /** Default `1`. */
107
+ width?: number | undefined;
108
+ };
88
109
  /** A horizontal band on one y axis. `±Infinity` reaches the plot edge. */
89
110
  export type ZoneSpec = {
90
111
  from: number;
91
112
  to: number;
92
113
  fill: string;
93
114
  axisSide?: 'left' | 'right' | undefined;
115
+ /** A rule on the band's visual `top` (the larger bound) and/or `bottom` (the smaller), whichever
116
+ * of `from`/`to` that is. */
117
+ edge?: ZoneEdge<'top' | 'bottom'> | undefined;
94
118
  };
95
119
  /**
96
120
  * A vertical band between two x values. An omitted bound is the plot's own edge. `'edge'` widens a
@@ -102,6 +126,8 @@ export type XZoneSpec<X extends ChartX = ChartX> = {
102
126
  to?: X | undefined;
103
127
  fill: string;
104
128
  align?: 'center' | 'edge' | undefined;
129
+ /** A rule on the band's `start` (`from`) and/or `end` (`to`) boundary; an omitted bound has none. */
130
+ edge?: ZoneEdge<'start' | 'end'> | undefined;
105
131
  };
106
132
  /** A horizontal reference line — annotation only, no domain role beyond staying inside the plot. */
107
133
  export type RefLine = {
@@ -109,6 +135,16 @@ export type RefLine = {
109
135
  color: string;
110
136
  dashed?: boolean | undefined;
111
137
  axis?: 'left' | 'right' | undefined;
138
+ /**
139
+ * Names the line in the legend (its color, dashed as `dashed`; a toggle hides the line), so a
140
+ * threshold needs no always-`null` series. `mark` is the swatch shape. Default `'line'`. The
141
+ * toggle state is keyed by the line's index in `refLines`: reordering the array while a line is
142
+ * toggled off moves the "off" to whichever line now sits at that index.
143
+ */
144
+ legend?: {
145
+ label: string;
146
+ mark?: 'line' | 'bar' | undefined;
147
+ } | undefined;
112
148
  };
113
149
  /** A fill between the line and a value, on one side of it, tracking the line. */
114
150
  export type Threshold = {
@@ -123,7 +159,9 @@ export type ChartTooltipRow = {
123
159
  label: string;
124
160
  value: string;
125
161
  /** The row swatch; omitted, the row has none. */
126
- color?: string;
162
+ color?: string | undefined;
163
+ /** The swatch shape; `'dashed'` for a reference or dashed series. Default `'solid'`. */
164
+ swatch?: 'solid' | 'dashed' | undefined;
127
165
  };
128
166
  export type ChartTooltipConfig<T, X extends ChartX = ChartX> = {
129
167
  /** The tooltip title. Default: the x value through `formatX`'s long form (a date reads
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/charts/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/charts/types.ts"],"names":[],"mappings":"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"}
@@ -254,6 +254,22 @@ type NumberHandleExtras<F> = F extends {
254
254
  readonly int?: undefined;
255
255
  readonly step?: undefined;
256
256
  };
257
+ /**
258
+ * `createLocalStore`'s `use()` read options. `fallback` is a CALL-SITE default for a value that
259
+ * arrives as a prop (a leader, a latest date): it applies only while the field is unset (nothing
260
+ * stored), is applied in render AFTER the store read, and is never persisted — `clear()` unsets
261
+ * back to it. `handle.fallback` and `isDefault` still report the definition's.
262
+ *
263
+ * An object fallback (range, multi) must be memoised by the caller: the value returned while unset
264
+ * IS that object, so a fresh literal per render changes identity every render.
265
+ */
266
+ export type FieldReadOptions<F extends AnyField> = {
267
+ fallback?: FieldValue<F>;
268
+ };
269
+ /** A `createLocalStore` field: the shared handle, plus `use({ fallback })`. */
270
+ export type LocalFieldHandle<F extends AnyField> = FieldHandle<F> & {
271
+ use(read?: FieldReadOptions<F>): readonly [FieldValue<F>, (next: FieldValue<F>, opts?: FieldSetOptions) => void];
272
+ };
257
273
  /**
258
274
  * The binding every basalt control takes instead of `value`/`onChange` (C2). One field, both lanes,
259
275
  * one resolution law. Handed out by `createSearchStore().field.<name>` /
@@ -464,7 +480,7 @@ type StoreRecord = Record<string, unknown>;
464
480
  */
465
481
  export type FieldWrite = (next: unknown, opts?: FieldSetOptions) => void;
466
482
  /** One field's `use()`, untyped. @internal — see `FieldCodec`. */
467
- export type FieldUse = () => readonly [unknown, FieldWrite];
483
+ export type FieldUse = (read?: FieldReadOptions<AnyField>) => readonly [unknown, FieldWrite];
468
484
  /** One named field plus its codec, in declaration order. @internal — see `FieldCodec`. */
469
485
  export type StoreEntry = {
470
486
  readonly name: string;
@@ -491,7 +507,7 @@ export type StoreCore = {
491
507
  setLabels(map: Record<string, Record<string, string> | undefined>): void;
492
508
  optionsFor(entry: StoreEntry): readonly FieldOption[];
493
509
  /** The resolution law, once: URL ⊳ localStorage ⊳ fallback. `search: null` skips the URL lane. */
494
- resolve(entry: StoreEntry, search: StoreRecord | null, record: StoreRecord): unknown;
510
+ resolve(entry: StoreEntry, search: StoreRecord | null, record: StoreRecord, fallback?: unknown): unknown;
495
511
  writeField(setRecord: (next: StoreRecord) => void, name: string, value: unknown): void;
496
512
  /**
497
513
  * The IN-MEMORY lane's `use()` for one field — a field with neither the URL nor the mirror.
@@ -523,7 +539,7 @@ export declare function createStoreCore(o: StoreCoreOptions): StoreCore;
523
539
  /** `Pick<SearchStore<S>, 'field' | 'readStored' | 'labels'>` — the same handles, no router. */
524
540
  export type LocalStore<S extends Record<string, AnyField>> = {
525
541
  readonly field: {
526
- [K in keyof S]: FieldHandle<S[K]>;
542
+ [K in keyof S]: LocalFieldHandle<S[K]>;
527
543
  };
528
544
  readStored: () => Partial<StoredValues<S>>;
529
545
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/state/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/state/fields.ts"],"names":[],"mappings":"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"}