@umriss-ui/charts 0.9.0 → 0.10.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.
package/dist/index.d.ts CHANGED
@@ -7,32 +7,42 @@ import { ReactNode } from 'react';
7
7
  data reference then. A native or bound function is compared by identity. */
8
8
  export declare type Accessor<T> = (d: T, index: number) => number | null | undefined;
9
9
 
10
+ /** A series drawn as a filled area between its values and a baseline, 0
11
+ without one. Renders nothing itself: it registers with the surrounding
12
+ `Chart`. With `stack`, areas stand on each other. */
10
13
  export declare function Area<T>(props: AreaProps<T>): null;
11
14
 
15
+ /** The props of `Area`. */
12
16
  export declare interface AreaProps<T> {
13
- /** Upper edge; null/undefined/NaN/±Infinity means a gap (R-2.5). */
17
+ /** Upper edge; null/undefined/NaN/±Infinity means a gap.
18
+ @remarks R-2.5 */
14
19
  accessor: Accessor<T>;
15
- /** Lower edge; without a value the fixed baseline 0. In a `stack` the stack
16
- below is the lower edge, and this is not read. */
20
+ /** Lower edge. In a `stack` the stack below is the lower edge, and this is
21
+ not read.
22
+ @default a fixed baseline at 0 */
17
23
  baseline?: Accessor<T>;
18
- /** Binding to an x axis (R-4.12). */
24
+ /** Binding to an x axis.
25
+ @remarks R-4.12 */
19
26
  xAxisId?: string;
20
- /** Binding to a y axis (R-4.12). */
27
+ /** Binding to a y axis.
28
+ @remarks R-4.12 */
21
29
  yAxisId?: string;
22
- /** Series-own data; overrides the container data (R-2.4). */
30
+ /** Series-own data; overrides the container data.
31
+ @remarks R-2.4 */
23
32
  data?: readonly T[];
24
- /** The name in legend and tooltip. Without one the series is called
25
- "Series n" and a warning stands in DEV - an unnamed series is a colour
26
- nobody can look up. */
33
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
34
+ unnamed series is a colour nobody can look up.
35
+ @default "Series n", after its place in the chart */
27
36
  name?: string;
28
37
  /** Not drawn, not hit and not counted for its axes' extent - a fixed
29
38
  `domain` keeps the axis still. Its legend entry stays, drawn back.
30
39
  Controlled: the caller sets it, typically from `Legend onToggle`. */
31
40
  hidden?: boolean;
32
- /** The value as the tooltip writes it; without one the y axis' `tickFormat`,
33
- then the default. */
41
+ /** The value as the tooltip writes it.
42
+ @default the y axis' `tickFormat`, else the built-in number format */
34
43
  format?: (value: number) => string;
35
- /** Any CSS colour value; without one the palette --uc-series-N. */
44
+ /** Any CSS colour value.
45
+ @default the palette's `--uc-series-N` */
36
46
  color?: string;
37
47
  /** A role instead of a colour value; the theme resolves it. `color` beats
38
48
  it. */
@@ -52,11 +62,13 @@ export declare interface AreaProps<T> {
52
62
  /** Width of the outline along the upper edge in CSS pixels; 0 leaves it
53
63
  out. */
54
64
  strokeWidth?: number;
55
- /** Dash pattern of the outline as a run of lengths in CSS pixels; without
56
- one a solid outline. The fill stays whole. */
65
+ /** Dash pattern of the outline as a run of lengths in CSS pixels. The fill
66
+ stays whole.
67
+ @default a solid outline */
57
68
  dash?: readonly number[];
58
69
  }
59
70
 
71
+ /** An `Area` as the chart holds it once registered. */
60
72
  export declare interface AreaSeriesConfig<T = unknown> extends SeriesBase<T>, Stackable {
61
73
  kind: "area";
62
74
  /** Lower edge; without a value the fixed baseline 0. */
@@ -106,6 +118,7 @@ export declare interface Assessment {
106
118
  deviation?: number;
107
119
  }
108
120
 
121
+ /** An `XAxis` or `YAxis` as the chart holds it once registered. */
109
122
  export declare interface AxisConfig<T = unknown> {
110
123
  id: string;
111
124
  orientation: AxisOrientation;
@@ -117,8 +130,9 @@ export declare interface AxisConfig<T = unknown> {
117
130
  /** "visible" is a y axis' only: the extent of what its series show inside
118
131
  their x axis' domain. */
119
132
  domain: "nice" | "data" | "visible" | readonly [number, number];
120
- /** undefined = the default per R-4.15 (only the first registered axis per
121
- orientation). */
133
+ /** Whether the axis draws its grid lines.
134
+ @default only the first registered axis per orientation
135
+ @remarks R-4.15 */
122
136
  grid?: boolean;
123
137
  /** Fixed tick values instead of the 1-2-5 algorithm. For axes whose values are
124
138
  not numbers but places: the lanes of a state stack, the categories of a
@@ -138,33 +152,46 @@ export declare interface AxisConfig<T = unknown> {
138
152
  onDomainChange?: (domain: [number, number]) => void;
139
153
  }
140
154
 
155
+ /** Whether an axis or a limit runs along x or along y. */
141
156
  export declare type AxisOrientation = "x" | "y";
142
157
 
158
+ /** The edge of the plot an axis stands at: `bottom` or `top` for x, `left` or
159
+ `right` for y. */
143
160
  export declare type AxisPosition = "bottom" | "top" | "left" | "right";
144
161
 
162
+ /** A series drawn as bars from 0 to its values, on the numeric x axis.
163
+ Several bar series on one x axis stand side by side, or on each other with
164
+ `stack`. Renders nothing itself: it registers with the surrounding
165
+ `Chart`. */
145
166
  export declare function Bar<T>(props: BarProps<T>): null;
146
167
 
168
+ /** The props of `Bar`. */
147
169
  export declare interface BarProps<T> {
148
- /** Height; null/undefined/NaN/±Infinity means a gap (R-2.5). */
170
+ /** Height; null/undefined/NaN/±Infinity means a gap.
171
+ @remarks R-2.5 */
149
172
  accessor: Accessor<T>;
150
- /** Binding to an x axis (R-4.12). */
173
+ /** Binding to an x axis.
174
+ @remarks R-4.12 */
151
175
  xAxisId?: string;
152
- /** Binding to a y axis (R-4.12). */
176
+ /** Binding to a y axis.
177
+ @remarks R-4.12 */
153
178
  yAxisId?: string;
154
- /** Series-own data; overrides the container data (R-2.4). */
179
+ /** Series-own data; overrides the container data.
180
+ @remarks R-2.4 */
155
181
  data?: readonly T[];
156
- /** The name in legend and tooltip. Without one the series is called
157
- "Series n" and a warning stands in DEV - an unnamed series is a colour
158
- nobody can look up. */
182
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
183
+ unnamed series is a colour nobody can look up.
184
+ @default "Series n", after its place in the chart */
159
185
  name?: string;
160
186
  /** Not drawn, not hit and not counted for its axes' extent - a fixed
161
187
  `domain` keeps the axis still. Its legend entry stays, drawn back.
162
188
  Controlled: the caller sets it, typically from `Legend onToggle`. */
163
189
  hidden?: boolean;
164
- /** The value as the tooltip writes it; without one the y axis' `tickFormat`,
165
- then the default. */
190
+ /** The value as the tooltip writes it.
191
+ @default the y axis' `tickFormat`, else the built-in number format */
166
192
  format?: (value: number) => string;
167
- /** Any CSS colour value; without one the palette --uc-series-N. */
193
+ /** Any CSS colour value.
194
+ @default the palette's `--uc-series-N` */
168
195
  color?: string;
169
196
  /** A role instead of a colour value; the theme resolves it. `color` beats
170
197
  it. */
@@ -184,6 +211,7 @@ export declare interface BarProps<T> {
184
211
  barWidth?: number;
185
212
  }
186
213
 
214
+ /** A `Bar` as the chart holds it once registered. */
187
215
  export declare interface BarSeriesConfig<T = unknown> extends SeriesBase<T>, Stackable {
188
216
  kind: "bar";
189
217
  /** Width as a fraction of the step; the group shares this fraction. */
@@ -222,11 +250,17 @@ export declare interface BoxNumbers<V = number> {
222
250
  upperWhisker: V;
223
251
  }
224
252
 
253
+ /** A series drawn as a box per x: median, quartiles and whiskers, optionally
254
+ outliers, a mean and a notch. The caller brings every number - the library
255
+ computes none. Renders nothing itself: it registers with the surrounding
256
+ `Chart`. */
225
257
  export declare function BoxPlot<T>(props: BoxPlotProps<T>): null;
226
258
 
259
+ /** The props of `BoxPlot`. */
227
260
  export declare interface BoxPlotProps<T> {
228
261
  /** The line across the box; null/undefined/NaN/±Infinity means a gap - no
229
- box is drawn there, whatever the other numbers say (R-2.5). */
262
+ box is drawn there, whatever the other numbers say.
263
+ @remarks R-2.5 */
230
264
  median: Accessor<T>;
231
265
  /** The box's lower edge. */
232
266
  lowerQuartile: Accessor<T>;
@@ -252,22 +286,26 @@ export declare interface BoxPlotProps<T> {
252
286
  /** How many values stand behind the box; read in the tooltip and the
253
287
  table, not drawn. */
254
288
  count?: Accessor<T>;
255
- /** Binding to an x axis (R-4.12). */
289
+ /** Binding to an x axis.
290
+ @remarks R-4.12 */
256
291
  xAxisId?: string;
257
- /** Binding to a y axis (R-4.12). */
292
+ /** Binding to a y axis.
293
+ @remarks R-4.12 */
258
294
  yAxisId?: string;
259
- /** Series-own data; overrides the container data (R-2.4). */
295
+ /** Series-own data; overrides the container data.
296
+ @remarks R-2.4 */
260
297
  data?: readonly T[];
261
- /** The name in legend and tooltip. Without one the series is called
262
- "Series n" and a warning stands in DEV. */
298
+ /** The name in legend and tooltip. Without one a warning stands in DEV.
299
+ @default "Series n", after its place in the chart */
263
300
  name?: string;
264
301
  /** Not drawn, not hit and not counted for its axes' extent. Its legend
265
302
  entry stays, drawn back. Controlled, typically from `Legend onToggle`. */
266
303
  hidden?: boolean;
267
- /** Every number of the box as the tooltip and the table write it; without
268
- one the y axis' `tickFormat`, then the default. */
304
+ /** Every number of the box as the tooltip and the table write it.
305
+ @default the y axis' `tickFormat`, else the built-in number format */
269
306
  format?: (value: number) => string;
270
- /** Any CSS colour value; without one the palette --uc-series-N. */
307
+ /** Any CSS colour value.
308
+ @default the palette's `--uc-series-N` */
271
309
  color?: string;
272
310
  /** A role instead of a colour value; the theme resolves it. `color` beats
273
311
  it. Set by the caller: a box out of its specification is the caller's
@@ -311,27 +349,36 @@ export declare function calendarFrom(input: CalendarInput): WorkingCalendar;
311
349
  axis, or the calendar built from it. */
312
350
  export declare type CalendarInput = WorkingCalendar | readonly WorkingInterval[];
313
351
 
352
+ /** The container of a chart: it holds the data, measures the plot area and
353
+ draws on canvas whatever its children register - axes, series, limits,
354
+ legend and tooltip. The order of the children is the drawing order. */
314
355
  export declare function Chart<T>(props: ChartProps<T>): ReactNode;
315
356
 
316
- /** Measurements of the instrumentation for the benchmark page (R-5.1). */
357
+ /** Measurements of the instrumentation for the benchmark page.
358
+ @remarks R-5.1 */
317
359
  export declare interface ChartPerf {
318
360
  materializeMs: number;
319
361
  seriesDrawMs: number;
320
362
  points: number;
321
363
  }
322
364
 
365
+ /** The props of `Chart`. */
323
366
  export declare interface ChartProps<T> {
324
- /** Shared data basis (required); access only through accessors (R-2.4). */
367
+ /** Shared data basis (required); access only through accessors.
368
+ @remarks R-2.4 */
325
369
  data: readonly T[];
326
- /** Width in CSS pixels, or `"100%"` for the host's. Without a value the chart
327
- measures its host and follows it through a ResizeObserver. */
370
+ /** Width in CSS pixels, or `"100%"` for the host's: the chart measures its
371
+ host and follows it through a ResizeObserver.
372
+ @default "100%" */
328
373
  width?: number | "100%";
329
- /** Height in CSS pixels; 300 without a value. Unlike the width, the chart
330
- does not take its host's. */
374
+ /** Height in CSS pixels. Unlike the width, the chart does not take its
375
+ host's.
376
+ @default 300 */
331
377
  height?: number;
332
378
  /** Outer spacing of the plot area in CSS pixels. */
333
379
  padding?: number | Partial<Padding>;
334
- /** Required in DEV through a warning (R-7.6). */
380
+ /** Required in DEV through a warning.
381
+ @remarks R-7.6 */
335
382
  ariaLabel?: string;
336
383
  /** Goes to the root element, as it does everywhere in this workspace. */
337
384
  className?: string;
@@ -341,32 +388,37 @@ export declare interface ChartProps<T> {
341
388
  style?: CSSProperties;
342
389
  /** Shown in the middle of the plot area when no visible series has a point
343
390
  to show - no data, only gaps, or every series hidden. Axes and frame
344
- stay. Without a value the wording's `empty`; this prop wins over it. */
391
+ stay.
392
+ @default the wording's `empty` */
345
393
  empty?: ReactNode;
346
- /** The chart's words (ADR-0031): English without a value, entries left out
347
- fall back to English. German: `GERMAN_CHARTS_WORDING` from
348
- `@umriss-ui/charts/wording/de`. */
394
+ /** The chart's words (ADR-0031); entries left out fall back to English.
395
+ German: `GERMAN_CHARTS_WORDING` from `@umriss-ui/charts/wording/de`.
396
+ @default DEFAULT_CHARTS_WORDING */
349
397
  wording?: Partial<ChartsWording>;
350
- /** How series are told apart. `"color"` (the default): by their colour.
398
+ /** How series are told apart. `"color"`: by their colour.
351
399
  `"marks"`: by a dash and a marker shape as well - a line, an area and a
352
400
  scatter -, and by a hatch - a bar, a state, a matrix cell, a limit band -,
353
401
  chosen by the same palette place as the colour, so that a reader who does
354
402
  not see the colours still tells them apart; the legend's chips show the
355
- same. A caller's own `dash` wins over the place's. */
403
+ same. A caller's own `dash` wins over the place's.
404
+ @default "color" */
356
405
  encoding?: "color" | "marks";
357
406
  /** Charts with the same id share the pointer's x position, in domain units:
358
407
  each draws its crosshair there, the tooltip stays with the chart under
359
408
  the pointer. Zoom is not shared - give every chart the same controlled
360
409
  `domain`. */
361
410
  syncId?: string;
362
- /** Instrumentation for the benchmark page (R-5.1); not needed otherwise. */
411
+ /** Instrumentation for the benchmark page; not needed otherwise.
412
+ @remarks R-5.1 */
363
413
  onPerf?: (perf: ChartPerf) => void;
364
414
  /** The axes, series and companions of this chart. They draw nothing
365
- themselves: each registers its configuration and the scene draws it
366
- (R-2.1), and the order in the JSX is the drawing order. */
415
+ themselves: each registers its configuration and the scene draws it,
416
+ and the order in the JSX is the drawing order.
417
+ @remarks R-2.1 */
367
418
  children?: ReactNode;
368
419
  }
369
420
 
421
+ /** Everything the charts put out as text. */
370
422
  export declare interface ChartsWording {
371
423
  /** What a screen reader calls the plot area that takes the keys
372
424
  (`aria-roledescription`). */
@@ -427,33 +479,9 @@ export declare interface ChartsWording {
427
479
  downsampled: (readings: number) => string;
428
480
  }
429
481
 
430
- declare interface CommonProps {
431
- /** Axis on which the value lies. Without one, the first axis of the
432
- orientation. */
433
- axisId?: string;
434
- /** Whether the value lies on the x or on the y axis. Without one, y: a limit
435
- is nearly always a value and not a moment. */
436
- orientation?: "x" | "y";
437
- /** Two severities, not five: five urgencies are five colours, and five colours
438
- on a dense screen are noise. */
439
- severity?: Severity;
440
- /** What the value means. A line at 90 does not say what 90 is. */
441
- label?: string;
442
- /** Any CSS colour value, in place of the one the severity yields. A colour
443
- handed in instead of a severity puts the rule in the application and the
444
- presentation in the library, and the two drift apart as soon as a bound
445
- moves - so this is for the case that has no severity, not for taste. */
446
- color?: string;
447
- /** Whether the value widens the axis extent, so that the limit is certainly
448
- visible. Default true; the head of this file says why. */
449
- inExtent?: boolean;
450
- /** A chosen specification limit (the default) or a calculated control limit.
451
- They look different because they mean different things (ADR-0008). */
452
- role?: LimitRole;
453
- }
454
-
455
- declare interface CommonProps_2<T> {
456
- /** Axis id, through which series bind themselves (R-4.12). */
482
+ declare interface CommonProps<T> {
483
+ /** Axis id, through which series bind themselves.
484
+ @remarks R-4.12 */
457
485
  id?: string;
458
486
  /** Value access of this axis. Compared by its source text, as a series'
459
487
  accessor is (`Accessor`) - with the same closure limit. */
@@ -467,7 +495,9 @@ declare interface CommonProps_2<T> {
467
495
  a new text or remount. A bound `Intl.NumberFormat#format` is compared by
468
496
  identity. */
469
497
  tickFormat?: (v: number) => string;
470
- /** Grid lines; the default follows R-4.15. */
498
+ /** Grid lines.
499
+ @default only on the first axis of its orientation
500
+ @remarks R-4.15 */
471
501
  grid?: boolean;
472
502
  /** Fixed tick values instead of the 1-2-5 algorithm. For axes whose values are
473
503
  places and not numbers: the lanes of a state stack, the categories of a
@@ -475,8 +505,13 @@ declare interface CommonProps_2<T> {
475
505
  ticks?: readonly number[];
476
506
  }
477
507
 
508
+ /** A control chart inside a `Chart`: the values as a line, the control limits
509
+ and zones computed from them, and the points that break a rule marked.
510
+ It draws nothing of its own - it composes `Line`, `LimitLine` and
511
+ `Scatter`, so that limits, zones and violations come from the same values. */
478
512
  export declare function ControlChart<T>(props: ControlChartProps<T>): ReactNode;
479
513
 
514
+ /** The props of `ControlChart`. */
480
515
  export declare interface ControlChartProps<T> {
481
516
  /** The values of the chart. */
482
517
  accessor: Accessor<T>;
@@ -486,18 +521,21 @@ export declare interface ControlChartProps<T> {
486
521
  /** Given, or from a named reference window - never tacitly from everything on
487
522
  the screen (ADR-0008). */
488
523
  origin: ControlLimitOrigin;
489
- /** Binding to an x axis (R-4.12). */
524
+ /** Binding to an x axis.
525
+ @remarks R-4.12 */
490
526
  xAxisId?: string;
491
- /** Binding to a y axis (R-4.12). */
527
+ /** Binding to a y axis.
528
+ @remarks R-4.12 */
492
529
  yAxisId?: string;
493
- /** The name in legend and tooltip. Without one the series is called
494
- "Series n" and a warning stands in DEV - an unnamed series is a colour
495
- nobody can look up. */
530
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
531
+ unnamed series is a colour nobody can look up.
532
+ @default "Series n", after its place in the chart */
496
533
  name?: string;
497
- /** The value as the tooltip writes it - on the line and on the violations;
498
- without one the y axis' `tickFormat`, then the default. */
534
+ /** The value as the tooltip writes it - on the line and on the violations.
535
+ @default the y axis' `tickFormat`, else the built-in number format */
499
536
  format?: (value: number) => string;
500
- /** Any CSS colour value; without one the palette --uc-series-N. */
537
+ /** Any CSS colour value.
538
+ @default the palette's `--uc-series-N` */
501
539
  color?: string;
502
540
  /** A role instead of a colour value for the line; the theme resolves it.
503
541
  The violations are always "alarm". */
@@ -507,15 +545,18 @@ export declare interface ControlChartProps<T> {
507
545
  /** The faint zone lines at one and two sigma. Rule 4 is about the two-sigma
508
546
  zone; without them a reader cannot check it. */
509
547
  zoneLines?: boolean;
510
- /** Labels of the control limits in the axis band. Without a value, none: the
511
- package brings no text along, not even "UCL" and "LCL". */
548
+ /** Label of the upper control limit in the axis band. The package brings no
549
+ text along, not even "UCL" and "LCL".
550
+ @default no label */
512
551
  labelUpper?: string;
513
552
  /** The same for the lower control limit. Named separately because a chart may
514
- well want one of the two labelled and not the other. */
553
+ well want one of the two labelled and not the other.
554
+ @default no label */
515
555
  labelLower?: string;
516
- /** Name of the scatter of violations in the legend and the tooltip. Without a
517
- value, none: a legend then carries it as "Series n" and warns once in DEV.
518
- Before this, a German suffix stood on the name of the chart. */
556
+ /** Name of the scatter of violations in the legend and the tooltip. Without
557
+ one a legend warns once in DEV. Before this, a German suffix stood on the
558
+ name of the chart.
559
+ @default "Series n", after its place in the chart */
519
560
  violationName?: string;
520
561
  /** The violations as data - they can be listed beside the chart as well as
521
562
  marked on it. */
@@ -554,6 +595,10 @@ export declare interface ControlLimits {
554
595
  chart then draws no line instead of bursting. */
555
596
  export declare function controlLimits(values: readonly number[], origin: ControlLimitOrigin): ControlLimits;
556
597
 
598
+ /** The chart's values as a table, on demand: a key - in the legend where
599
+ there is one - opens a table of what the chart shows, one column per
600
+ visible series, in the tooltip's format. For a reader who wants every value
601
+ at once. Place it inside a `Chart`. */
557
602
  export declare function DataTable(): ReactNode;
558
603
 
559
604
  /** One table of the data table: the series of one x axis, or one matrix. Every
@@ -566,8 +611,13 @@ export declare interface DataTableGroup {
566
611
  rows: readonly (readonly string[])[];
567
612
  }
568
613
 
614
+ /** One day of 24 hours in milliseconds; across a clock change a calendar day
615
+ is an hour longer or shorter. */
569
616
  export declare const DAY: number;
570
617
 
618
+ /** The instance shipped by default. English; German is
619
+ `GERMAN_CHARTS_WORDING` in `@umriss-ui/charts/wording/de`. A chart takes
620
+ its own through `wording`. */
571
621
  export declare const DEFAULT_CHARTS_WORDING: ChartsWording;
572
622
 
573
623
  /** Default gradient: a sequential set, light to dark, so that it stays readable
@@ -580,21 +630,27 @@ export declare const DEFAULT_GRADIENT: readonly string[];
580
630
  lengths are therefore parameters. */
581
631
  export declare const defaultRules: RuleOptions;
582
632
 
633
+ /** One hour in milliseconds. */
583
634
  export declare const HOUR: number;
584
635
 
585
636
  /** Explicit invalidation: devalue the cache, every living chart reads anew and
586
637
  redraws. */
587
638
  export declare function invalidateTheme(): void;
588
639
 
640
+ /** The legend of a chart: one entry per series, or per state of a state band.
641
+ Hovering an entry highlights its series; with `onToggle` a click hides and
642
+ shows it. */
589
643
  export declare function Legend({ placement, onToggle }: LegendProps): ReactNode;
590
644
 
645
+ /** A `Legend` as the chart holds it once registered. */
591
646
  export declare interface LegendConfig {
592
647
  placement: "top" | "bottom";
593
648
  }
594
649
 
650
+ /** The props of `Legend`. */
595
651
  export declare interface LegendProps {
596
- /** Which side of the plot area the legend stands on. Without a value, above
597
- it. */
652
+ /** Which side of the plot area the legend stands on.
653
+ @default "top" */
598
654
  placement?: "top" | "bottom";
599
655
  /** Called with an entry's name when it is clicked - the series' name, or a
600
656
  state's label. The caller flips `hidden` on the series it means. Without
@@ -612,15 +668,21 @@ export declare interface Limit {
612
668
  severity: Severity;
613
669
  }
614
670
 
671
+ /** A limit drawn as a band between two values of an axis - a tolerance or a
672
+ zone. Otherwise a `LimitLine`. */
615
673
  export declare function LimitBand(props: LimitBandProps): null;
616
674
 
675
+ /** A `LimitBand` as the chart holds it once registered: the range from `from`
676
+ to `to`. */
617
677
  export declare interface LimitBandConfig extends LimitBase {
618
678
  kind: "band";
619
679
  from: number;
620
680
  to: number;
621
681
  }
622
682
 
623
- export declare interface LimitBandProps extends CommonProps {
683
+ /** The props of `LimitBand`: a `LimitLine`'s, with a range in place of
684
+ `value`. */
685
+ export declare interface LimitBandProps extends LimitCommonProps {
624
686
  /** Lower edge of the band, in domain units of its axis. */
625
687
  from: number;
626
688
  /** Upper edge, in domain units of its axis. A band drawn backwards (`from` above `to`) is drawn between
@@ -645,16 +707,54 @@ declare interface LimitBase {
645
707
  inExtent: boolean;
646
708
  }
647
709
 
710
+ declare interface LimitCommonProps {
711
+ /** Axis on which the value lies.
712
+ @default the first axis of the orientation */
713
+ axisId?: string;
714
+ /** Whether the value lies on the x or on the y axis - a limit is nearly
715
+ always a value and not a moment.
716
+ @default "y" */
717
+ orientation?: "x" | "y";
718
+ /** Two severities, not five: five urgencies are five colours, and five colours
719
+ on a dense screen are noise. */
720
+ severity?: Severity;
721
+ /** What the value means. A line at 90 does not say what 90 is. */
722
+ label?: string;
723
+ /** Any CSS colour value, in place of the one the severity yields. A colour
724
+ handed in instead of a severity puts the rule in the application and the
725
+ presentation in the library, and the two drift apart as soon as a bound
726
+ moves - so this is for the case that has no severity, not for taste.
727
+ The line or band takes it; its label keeps the axis's text colour, which
728
+ stays legible in both themes, and a short stroke before the text in the
729
+ line's pattern takes this colour. */
730
+ color?: string;
731
+ /** Whether the value widens the axis extent, so that the limit is certainly
732
+ visible.
733
+ @default true */
734
+ inExtent?: boolean;
735
+ /** A chosen specification limit or a calculated control limit. They look
736
+ different because they mean different things (ADR-0008).
737
+ @default "specification" */
738
+ role?: LimitRole;
739
+ }
740
+
741
+ /** Any registered limit, a line or a band, told apart by `kind`. */
648
742
  export declare type LimitConfig = LimitLineConfig | LimitBandConfig;
649
743
 
744
+ /** A limit drawn as a line across the plot at one value of an axis - a
745
+ specification limit, or with `role` a control limit. Not a series: no data,
746
+ no legend entry, no hit. By default it widens its axis so that it is
747
+ always seen. */
650
748
  export declare function LimitLine(props: LimitLineProps): null;
651
749
 
750
+ /** A `LimitLine` as the chart holds it once registered. */
652
751
  export declare interface LimitLineConfig extends LimitBase {
653
752
  kind: "line";
654
753
  value: number;
655
754
  }
656
755
 
657
- export declare interface LimitLineProps extends CommonProps {
756
+ /** The props of `LimitLine`. */
757
+ export declare interface LimitLineProps extends LimitCommonProps {
658
758
  /** Where the line lies, in domain units of its axis. */
659
759
  value: number;
660
760
  }
@@ -679,8 +779,12 @@ export declare interface LimitSet {
679
779
  target?: number;
680
780
  }
681
781
 
782
+ /** A series drawn as a line through its values; a gap breaks it. Renders
783
+ nothing itself: it registers with the surrounding `Chart`. */
682
784
  export declare function Line<T>(props: LineProps<T>): null;
683
785
 
786
+ /** The affine mapping from a domain onto a pixel range, and back; the scale
787
+ every axis of the library uses. */
684
788
  export declare class LinearScale implements Scale {
685
789
  readonly domain: readonly [number, number];
686
790
  readonly range: readonly [number, number];
@@ -693,33 +797,40 @@ export declare class LinearScale implements Scale {
693
797
  ticks(n: number): number[];
694
798
  }
695
799
 
800
+ /** The props of `Line`. */
696
801
  export declare interface LineProps<T> {
697
- /** Y value; null/undefined/NaN/±Infinity means a gap (R-2.5). */
802
+ /** Y value; null/undefined/NaN/±Infinity means a gap.
803
+ @remarks R-2.5 */
698
804
  accessor: Accessor<T>;
699
- /** Binding to an x axis (R-4.12). */
805
+ /** Binding to an x axis.
806
+ @remarks R-4.12 */
700
807
  xAxisId?: string;
701
- /** Binding to a y axis (R-4.12). */
808
+ /** Binding to a y axis.
809
+ @remarks R-4.12 */
702
810
  yAxisId?: string;
703
- /** Series-own data; overrides the container data (R-2.4). */
811
+ /** Series-own data; overrides the container data.
812
+ @remarks R-2.4 */
704
813
  data?: readonly T[];
705
- /** The name in legend and tooltip. Without one the series is called
706
- "Series n" and a warning stands in DEV - an unnamed series is a colour
707
- nobody can look up. */
814
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
815
+ unnamed series is a colour nobody can look up.
816
+ @default "Series n", after its place in the chart */
708
817
  name?: string;
709
818
  /** Not drawn, not hit and not counted for its axes' extent - a fixed
710
819
  `domain` keeps the axis still. Its legend entry stays, drawn back.
711
820
  Controlled: the caller sets it, typically from `Legend onToggle`. */
712
821
  hidden?: boolean;
713
- /** The value as the tooltip writes it; without one the y axis' `tickFormat`,
714
- then the default. */
822
+ /** The value as the tooltip writes it.
823
+ @default the y axis' `tickFormat`, else the built-in number format */
715
824
  format?: (value: number) => string;
716
- /** Any CSS colour value; without one the palette --uc-series-N. */
825
+ /** Any CSS colour value.
826
+ @default the palette's `--uc-series-N` */
717
827
  color?: string;
718
828
  /** A role instead of a colour value; the theme resolves it. */
719
829
  tone?: "ok" | "warning" | "alarm";
720
830
  /** Line width in CSS pixels. */
721
831
  strokeWidth?: number;
722
- /** Dash pattern as a run of lengths in CSS pixels; without one a solid line. */
832
+ /** Dash pattern as a run of lengths in CSS pixels.
833
+ @default a solid line */
723
834
  dash?: readonly number[];
724
835
  /** When the individual points are drawn as marks: `auto` every point up to
725
836
  60 points and above that only a point between two gaps - it has no line
@@ -731,6 +842,7 @@ export declare interface LineProps<T> {
731
842
  step?: boolean;
732
843
  }
733
844
 
845
+ /** A `Line` as the chart holds it once registered. */
734
846
  export declare interface LineSeriesConfig<T = unknown> extends SeriesBase<T> {
735
847
  kind: "line";
736
848
  strokeWidth: number;
@@ -753,14 +865,15 @@ export declare function localOffset(instant: number): number;
753
865
  go it in one piece. Only the first n values are touched. */
754
866
  export declare function mapSeries(input: CalendarInput, source: Float64Array, n: number, target: Float64Array): void;
755
867
 
756
- /** Materialised series: the draw loop works only on this (R-2.7).
757
- Gaps (null/undefined/NaN/±Infinity out of the accessor) are encoded as NaN
758
- (R-2.5). */
868
+ /** Materialised series: the draw loop works only on this.
869
+ Gaps (null/undefined/NaN/±Infinity out of the accessor) are encoded as NaN.
870
+ @remarks R-2.7, R-2.5 */
759
871
  export declare interface MaterializedSeries {
760
872
  x: Float64Array;
761
873
  y: Float64Array;
762
874
  /** Lower edge, where the baseline is an accessor of its own; otherwise null.
763
- A fixed baseline needs no channel - it is a number (R-2.7). */
875
+ A fixed baseline needs no channel - it is a number.
876
+ @remarks R-2.7 */
764
877
  y0: Float64Array | null;
765
878
  /** Value channel: the third value per point, which today only the matrix
766
879
  needs. Named rather than overloading y0 - a property that only some kinds
@@ -773,6 +886,10 @@ export declare interface MaterializedSeries {
773
886
  length: number;
774
887
  }
775
888
 
889
+ /** A series drawn as a grid of coloured cells: the accessor gives the row,
890
+ `value` the colour - by the limits of an assessment or across a gradient.
891
+ A missing value is a hole, not a zero. Renders nothing itself: it registers
892
+ with the surrounding `Chart`. */
776
893
  export declare function Matrix<T>(props: MatrixProps<T>): null;
777
894
 
778
895
  /** How a matrix colours its cells. Discretely by assessment - the same limits
@@ -788,36 +905,46 @@ export declare type MatrixColoring = {
788
905
  package does not have and is not to get (ADR-0011). Whoever wants a
789
906
  finer gradation names more colours. */
790
907
  stops: readonly string[];
791
- /** Value range of the gradient; without a value taken from the data. */
908
+ /** Value range of the gradient.
909
+ @default the range of the data */
792
910
  range?: readonly [number, number];
793
911
  };
794
912
 
913
+ /** The props of `Matrix`. */
795
914
  export declare interface MatrixProps<T> {
796
915
  /** Row position on the y axis. */
797
916
  accessor: Accessor<T>;
798
917
  /** The value that decides the colour. */
799
918
  value: Accessor<T>;
800
- /** Without a value the default gradient across the data range. */
919
+ /** How the value colours a cell: by assessment against limits, or across
920
+ a gradient.
921
+ @default { kind: "gradient", stops: DEFAULT_GRADIENT } */
801
922
  coloring?: MatrixColoring;
802
- /** Binding to an x axis (R-4.12). */
923
+ /** Binding to an x axis.
924
+ @remarks R-4.12 */
803
925
  xAxisId?: string;
804
- /** Binding to a y axis (R-4.12). */
926
+ /** Binding to a y axis.
927
+ @remarks R-4.12 */
805
928
  yAxisId?: string;
806
- /** Series-own data; overrides the container data (R-2.4). */
929
+ /** Series-own data; overrides the container data.
930
+ @remarks R-2.4 */
807
931
  data?: readonly T[];
808
- /** The name in legend and tooltip. Without one the series is called
809
- "Series n" and a warning stands in DEV - an unnamed series is a colour
810
- nobody can look up. */
932
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
933
+ unnamed series is a colour nobody can look up.
934
+ @default "Series n", after its place in the chart */
811
935
  name?: string;
812
936
  /** Not drawn, not hit and not counted for its axes' extent - a fixed
813
937
  `domain` keeps the axis still. Its legend entry stays, drawn back.
814
938
  Controlled: the caller sets it, typically from `Legend onToggle`. */
815
939
  hidden?: boolean;
816
- /** The value as the tooltip writes it; without one the default. The y
817
- axis' `tickFormat` writes the row, not the value. */
940
+ /** The value as the tooltip writes it. The y axis' `tickFormat` writes the
941
+ row, not the value.
942
+ @default the built-in number format */
818
943
  format?: (value: number) => string;
819
944
  }
820
945
 
946
+ /** A `Matrix` as the chart holds it once registered: its base accessor is the
947
+ row, `value` the colour. */
821
948
  export declare interface MatrixSeriesConfig<T = unknown> extends SeriesBase<T> {
822
949
  kind: "matrix";
823
950
  /** The value that decides the colour - the third channel (ADR-0011).
@@ -826,8 +953,10 @@ export declare interface MatrixSeriesConfig<T = unknown> extends SeriesBase<T> {
826
953
  coloring: MatrixColoring;
827
954
  }
828
955
 
956
+ /** One minute in milliseconds. */
829
957
  export declare const MINUTE: number;
830
958
 
959
+ /** Space in CSS pixels on each side of a rectangle. */
831
960
  export declare interface Padding {
832
961
  top: number;
833
962
  right: number;
@@ -848,6 +977,8 @@ export declare interface Padding {
848
977
  which is the third biggest problem. */
849
978
  export declare function pareto(items: readonly ParetoItem[], options?: ParetoSettings): ParetoResult;
850
979
 
980
+ /** What `pareto` assumes where a call says nothing: a cutoff of 80 %, and no
981
+ collecting of the tail. */
851
982
  export declare const paretoDefaults: Omit<ParetoOptions, "remainderName">;
852
983
 
853
984
  /** An item, the way it is drawn. */
@@ -873,23 +1004,28 @@ export declare interface ParetoItem {
873
1004
  readonly value: number;
874
1005
  }
875
1006
 
1007
+ /** The settings of `pareto`, complete; a call gives `ParetoSettings`. */
876
1008
  export declare interface ParetoOptions {
877
1009
  /** The share whose crossing is sought. Whoever lands exactly on it counts as
878
1010
  the crossing: the question is "which reasons make up eighty per cent", and
879
- whoever reaches eighty exactly belongs to them. */
1011
+ whoever reaches eighty exactly belongs to them.
1012
+ @default 0.8 */
880
1013
  readonly cutoff: number;
881
1014
  /** How many items stay on their own. Everything behind that becomes a single
882
1015
  entry. Beyond the number of items no remainder arises at all - not an empty
883
- one. Default: infinity, so no collecting. */
1016
+ one.
1017
+ @default Infinity */
884
1018
  readonly collectRank: number;
885
1019
  /** Name of the collected remainder. `@umriss-ui/charts` has no wording module
886
1020
  - every string it draws comes from the caller - and no module is introduced
887
- for a single label. Hence no default either: until library-audit 03 the
888
- default here was "Sonstige", the one German word the package brought along
889
- itself. */
1021
+ for a single label. Until library-audit 03 the name here was
1022
+ "Sonstige", the one German word the package brought along itself.
1023
+ @default none - the caller names it */
890
1024
  readonly remainderName?: string;
891
1025
  }
892
1026
 
1027
+ /** What `pareto` returns: the entries as they are drawn, their total and
1028
+ where the cutoff is crossed. */
893
1029
  export declare interface ParetoResult {
894
1030
  readonly entries: readonly ParetoEntry[];
895
1031
  /** Total of the drawn entries - after collecting, the same as before. */
@@ -911,6 +1047,7 @@ export declare type ParetoSettings = {
911
1047
  readonly remainderName: string;
912
1048
  });
913
1049
 
1050
+ /** A rectangle in CSS pixels, from its top left corner. */
914
1051
  export declare interface Rect {
915
1052
  x: number;
916
1053
  y: number;
@@ -943,6 +1080,8 @@ export declare interface RemovedSpan {
943
1080
  without a style engine), a colour is given back as it stands. */
944
1081
  export declare function resolveColours<K extends string>(root: Element, colours: Readonly<Record<K, string>>): Record<K, string>;
945
1082
 
1083
+ /** A chart's colours and fonts, resolved from the `--uc-*` tokens where the
1084
+ chart stands. */
946
1085
  export declare interface ResolvedTheme {
947
1086
  colorAxis: string;
948
1087
  colorGrid: string;
@@ -999,6 +1138,8 @@ export declare function ruleTrend(values: readonly number[], length?: number): n
999
1138
  that one is unremarkable and, marked, would look like a measurement error. */
1000
1139
  export declare function ruleTwoOfThree(values: readonly number[], limits: ControlLimits): number[];
1001
1140
 
1141
+ /** The mapping of an axis' values onto pixels and back, with its ticks. Every
1142
+ scale of the library is affine; `LinearScale` implements it. */
1002
1143
  export declare interface Scale {
1003
1144
  domain: readonly [number, number];
1004
1145
  range: readonly [number, number];
@@ -1016,29 +1157,37 @@ export declare interface Scale {
1016
1157
  ticks(n: number): number[];
1017
1158
  }
1018
1159
 
1160
+ /** A series drawn as points only, one per value. Renders nothing itself: it
1161
+ registers with the surrounding `Chart`. */
1019
1162
  export declare function Scatter<T>(props: ScatterProps<T>): null;
1020
1163
 
1164
+ /** The props of `Scatter`. */
1021
1165
  export declare interface ScatterProps<T> {
1022
- /** Y value; null/undefined/NaN/±Infinity means a gap (R-2.5). */
1166
+ /** Y value; null/undefined/NaN/±Infinity means a gap.
1167
+ @remarks R-2.5 */
1023
1168
  accessor: Accessor<T>;
1024
- /** Binding to an x axis (R-4.12). */
1169
+ /** Binding to an x axis.
1170
+ @remarks R-4.12 */
1025
1171
  xAxisId?: string;
1026
- /** Binding to a y axis (R-4.12). */
1172
+ /** Binding to a y axis.
1173
+ @remarks R-4.12 */
1027
1174
  yAxisId?: string;
1028
- /** Series-own data; overrides the container data (R-2.4). */
1175
+ /** Series-own data; overrides the container data.
1176
+ @remarks R-2.4 */
1029
1177
  data?: readonly T[];
1030
- /** The name in legend and tooltip. Without one the series is called
1031
- "Series n" and a warning stands in DEV - an unnamed series is a colour
1032
- nobody can look up. */
1178
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
1179
+ unnamed series is a colour nobody can look up.
1180
+ @default "Series n", after its place in the chart */
1033
1181
  name?: string;
1034
1182
  /** Not drawn, not hit and not counted for its axes' extent - a fixed
1035
1183
  `domain` keeps the axis still. Its legend entry stays, drawn back.
1036
1184
  Controlled: the caller sets it, typically from `Legend onToggle`. */
1037
1185
  hidden?: boolean;
1038
- /** The value as the tooltip writes it; without one the y axis' `tickFormat`,
1039
- then the default. */
1186
+ /** The value as the tooltip writes it.
1187
+ @default the y axis' `tickFormat`, else the built-in number format */
1040
1188
  format?: (value: number) => string;
1041
- /** Any CSS colour value; without one the palette --uc-series-N. */
1189
+ /** Any CSS colour value.
1190
+ @default the palette's `--uc-series-N` */
1042
1191
  color?: string;
1043
1192
  /** A role instead of a colour value; the theme resolves it. */
1044
1193
  tone?: "ok" | "warning" | "alarm";
@@ -1046,18 +1195,24 @@ export declare interface ScatterProps<T> {
1046
1195
  radius?: number;
1047
1196
  }
1048
1197
 
1198
+ /** A `Scatter` as the chart holds it once registered. */
1049
1199
  export declare interface ScatterSeriesConfig<T = unknown> extends SeriesBase<T> {
1050
1200
  kind: "scatter";
1051
1201
  /** Point radius in CSS pixels. */
1052
1202
  radius: number;
1053
1203
  }
1054
1204
 
1205
+ /** One second in milliseconds, the unit of a time axis. */
1055
1206
  export declare const SECOND = 1000;
1056
1207
 
1208
+ /** What every series registers, whatever its kind: where its values come from,
1209
+ which axes it stands on, and how it is named and coloured. */
1057
1210
  export declare interface SeriesBase<T = unknown> {
1058
- /** Y value; null/undefined/NaN/±Infinity means a gap (R-2.5). */
1211
+ /** Y value; null/undefined/NaN/±Infinity means a gap.
1212
+ @remarks R-2.5 */
1059
1213
  accessor: Accessor<T>;
1060
- /** Series-own data; overrides the container data (R-2.4). */
1214
+ /** Series-own data; overrides the container data.
1215
+ @remarks R-2.4 */
1061
1216
  data?: readonly T[];
1062
1217
  xAxisId: string;
1063
1218
  yAxisId: string;
@@ -1074,8 +1229,11 @@ export declare interface SeriesBase<T = unknown> {
1074
1229
  hidden?: boolean;
1075
1230
  }
1076
1231
 
1232
+ /** Any registered series, told apart by `kind`. */
1077
1233
  export declare type SeriesConfig<T = unknown> = LineSeriesConfig<T> | AreaSeriesConfig<T> | BarSeriesConfig<T> | BoxSeriesConfig<T> | ScatterSeriesConfig<T> | StateSeriesConfig<T> | MatrixSeriesConfig<T>;
1078
1234
 
1235
+ /** The kinds of series a chart draws: `line`, `area`, `bar`, `box`, `scatter`,
1236
+ `state` and `matrix`. The set is closed. */
1079
1237
  export declare type SeriesKind = SeriesConfig["kind"];
1080
1238
 
1081
1239
  /** How seriously a violation weighs. Exactly two: one severity that advises and
@@ -1108,6 +1266,7 @@ declare interface Stackable {
1108
1266
  reported, not until the axis' rounded end. */
1109
1267
  export declare function StateBand<T>(props: StateBandProps<T>): null;
1110
1268
 
1269
+ /** The props of `StateBand`. */
1111
1270
  export declare interface StateBandProps<T> {
1112
1271
  /** Index of the state in `states`; null/undefined/NaN/±Infinity is a gap -
1113
1272
  and a gap stays a hole, it gets no colour for "unknown". A colour would
@@ -1115,15 +1274,18 @@ export declare interface StateBandProps<T> {
1115
1274
  accessor: Accessor<T>;
1116
1275
  /** The closed set of states, in the order of their codes. */
1117
1276
  states: readonly StateEntry[];
1118
- /** Binding to an x axis (R-4.12). */
1277
+ /** Binding to an x axis.
1278
+ @remarks R-4.12 */
1119
1279
  xAxisId?: string;
1120
- /** Binding to a y axis (R-4.12). */
1280
+ /** Binding to a y axis.
1281
+ @remarks R-4.12 */
1121
1282
  yAxisId?: string;
1122
- /** Series-own data; overrides the container data (R-2.4). */
1283
+ /** Series-own data; overrides the container data.
1284
+ @remarks R-2.4 */
1123
1285
  data?: readonly T[];
1124
- /** The name in legend and tooltip. Without one the series is called
1125
- "Series n" and a warning stands in DEV - an unnamed series is a colour
1126
- nobody can look up. */
1286
+ /** The name in legend and tooltip. Without one a warning stands in DEV - an
1287
+ unnamed series is a colour nobody can look up.
1288
+ @default "Series n", after its place in the chart */
1127
1289
  name?: string;
1128
1290
  /** Not drawn, not hit and not counted for its axes' extent - a fixed
1129
1291
  `domain` keeps the axis still. Its legend entry stays, drawn back.
@@ -1141,6 +1303,8 @@ export declare interface StateEntry {
1141
1303
  color: string;
1142
1304
  }
1143
1305
 
1306
+ /** A `StateBand` as the chart holds it once registered: its accessor yields
1307
+ an index into `states`. */
1144
1308
  export declare interface StateSeriesConfig<T = unknown> extends SeriesBase<T> {
1145
1309
  kind: "state";
1146
1310
  /** The closed set of states. The accessor yields the index into it - a number,
@@ -1164,13 +1328,19 @@ export declare function subscribeTheme(notify: () => void): () => void;
1164
1328
  day steps it continues in whole days. */
1165
1329
  export declare function timeStep(span: number, count: number): number;
1166
1330
 
1331
+ /** Turns on the pointer's interaction with a chart: crosshair, hover markers
1332
+ and the tooltip, built in or from `render`. Without it the chart does not
1333
+ answer the pointer. */
1167
1334
  export declare function Tooltip<T>(props: TooltipProps<T>): null;
1168
1335
 
1336
+ /** A `Tooltip` as the chart holds it once registered. */
1169
1337
  export declare interface TooltipConfig<T = unknown> {
1170
1338
  mode: "x" | "nearest";
1171
1339
  render?: (hit: TooltipHit<T>) => ReactNode;
1172
1340
  }
1173
1341
 
1342
+ /** What the pointer hit: the x value under it and one point per series there.
1343
+ A custom tooltip's `render` receives it. */
1174
1344
  export declare interface TooltipHit<T = unknown> {
1175
1345
  xValue: number;
1176
1346
  points: readonly TooltipPoint<T>[];
@@ -1180,7 +1350,8 @@ export declare interface TooltipHit<T = unknown> {
1180
1350
  yPx: number;
1181
1351
  }
1182
1352
 
1183
- /** One hit per series in the tooltip (R-4.4). */
1353
+ /** One hit per series in the tooltip.
1354
+ @remarks R-4.4 */
1184
1355
  export declare interface TooltipPoint<T = unknown> {
1185
1356
  seriesName: string;
1186
1357
  color: string;
@@ -1214,12 +1385,13 @@ export declare interface TooltipPoint<T = unknown> {
1214
1385
  };
1215
1386
  }
1216
1387
 
1388
+ /** The props of `Tooltip`. */
1217
1389
  export declare interface TooltipProps<T> {
1218
1390
  /** "x": every series at the x position; "nearest": only the nearest point. */
1219
1391
  mode?: "x" | "nearest";
1220
- /** Render prop for content of one's own; without it the built-in tooltip
1221
- applies. Compared by its source text, like `tickFormat` - with the same
1222
- closure limit. */
1392
+ /** Render prop for content of one's own. Compared by its source text, like
1393
+ `tickFormat` - with the same closure limit.
1394
+ @default the built-in tooltip */
1223
1395
  render?: (hit: TooltipHit<T>) => ReactNode;
1224
1396
  }
1225
1397
 
@@ -1350,9 +1522,13 @@ export declare interface WorkingTimeTick {
1350
1522
  place the tick, the wall clock time to label it. */
1351
1523
  export declare function workingTimeTicks(input: CalendarInput, from: number, to: number, step: number, offset?: number): WorkingTimeTick[];
1352
1524
 
1525
+ /** A horizontal axis: where a datum lies along x, its ticks, title and grid.
1526
+ A chart may have several; series bind to one by its `id`. With `time` or a
1527
+ `calendar` it reads instants, with `onDomainChange` it zooms. */
1353
1528
  export declare function XAxis<T>(props: XAxisProps<T>): null;
1354
1529
 
1355
- export declare interface XAxisProps<T> extends CommonProps_2<T> {
1530
+ /** The props of `XAxis`. */
1531
+ export declare interface XAxisProps<T> extends CommonProps<T> {
1356
1532
  /** `"nice"` widens the data's extent to ticks - to named `ticks` where
1357
1533
  there are any, on a time axis to whole units of a step of hours or
1358
1534
  longer -, `"data"` keeps it, a pair is fixed - the one a zoom passes
@@ -1383,9 +1559,12 @@ export declare interface XAxisProps<T> extends CommonProps_2<T> {
1383
1559
  onDomainChange?: (domain: [number, number]) => void;
1384
1560
  }
1385
1561
 
1562
+ /** A vertical axis: the scale series draw their values on, its ticks, title
1563
+ and grid. A chart may have several; series bind to one by its `id`. */
1386
1564
  export declare function YAxis<T>(props: YAxisProps<T>): null;
1387
1565
 
1388
- export declare interface YAxisProps<T> extends CommonProps_2<T> {
1566
+ /** The props of `YAxis`. */
1567
+ export declare interface YAxisProps<T> extends CommonProps<T> {
1389
1568
  /** As on the x axis, and `"visible"`: what the series show inside their x
1390
1569
  axis' domain - a zoomed hour gets the hour's range, not the week's -,
1391
1570
  widened to ticks as `"nice"` is. Where the x domain is not fixed that is