@synertech/ui 0.43.0 → 0.44.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
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import react__default, { ReactNode, ReactElement, ComponentPropsWithoutRef, CSSProperties, RefObject, ChangeEvent, MouseEvent, Dispatch, SetStateAction, HTMLAttributes, TableHTMLAttributes, ThHTMLAttributes, TdHTMLAttributes } from 'react';
3
+ import react__default, { ReactNode, ReactElement, ComponentPropsWithoutRef, PointerEvent, KeyboardEvent, CSSProperties, RefObject, ChangeEvent, MouseEvent, Dispatch, SetStateAction, HTMLAttributes, TableHTMLAttributes, ThHTMLAttributes, TdHTMLAttributes } from 'react';
4
4
  import { M as MarkdownEditorComponent } from './types-99-Ej5og.js';
5
5
  export { a as MarkdownEditorProps } from './types-99-Ej5og.js';
6
6
 
@@ -123,6 +123,14 @@ type ChartSize = "sm" | "md" | "lg";
123
123
  */
124
124
  type ChartCurve = "linear" | "monotone" | "step" | "stepAfter";
125
125
  type ChartGridLines = "none" | "x" | "y" | "both";
126
+ /**
127
+ * Which screen axis carries the values.
128
+ *
129
+ * `vertical` is the usual case — values run up the left side, categories along
130
+ * the bottom. `horizontal` swaps them, which is what a bar chart does when its
131
+ * category names are too long to be read rotated.
132
+ */
133
+ type ChartOrientation = "vertical" | "horizontal";
126
134
  type ChartLegendPosition = "top" | "bottom" | "right";
127
135
  /** How the horizontal axis maps values to pixels. */
128
136
  type ChartScaleType = "category" | "linear" | "time";
@@ -155,6 +163,10 @@ interface ChartSeries {
155
163
  */
156
164
  type?: "bar" | "line";
157
165
  }
166
+ /** A series whose palette slot has been resolved to a colour. */
167
+ type ChartResolvedSeries = ChartSeries & {
168
+ color: string;
169
+ };
158
170
  interface ChartXAxisConfig {
159
171
  /** Field read on each datum. */
160
172
  key: string;
@@ -300,11 +312,107 @@ interface ChartTick {
300
312
  offset: number;
301
313
  label: string;
302
314
  }
315
+ /**
316
+ * The resolved geometry of a plot, handed to whatever an application draws
317
+ * inside it.
318
+ *
319
+ * Coordinates are relative to the **drawing area**, not to the SVG: `0, 0` is
320
+ * the top-left corner of the plot, inside the axis gutters, which is the frame
321
+ * the chart's own marks are placed in.
322
+ */
323
+ interface ChartPlotContext {
324
+ /** Size of the drawing area, and the gutters reserved around it. */
325
+ dimensions: ChartDimensions;
326
+ /** Which screen axis carries the values. */
327
+ orientation: ChartOrientation;
328
+ /**
329
+ * Where an x value lands along the category axis, in pixels.
330
+ *
331
+ * `null` when the axis cannot place it — a category that is not in the data,
332
+ * or a date outside the window. Skip the mark rather than drawing it on the
333
+ * edge, which is what the chart's own overlays do.
334
+ */
335
+ xAt: (value: ChartXValue) => number | null;
336
+ /** Where a value lands along the value axis, in pixels. */
337
+ yAt: (value: number) => number;
338
+ /** Middle of each row's slot, in row order — where a mark is centred. */
339
+ categoryCenters: number[];
340
+ /** Width of a band. `0` where the rows are placed as points. */
341
+ bandwidth: number;
342
+ /** The x value of each row, in row order. */
343
+ xValues: ChartXValue[];
344
+ /** Rounded bounds of the value axis. */
345
+ domain: [number, number];
346
+ /** The rows the chart was given, untouched. */
347
+ data: readonly ChartDatum[];
348
+ /** The visible series, palette slots already resolved. */
349
+ series: readonly ChartResolvedSeries[];
350
+ /** The chart's own value formatter — a caption should read like its axis. */
351
+ formatValue: (value: number) => string;
352
+ /** The chart's own category formatter. */
353
+ formatX: (value: ChartXValue, index: number) => string;
354
+ }
355
+ /** Draws inside a chart's plot area, with the chart's own geometry. */
356
+ type ChartOverlayRenderer = (context: ChartPlotContext) => ReactNode;
357
+ /**
358
+ * What an application draws inside a chart.
359
+ *
360
+ * A bare function is drawn over the marks, which is what an extra label, a
361
+ * bracket or a custom threshold wants. The object form also reaches under
362
+ * them, for a region the data should sit on top of.
363
+ */
364
+ type ChartOverlay = ChartOverlayRenderer | {
365
+ under?: ChartOverlayRenderer;
366
+ over?: ChartOverlayRenderer;
367
+ };
368
+ /**
369
+ * A window dragged across a chart's category axis.
370
+ *
371
+ * Both ends are inclusive, and both are given twice: as the x values a reader
372
+ * selected, and as the row indices they cover — filtering a dataset wants the
373
+ * indices, feeding a period picker wants the values.
374
+ */
375
+ interface ChartBrushRange {
376
+ from: ChartXValue;
377
+ to: ChartXValue;
378
+ fromIndex: number;
379
+ toIndex: number;
380
+ }
381
+ /**
382
+ * What a panel carries besides its data.
383
+ *
384
+ * The three states are mutually exclusive and ranked: a chart that failed is
385
+ * not a chart that is empty, and a chart that is loading again is neither.
386
+ */
387
+ interface ChartStatusProps {
388
+ /** Dims the plot while fresh data loads; a first load shows a spinner. */
389
+ loading?: boolean;
390
+ /** Replaces the "no data" message. */
391
+ emptyState?: ReactNode;
392
+ /**
393
+ * The data could not be loaded.
394
+ *
395
+ * Never the same thing as having none: a panel that says "no data" after a
396
+ * failed request states something false, and offers no way out.
397
+ */
398
+ error?: boolean;
399
+ /** Replaces the whole built-in error state, message and button included. */
400
+ errorState?: ReactNode;
401
+ /** Draws the retry button in the error state, and is called when pressed. */
402
+ onRetry?: () => void;
403
+ /**
404
+ * Slot on the right of the caption: an export button, a range picker.
405
+ *
406
+ * A filter that frames several panels belongs in a `ChartFilterBar` above
407
+ * all of them; this is for what belongs to *this* panel alone.
408
+ */
409
+ actions?: ReactNode;
410
+ }
303
411
  /**
304
412
  * Props shared by every cartesian chart of the kit. Each chart adds its own
305
413
  * geometry on top — `curve` for lines, `stack` for areas and bars, and so on.
306
414
  */
307
- interface CartesianChartBaseProps {
415
+ interface CartesianChartBaseProps extends ChartStatusProps {
308
416
  data: ChartDatum[];
309
417
  series: ChartSeries[];
310
418
  x: ChartXAxisConfig;
@@ -324,8 +432,8 @@ interface CartesianChartBaseProps {
324
432
  emphasis?: string;
325
433
  title?: ReactNode;
326
434
  description?: ReactNode;
327
- loading?: boolean;
328
- emptyState?: ReactNode;
435
+ /** Draws inside the plot, with the chart's own resolved geometry. */
436
+ overlay?: ChartOverlay;
329
437
  onPointClick?: (event: ChartPointEvent) => void;
330
438
  className?: string;
331
439
  }
@@ -372,6 +480,28 @@ interface AreaChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWit
372
480
  */
373
481
  patterns?: boolean;
374
482
  legendToggle?: boolean;
483
+ /**
484
+ * Thins the drawn bands to roughly this many points per series.
485
+ *
486
+ * Runs the path through LTTB, which keeps the peaks a stride sample walks
487
+ * straight past. Only the paths are thinned: the geometry, the crosshair,
488
+ * the tooltip and the data table keep reading every row. Left unset, a
489
+ * series past `CHART_POINT_BUDGET` warns once in development.
490
+ */
491
+ maxPoints?: number;
492
+ /**
493
+ * Lets a pointer drag a window across the category axis.
494
+ *
495
+ * Shift + arrows does the same from the keyboard, Escape drops it, and the
496
+ * window is published to the surrounding `ChartSyncProvider`.
497
+ */
498
+ brush?: boolean;
499
+ /** Called when a window is set, and with `null` when one is dropped. */
500
+ onBrush?: (range: ChartBrushRange | null) => void;
501
+ /** Accessible name of the selected window. */
502
+ brushLabel?: string;
503
+ /** `false` keeps the chart out of the surrounding `ChartSyncProvider`. */
504
+ sync?: boolean;
375
505
  margin?: Partial<ChartMargin>;
376
506
  locale?: string;
377
507
  plotLabel?: string;
@@ -387,7 +517,7 @@ interface AreaChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWit
387
517
  * bands, separated by 2px of the surface colour rather than by a border drawn
388
518
  * around each one.
389
519
  */
390
- declare function AreaChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, onPointClick, curve, stack, baseline, connectNulls, referenceLines, annotations, patterns, legendToggle, margin, locale, plotLabel, className, ...props }: AreaChartProps): react_jsx_runtime.JSX.Element;
520
+ declare function AreaChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, error, errorState, onRetry, actions, onPointClick, curve, stack, baseline, connectNulls, referenceLines, annotations, overlay, patterns, legendToggle, maxPoints, brush, onBrush, brushLabel, sync, margin, locale, plotLabel, className, ...props }: AreaChartProps): react_jsx_runtime.JSX.Element;
391
521
 
392
522
  interface AvatarProps extends ComponentPropsWithoutRef<"div"> {
393
523
  src?: string;
@@ -416,14 +546,147 @@ declare namespace Badge {
416
546
  var displayName: string;
417
547
  }
418
548
 
549
+ interface LinearScale {
550
+ /** Maps a value to a pixel position. */
551
+ (value: number): number;
552
+ /** Maps a pixel position back to a value. */
553
+ invert(pixel: number): number;
554
+ readonly domain: readonly [number, number];
555
+ readonly range: readonly [number, number];
556
+ }
557
+
419
558
  /**
420
559
  * Which screen axis carries the values.
421
560
  *
422
- * `vertical` is the usual case — values run up the left side, categories along
423
- * the bottom. `horizontal` swaps them, which is what a bar chart does when its
424
- * category names are long enough to be unreadable rotated.
561
+ * The public spelling is `ChartOrientation`, declared beside the other types
562
+ * an application can see; this alias is what the engine has always called it.
563
+ */
564
+ type CartesianOrientation = ChartOrientation;
565
+ /**
566
+ * How a row takes its place along the category axis.
567
+ *
568
+ * `point` spaces the rows evenly with the first and last on the edges, which
569
+ * is what a line or an area is plotted against. `band` gives each row a slot
570
+ * of its own, which is what a bar needs to have a width.
571
+ */
572
+ type CategoryPlacement = "point" | "band";
573
+ interface CartesianGeometryOptions {
574
+ /** Measured width of the plot area — never the `width` prop, which is usually unset. */
575
+ width: number;
576
+ height: number;
577
+ data: readonly ChartDatum[];
578
+ /** Describes the category axis, whichever side the orientation puts it on. */
579
+ x: ChartXAxisConfig;
580
+ /** Describes the value axis. */
581
+ y?: ChartYAxisConfig;
582
+ /**
583
+ * Bounds the value axis has to cover, before rounding.
584
+ *
585
+ * The caller computes them, because they are not always the extent of the
586
+ * raw values: a stacked chart measures its totals, not its series.
587
+ */
588
+ bounds: [number, number] | null;
589
+ margin?: Partial<ChartMargin>;
590
+ orientation?: CartesianOrientation;
591
+ placement?: CategoryPlacement;
592
+ /** Share of a band left empty between two neighbours. */
593
+ bandPaddingInner?: number;
594
+ formatValue: (value: number) => string;
595
+ formatX: (value: ChartXValue, index: number) => string;
596
+ /** Extra room at the top, for a caption drawn above the plot. */
597
+ extraTop?: number;
598
+ /**
599
+ * Whether zero stays inside the domain when the axis config does not say.
600
+ *
601
+ * A bar is read for the length of its mark, so it needs its baseline; a line
602
+ * is read for its slope, and forcing zero flattens the change.
603
+ */
604
+ defaultIncludeZero?: boolean;
605
+ }
606
+ interface CartesianGeometry {
607
+ margin: ChartMargin;
608
+ innerWidth: number;
609
+ innerHeight: number;
610
+ orientation: CartesianOrientation;
611
+ /** Maps a value to a pixel along the value axis. */
612
+ valueScale: LinearScale;
613
+ /** Rounded bounds of the value axis. */
614
+ domain: [number, number];
615
+ valueTicks: ChartTick[];
616
+ /** The x value of each row, in row order. */
617
+ xValues: ChartXValue[];
618
+ /** Where each row starts along the category axis. */
619
+ categoryPositions: number[];
620
+ /** Width of a band — `0` under a point placement. */
621
+ bandwidth: number;
622
+ /** Middle of a row's slot: where a tick, a line point or a hover lands. */
623
+ categoryCenters: number[];
624
+ categoryTicks: ChartTick[];
625
+ /** Length of the category axis in pixels. */
626
+ categoryLength: number;
627
+ /**
628
+ * The category axis as a continuous scale, when it is one.
629
+ *
630
+ * `null` for a list of categories, where a value that is not in the data
631
+ * has no position at all. It is what lets an overlay place a date the rows
632
+ * never carry — an annotation on the 14th of a weekly series.
633
+ */
634
+ categoryScale: LinearScale | null;
635
+ }
636
+ /**
637
+ * Everything a cartesian chart needs to place a mark, computed once.
638
+ *
639
+ * A pure function on purpose: it is the part of a chart that can be wrong in a
640
+ * way no rendering test would catch, and it is the part every cartesian chart
641
+ * of the kit shares. Line, area and bar differ in the mark they draw over this,
642
+ * not in how they lay it out.
643
+ *
644
+ * It speaks in value and category axes rather than x and y, because a
645
+ * horizontal bar chart swaps which screen axis carries which.
646
+ */
647
+ declare function buildCartesianGeometry({ width, height, data, x, y, bounds, margin, orientation, placement, bandPaddingInner, formatValue, formatX, extraTop, defaultIncludeZero, }: CartesianGeometryOptions): CartesianGeometry;
648
+ /**
649
+ * Where a raw x value lands on the category axis, in pixels.
650
+ *
651
+ * Two axes, one question. A continuous axis can place a value the data never
652
+ * carries, which is exactly what an annotation on an arbitrary date needs; a
653
+ * list of categories cannot, so a value it does not hold answers `null` and
654
+ * the caller skips the mark rather than drawing it on the edge.
655
+ *
656
+ * A position outside the plot answers `null` for the same reason: overlays are
657
+ * drawn without a clip path, and an out-of-window date would otherwise land in
658
+ * the axis gutter.
659
+ */
660
+ declare function createCategoryLocator(geometry: Pick<CartesianGeometry, "categoryScale" | "xValues" | "categoryCenters" | "categoryLength">): (value: ChartXValue) => number | null;
661
+ /**
662
+ * The resolved geometry of a plot, in the shape an application can draw with.
663
+ *
664
+ * The chart already holds every one of these; this only gathers them behind
665
+ * one type, so that `overlay` is a contract the kit can keep rather than a
666
+ * bag of whatever a chart happened to have in scope.
425
667
  */
426
- type CartesianOrientation = "vertical" | "horizontal";
668
+ declare function createPlotContext({ geometry, width, height, data, series, formatValue, formatX, }: {
669
+ geometry: CartesianGeometry;
670
+ /** Total width of the SVG, gutters included. */
671
+ width: number;
672
+ height: number;
673
+ data: readonly ChartDatum[];
674
+ /** The visible series only — an overlay should not draw a hidden one. */
675
+ series: readonly ChartResolvedSeries[];
676
+ formatValue: (value: number) => string;
677
+ formatX: (value: ChartXValue, index: number) => string;
678
+ }): ChartPlotContext;
679
+ /**
680
+ * An overlay in its two halves, whichever form it was given in.
681
+ *
682
+ * A bare function draws over the marks, which is what a label, a bracket or a
683
+ * custom threshold wants. Reaching under them is the rarer case and says so by
684
+ * taking the object form.
685
+ */
686
+ declare function splitOverlay(overlay: ChartOverlay | undefined): {
687
+ under?: ChartOverlayRenderer;
688
+ over?: ChartOverlayRenderer;
689
+ };
427
690
 
428
691
  /**
429
692
  * Binning, for the one chart that counts rather than reads a measure.
@@ -555,6 +818,19 @@ interface BarChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWith
555
818
  */
556
819
  patterns?: boolean;
557
820
  legendToggle?: boolean;
821
+ /**
822
+ * Lets a pointer drag a window across the category axis.
823
+ *
824
+ * Shift + arrows does the same from the keyboard, Escape drops it, and the
825
+ * window is published to the surrounding `ChartSyncProvider`.
826
+ */
827
+ brush?: boolean;
828
+ /** Called when a window is set, and with `null` when one is dropped. */
829
+ onBrush?: (range: ChartBrushRange | null) => void;
830
+ /** Accessible name of the selected window. */
831
+ brushLabel?: string;
832
+ /** `false` keeps the chart out of the surrounding `ChartSyncProvider`. */
833
+ sync?: boolean;
558
834
  margin?: Partial<ChartMargin>;
559
835
  locale?: string;
560
836
  plotLabel?: string;
@@ -570,7 +846,7 @@ interface BarChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWith
570
846
  * is read for the length of its mark, and an axis starting at 40 exaggerates
571
847
  * every difference on the chart.
572
848
  */
573
- declare function BarChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, onPointClick, orientation, stack, diverging, bins, curve, barSize, sort, showValues, referenceLines, annotations, patterns, legendToggle, margin, locale, plotLabel, className, ...props }: BarChartProps): react_jsx_runtime.JSX.Element;
849
+ declare function BarChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, error, errorState, onRetry, actions, onPointClick, orientation, stack, diverging, bins, curve, barSize, sort, showValues, referenceLines, annotations, overlay, patterns, legendToggle, brush, onBrush, brushLabel, sync, margin, locale, plotLabel, className, ...props }: BarChartProps): react_jsx_runtime.JSX.Element;
574
850
 
575
851
  type BannerVariant = "notification" | "hero" | "promotion";
576
852
  type BannerType = "info" | "success" | "warning" | "error" | "default";
@@ -610,7 +886,7 @@ interface BreadcrumbProps extends ComponentPropsWithoutRef<"nav"> {
610
886
  }
611
887
  declare function Breadcrumb({ items, separator, size, maxItems, itemColor, activeColor, separatorColor, className, ...props }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
612
888
 
613
- interface BulletChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
889
+ interface BulletChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
614
890
  /** One row per measure. */
615
891
  data: ChartDatum[];
616
892
  /** Field holding the name of each row. */
@@ -647,8 +923,6 @@ interface BulletChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "chi
647
923
  tableView?: boolean | "toggle";
648
924
  title?: ReactNode;
649
925
  description?: ReactNode;
650
- loading?: boolean;
651
- emptyState?: ReactNode;
652
926
  locale?: string;
653
927
  plotLabel?: string;
654
928
  /** Header of the value column of the data table. */
@@ -685,7 +959,7 @@ interface BulletRow {
685
959
  * common axis to read across rows: pass `normalize="shared"` (or a `domain`)
686
960
  * when the rows carry the same unit, and the value axis comes back.
687
961
  */
688
- declare function BulletChart({ data, x, value, target, ranges, domain, normalize, showValues, trackSize, rangeColors, color, height, width, size, tooltip, tableView, title, description, loading, emptyState, locale, plotLabel, valueLabel, targetLabel, format, onRowClick, className, ...props }: BulletChartProps): react_jsx_runtime.JSX.Element;
962
+ declare function BulletChart({ data, x, value, target, ranges, domain, normalize, showValues, trackSize, rangeColors, color, height, width, size, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, locale, plotLabel, valueLabel, targetLabel, format, onRowClick, className, ...props }: BulletChartProps): react_jsx_runtime.JSX.Element;
689
963
 
690
964
  interface ButtonProps extends ComponentPropsWithoutRef<"button"> {
691
965
  label?: string;
@@ -968,7 +1242,7 @@ interface BoxPlotBox {
968
1242
  mean: number | null;
969
1243
  datum: ChartDatum;
970
1244
  }
971
- interface BoxPlotProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
1245
+ interface BoxPlotProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
972
1246
  /** One row per category compared. */
973
1247
  data: ChartDatum[];
974
1248
  /** Field holding the name of each category. */
@@ -1018,8 +1292,6 @@ interface BoxPlotProps extends Omit<ComponentPropsWithoutRef<"figure">, "childre
1018
1292
  tableView?: boolean | "toggle";
1019
1293
  title?: ReactNode;
1020
1294
  description?: ReactNode;
1021
- loading?: boolean;
1022
- emptyState?: ReactNode;
1023
1295
  margin?: Partial<ChartMargin>;
1024
1296
  locale?: string;
1025
1297
  plotLabel?: string;
@@ -1044,7 +1316,7 @@ interface BoxPlotProps extends Omit<ComponentPropsWithoutRef<"figure">, "childre
1044
1316
  * with a panel each, which keeps them on a shared scale without asking the
1045
1317
  * reader to hold two colour legends at once.
1046
1318
  */
1047
- declare function BoxPlot({ data, x, y, values, quantiles, whisker, orientation, boxSize, showOutliers, showMean, color, referenceLines, height, width, size, grid, tooltip, tableView, title, description, loading, emptyState, margin, locale, plotLabel, format, onBoxClick, className, ...props }: BoxPlotProps): react_jsx_runtime.JSX.Element;
1319
+ declare function BoxPlot({ data, x, y, values, quantiles, whisker, orientation, boxSize, showOutliers, showMean, color, referenceLines, height, width, size, grid, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, margin, locale, plotLabel, format, onBoxClick, className, ...props }: BoxPlotProps): react_jsx_runtime.JSX.Element;
1048
1320
 
1049
1321
  /** One session, as the tooltip and the click handler see it. */
1050
1322
  interface Candle {
@@ -1061,7 +1333,7 @@ interface Candle {
1061
1333
  rising: boolean;
1062
1334
  datum: ChartDatum;
1063
1335
  }
1064
- interface CandlestickChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
1336
+ interface CandlestickChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
1065
1337
  /** One row per session. */
1066
1338
  data: ChartDatum[];
1067
1339
  /** Field holding the session's label — usually a date. */
@@ -1101,8 +1373,6 @@ interface CandlestickChartProps extends Omit<ComponentPropsWithoutRef<"figure">,
1101
1373
  tableView?: boolean | "toggle";
1102
1374
  title?: ReactNode;
1103
1375
  description?: ReactNode;
1104
- loading?: boolean;
1105
- emptyState?: ReactNode;
1106
1376
  margin?: Partial<ChartMargin>;
1107
1377
  locale?: string;
1108
1378
  plotLabel?: string;
@@ -1133,7 +1403,7 @@ interface CandlestickChartProps extends Omit<ComponentPropsWithoutRef<"figure">,
1133
1403
  * its movement; a share worth 180 dollars read from zero is a flat band at
1134
1404
  * the top of the plot.
1135
1405
  */
1136
- declare function CandlestickChart({ data, x, y, open, high, low, close, candleSize, fillRising, colors, referenceLines, height, width, size, grid, legend, tooltip, tableView, title, description, loading, emptyState, margin, locale, plotLabel, openLabel, highLabel, lowLabel, closeLabel, riseLabel, fallLabel, format, onCandleClick, className, ...props }: CandlestickChartProps): react_jsx_runtime.JSX.Element;
1406
+ declare function CandlestickChart({ data, x, y, open, high, low, close, candleSize, fillRising, colors, referenceLines, height, width, size, grid, legend, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, margin, locale, plotLabel, openLabel, highLabel, lowLabel, closeLabel, riseLabel, fallLabel, format, onCandleClick, className, ...props }: CandlestickChartProps): react_jsx_runtime.JSX.Element;
1137
1407
 
1138
1408
  /** Geometry handed to the render prop once the container has been measured. */
1139
1409
  interface ChartContainerRenderArgs {
@@ -1163,6 +1433,25 @@ interface ChartContainerProps extends Omit<ComponentPropsWithoutRef<"figure">, "
1163
1433
  /** The chart has nothing to draw. */
1164
1434
  empty?: boolean;
1165
1435
  emptyState?: ReactNode;
1436
+ /**
1437
+ * The data could not be loaded.
1438
+ *
1439
+ * Deliberately separate from `empty`: "there is nothing to show" and "we
1440
+ * failed to fetch it" are two different statements, and a panel that says
1441
+ * the first after a failed request is saying something false. Only this one
1442
+ * offers a way out, through `onRetry`.
1443
+ *
1444
+ * A truthy `loading` wins over it, so a retry replaces the message with the
1445
+ * spinner rather than leaving the reader wondering whether anything happened.
1446
+ */
1447
+ error?: boolean;
1448
+ /** Replaces the whole built-in error state, message and button included. */
1449
+ errorState?: ReactNode;
1450
+ /** Draws the retry button, and is called when it is pressed. */
1451
+ onRetry?: () => void;
1452
+ errorLabel?: string;
1453
+ errorHintLabel?: string;
1454
+ retryLabel?: string;
1166
1455
  /** The data table twin, usually a `ChartTableView`. */
1167
1456
  table?: ReactNode;
1168
1457
  /** `true` keeps the table open, `"toggle"` puts it behind a button. */
@@ -1180,13 +1469,14 @@ interface ChartContainerProps extends Omit<ComponentPropsWithoutRef<"figure">, "
1180
1469
  * The frame every chart of the kit is drawn in.
1181
1470
  *
1182
1471
  * It owns what is identical from one chart to the next — measured width,
1183
- * caption, legend slot, loading and empty states, and the data table toggle —
1184
- * so that a chart component is left with its geometry and nothing else.
1472
+ * caption, legend slot, the loading, empty and error states, and the data
1473
+ * table toggle — so that a chart component is left with its geometry and
1474
+ * nothing else.
1185
1475
  *
1186
1476
  * The plot area is a render prop: a chart cannot lay itself out before the
1187
1477
  * container has been measured.
1188
1478
  */
1189
- declare function ChartContainer({ title, description, height, width: fixedWidth, size, legend, legendPosition, actions, loading, empty, emptyState, table, tableView, showTableLabel, hideTableLabel, noDataLabel, loadingLabel, ariaLabel, children, className, ...props }: ChartContainerProps): react_jsx_runtime.JSX.Element;
1479
+ declare function ChartContainer({ title, description, height, width: fixedWidth, size, legend, legendPosition, actions, loading, empty, emptyState, error, errorState, onRetry, errorLabel, errorHintLabel, retryLabel, table, tableView, showTableLabel, hideTableLabel, noDataLabel, loadingLabel, ariaLabel, children, className, ...props }: ChartContainerProps): react_jsx_runtime.JSX.Element;
1190
1480
 
1191
1481
  type ChartAxisOrientation = "bottom" | "left";
1192
1482
  interface ChartAxisProps extends Omit<ComponentPropsWithoutRef<"g">, "children"> {
@@ -1343,6 +1633,363 @@ declare function ChartAnnotationLayer({ annotations, xAt, yAt, width, height, ba
1343
1633
  */
1344
1634
  declare function describeAnnotations(annotations: readonly ChartAnnotation[] | undefined, prefix: string): string;
1345
1635
 
1636
+ interface ChartBrushLayerProps {
1637
+ /** Where the window starts and ends along the category axis, in pixels. */
1638
+ from: number;
1639
+ to: number;
1640
+ /** Size of the drawing area. */
1641
+ width: number;
1642
+ height: number;
1643
+ /** Which screen axis the categories run along. */
1644
+ orientation?: ChartOrientation;
1645
+ /** Dashed while the pointer is still down, solid once the window is set. */
1646
+ live?: boolean;
1647
+ /** Names the region for assistive technology. */
1648
+ label?: string;
1649
+ }
1650
+ /**
1651
+ * The window a reader selected, drawn across the plot.
1652
+ *
1653
+ * Both edges are drawn as rules rather than left to the wash alone: the ends
1654
+ * of the window are the part a reader checks, and the boundary of a 14%
1655
+ * translucent band is not a line anybody can point at.
1656
+ */
1657
+ declare function ChartBrushLayer({ from, to, width, height, orientation, live, label, }: ChartBrushLayerProps): react_jsx_runtime.JSX.Element | null;
1658
+ interface UseChartBrushOptions {
1659
+ /** `false` leaves every handler a no-op, so a chart can wire them anyway. */
1660
+ enabled: boolean;
1661
+ /**
1662
+ * Whether a window is currently set.
1663
+ *
1664
+ * A press that goes nowhere drops the window — otherwise a reader who has
1665
+ * brushed once has no way back but to brush again. Without knowing there is
1666
+ * one to drop, every ordinary click would fire a `null` nobody asked for.
1667
+ */
1668
+ active: boolean;
1669
+ /** Middle of each row's slot along the category axis, in pixels. */
1670
+ centers: readonly number[];
1671
+ /** The x value of each row, in row order. */
1672
+ xValues: readonly ChartXValue[];
1673
+ /** Offset of the drawing area inside the SVG, on the axis the drag runs along. */
1674
+ offset: number;
1675
+ orientation: ChartOrientation;
1676
+ /** Called when a window is set, and with `null` when one is dropped. */
1677
+ onCommit: (range: ChartBrushRange | null) => void;
1678
+ }
1679
+ interface UseChartBrushResult {
1680
+ /** The window being dragged right now, or `null`. */
1681
+ dragging: ChartBrushRange | null;
1682
+ onPointerDown: (event: PointerEvent<SVGSVGElement>) => void;
1683
+ onPointerMove: (event: PointerEvent<SVGSVGElement>) => void;
1684
+ onPointerUp: (event: PointerEvent<SVGSVGElement>) => void;
1685
+ /**
1686
+ * Shift + arrows to extend the window, Escape to drop it.
1687
+ *
1688
+ * Never consumes the key: the chart's own handler still moves its crosshair
1689
+ * on the same press, which is what keeps the window's head and the focused
1690
+ * position in step. Keyboard parity is not optional here — a filter that can
1691
+ * only be set by dragging is a filter half the readers cannot reach.
1692
+ */
1693
+ onKeyDown: (event: KeyboardEvent<SVGSVGElement>, focusedIndex: number | null) => void;
1694
+ /** `true` when the press that just ended was a drag, not a click. */
1695
+ consumedClick: () => boolean;
1696
+ }
1697
+ /**
1698
+ * Dragging a window across a chart's category axis.
1699
+ *
1700
+ * The gesture the whole of `ChartSyncProvider` exists for: a reader pulls a
1701
+ * fortnight on the line and the dashboard is read over that fortnight. It has
1702
+ * to live in the plot rather than in a strip of its own, because the range
1703
+ * being chosen is a range *of the data on screen* — a second miniature chart
1704
+ * under the first would be a different picture to aim at.
1705
+ */
1706
+ declare function useChartBrush({ enabled, active, centers, xValues, offset, orientation, onCommit, }: UseChartBrushOptions): UseChartBrushResult;
1707
+
1708
+ /**
1709
+ * The periods a dashboard is read over, resolved to real dates.
1710
+ *
1711
+ * Pure functions on purpose: "the last 30 days" is the kind of thing that is
1712
+ * wrong by one day for a month before anybody notices, and it is much easier
1713
+ * to pin down here than through a rendered picker.
1714
+ */
1715
+ /** The windows a filter row offers by name. */
1716
+ type ChartPeriodPreset = "7d" | "30d" | "90d" | "12m" | "mtd" | "qtd" | "ytd" | "custom";
1717
+ /** A resolved window: where it came from, and the two dates it covers. */
1718
+ interface ChartPeriod {
1719
+ /** The entry that produced it. `custom` when the dates were picked by hand. */
1720
+ preset: ChartPeriodPreset;
1721
+ from: Date;
1722
+ to: Date;
1723
+ }
1724
+ /** The presets a picker offers when it is not told otherwise. */
1725
+ declare const DEFAULT_CHART_PERIOD_PRESETS: readonly ChartPeriodPreset[];
1726
+ /** Midnight at the start of a day, in the reader's own time zone. */
1727
+ declare function startOfDay(date: Date): Date;
1728
+ /**
1729
+ * The last millisecond of a day.
1730
+ *
1731
+ * A window ending at midnight drops everything that happened during its last
1732
+ * day — the single most common off-by-one in a dashboard.
1733
+ */
1734
+ declare function endOfDay(date: Date): Date;
1735
+ /**
1736
+ * Resolves a named window against a reference moment.
1737
+ *
1738
+ * "The last 7 days" counts today as one of them, which is what a reader
1739
+ * expects from a figure that includes what happened this morning.
1740
+ */
1741
+ declare function resolvePeriodPreset(preset: ChartPeriodPreset, now?: Date): {
1742
+ from: Date;
1743
+ to: Date;
1744
+ };
1745
+ /** A named window, resolved into the period a chart is filtered by. */
1746
+ declare function createPeriod(preset: ChartPeriodPreset, now?: Date): ChartPeriod;
1747
+ /**
1748
+ * The two ends of a window as one string.
1749
+ *
1750
+ * `formatRange` is what a locale expects here — it collapses the parts the two
1751
+ * dates share ("1 – 15 March 2026" rather than twice the month and the year).
1752
+ */
1753
+ declare function formatPeriodRange(from: Date, to: Date, locale?: string): string;
1754
+ /** `true` when two periods cover the same window, to the millisecond. */
1755
+ declare function samePeriod(a: ChartPeriod | undefined, b: ChartPeriod | undefined): boolean;
1756
+
1757
+ /** What every panel of a synchronised group can see and change. */
1758
+ interface ChartSyncContextValue {
1759
+ /** The position under the pointer, in whichever panel the pointer is in. */
1760
+ hovered: ChartXValue | null;
1761
+ /** The window dragged on any panel of the group. */
1762
+ brush: ChartBrushRange | null;
1763
+ /** `false` when the group was told not to share the pointer. */
1764
+ hoverShared: boolean;
1765
+ setHovered: (value: ChartXValue | null) => void;
1766
+ setBrush: (range: ChartBrushRange | null) => void;
1767
+ }
1768
+ /**
1769
+ * The group a chart belongs to, or `null` when it stands alone.
1770
+ *
1771
+ * Public because the two things a group carries — where the pointer is, and
1772
+ * what window is selected — are exactly what a panel that is *not* a chart
1773
+ * needs to stay in step: a legend, a figure beside the row, a table.
1774
+ */
1775
+ declare function useChartSync(): ChartSyncContextValue | null;
1776
+ interface ChartSyncProviderProps {
1777
+ children: ReactNode;
1778
+ /**
1779
+ * Shares the hovered position between the panels.
1780
+ *
1781
+ * The pointer draws a crosshair in every panel and a tooltip in one: four
1782
+ * tooltips at once is four things to read and no answer.
1783
+ */
1784
+ hover?: boolean;
1785
+ /** Controlled selection. Leave unset to let the group hold its own. */
1786
+ brush?: ChartBrushRange | null;
1787
+ /** Starting selection of an uncontrolled group. */
1788
+ defaultBrush?: ChartBrushRange | null;
1789
+ /** Called whenever a panel commits a dragged window, or clears it with `null`. */
1790
+ onBrushChange?: (range: ChartBrushRange | null) => void;
1791
+ }
1792
+ /**
1793
+ * Several charts read as one object rather than as a row of pictures.
1794
+ *
1795
+ * `ChartFilterBar` made a dashboard a **frame**: one row of filters above
1796
+ * panels that therefore answer the same question. This makes it an **object**:
1797
+ * the pointer lands on a moment in one panel and every other panel marks the
1798
+ * same moment, and a window dragged on one is the window all of them show.
1799
+ *
1800
+ * Nothing is drawn here. The provider holds the two pieces of state a group
1801
+ * shares and hands them to whichever panels are inside it; a chart opts out
1802
+ * with `sync={false}`.
1803
+ *
1804
+ * ```tsx
1805
+ * const [period, setPeriod] = useState(() => createPeriod("30d"));
1806
+ *
1807
+ * <ChartSyncProvider onBrushChange={(range) => range && setPeriod(brushToPeriod(range))}>
1808
+ * <ChartFilterBar>
1809
+ * <ChartPeriodPicker value={period} onChange={setPeriod} />
1810
+ * </ChartFilterBar>
1811
+ * <LineChart brush data={rows} … />
1812
+ * <BarChart data={rows} … />
1813
+ * </ChartSyncProvider>
1814
+ * ```
1815
+ */
1816
+ declare function ChartSyncProvider({ children, hover, brush, defaultBrush, onBrushChange, }: ChartSyncProviderProps): react_jsx_runtime.JSX.Element;
1817
+ /**
1818
+ * A dragged window, as the period a filter row is set to.
1819
+ *
1820
+ * The point of brushing: a reader drags a fortnight on the line and the
1821
+ * dashboard is now read over that fortnight. Both ends are widened to whole
1822
+ * days, the way `ChartPeriodPicker` resolves its own presets — a window ending
1823
+ * at midnight drops its own last day.
1824
+ *
1825
+ * Answers `null` when the axis that was brushed carries no date at all. It
1826
+ * cannot tell a timestamp from any other number, though — a time axis stores
1827
+ * its values as numbers, and so does a linear one. Call it on a chart whose x
1828
+ * axis carries dates; on any other the window it returns is arithmetic rather
1829
+ * than a period.
1830
+ */
1831
+ declare function brushToPeriod(range: ChartBrushRange): ChartPeriod | null;
1832
+
1833
+ /**
1834
+ * What a chart hands to a file.
1835
+ *
1836
+ * The same rows its data table draws, which is the point: `DataGrid` has
1837
+ * exported CSV and JSON since it shipped, and a chart holds an exact table of
1838
+ * its own already. Every value a reader can see is a value they can take away.
1839
+ */
1840
+ interface ChartExportOptions {
1841
+ data: readonly ChartDatum[];
1842
+ series: readonly ChartSeries[];
1843
+ /** Field the rows are keyed on — the chart's x axis. */
1844
+ xKey: string;
1845
+ /** Header of the first column. Defaults to `xKey`. */
1846
+ xLabel?: string;
1847
+ /**
1848
+ * Formats the category of each row.
1849
+ *
1850
+ * Only the category: the measurements are written raw on purpose. A
1851
+ * spreadsheet is going to compute on them, and `1 234,5 €` is a string.
1852
+ */
1853
+ formatX?: (value: ChartXValue, index: number) => string;
1854
+ }
1855
+ /** One exported row: the category, then one column per visible series. */
1856
+ type ChartExportRow = Record<string, string | number | null>;
1857
+ /** The chart's rows, in the shape a file wants: one object per row. */
1858
+ declare function toChartRows({ data, series, xKey, xLabel, formatX, }: ChartExportOptions): ChartExportRow[];
1859
+ /** The chart's data table as a CSV document. */
1860
+ declare function toChartCsv(options: ChartExportOptions, delimiter?: string): string;
1861
+ /** The chart's data table as a JSON document. */
1862
+ declare function toChartJson(options: ChartExportOptions): string;
1863
+ type ChartExportFormat = "csv" | "json";
1864
+ /**
1865
+ * Hands the chart's rows to the browser as a file.
1866
+ *
1867
+ * Does nothing outside a browser rather than throwing: a chart is rendered on
1868
+ * the server too, and a download is the one thing that cannot happen there.
1869
+ */
1870
+ declare function downloadChartData(format: ChartExportFormat, options: ChartExportOptions, filename?: string): void;
1871
+
1872
+ interface ChartExportButtonProps extends ChartExportOptions {
1873
+ className?: string;
1874
+ disabled?: boolean;
1875
+ /** Which files to offer, in the order they are listed. */
1876
+ formats?: readonly ChartExportFormat[];
1877
+ /** Name of the downloaded file, without its extension. */
1878
+ filename?: string;
1879
+ size?: ChartSize;
1880
+ /** Replaces the default caption — the translated "Export". */
1881
+ label?: string;
1882
+ /**
1883
+ * Runs instead of the download.
1884
+ *
1885
+ * For an application that already owns its own export — a server-side
1886
+ * report, a file named by the current filters — and only wants the control
1887
+ * and the rows.
1888
+ */
1889
+ onExport?: (format: ChartExportFormat, options: ChartExportOptions) => void;
1890
+ }
1891
+ /**
1892
+ * The chart's own table, as a file.
1893
+ *
1894
+ * The small gap the chart kit carried from the start: `DataGrid` exports CSV
1895
+ * and JSON, and a chart holds an exact table of the very same shape without
1896
+ * ever offering it. A reader who can see a number should be able to take it.
1897
+ *
1898
+ * A component rather than a prop on thirteen charts, because it belongs where
1899
+ * the other controls already are — the `actions` slot of a `ChartContainer`,
1900
+ * or of the `ChartFilterBar` above a whole dashboard.
1901
+ *
1902
+ * ```tsx
1903
+ * <LineChart
1904
+ * data={rows}
1905
+ * series={series}
1906
+ * x={{ key: "month" }}
1907
+ * actions={<ChartExportButton data={rows} series={series} xKey="month" />}
1908
+ * />
1909
+ * ```
1910
+ *
1911
+ * The measurements are written raw, not formatted: whatever opens the file is
1912
+ * going to compute on them.
1913
+ */
1914
+ declare function ChartExportButton({ data, series, xKey, xLabel, formatX, formats, filename, size, label, onExport, className, disabled, }: ChartExportButtonProps): react_jsx_runtime.JSX.Element;
1915
+
1916
+ interface PathPoint {
1917
+ x: number;
1918
+ y: number;
1919
+ /** `false` marks a gap: the line breaks instead of crossing it. */
1920
+ defined?: boolean;
1921
+ }
1922
+
1923
+ /**
1924
+ * How many points per series the kit draws before it starts warning.
1925
+ *
1926
+ * The figure is a measurement, not a taste: past roughly this many points a
1927
+ * `d` attribute stops being a path and becomes a string the browser reparses
1928
+ * on every re-render, and two neighbouring points land on the same pixel
1929
+ * column anyway — the reader gains nothing for the cost.
1930
+ *
1931
+ * Nothing is dropped on its own when a series crosses it. A chart that quietly
1932
+ * drew a different shape than the one it was handed would be worse than a slow
1933
+ * one; the warning says what to pass instead.
1934
+ */
1935
+ declare const CHART_POINT_BUDGET = 2000;
1936
+ /** Lets a test watch the warning fire more than once. */
1937
+ declare function resetPointBudgetWarning(): void;
1938
+ /** A point the decimation can reason about: a position and a measurement. */
1939
+ interface XY {
1940
+ x: number;
1941
+ y: number;
1942
+ }
1943
+ /**
1944
+ * Largest-Triangle-Three-Buckets, returning the indices it keeps.
1945
+ *
1946
+ * The classic downsampling for a line: the series is cut into as many buckets
1947
+ * as there is room for, and each bucket keeps the one point forming the
1948
+ * largest triangle with the point already kept before it and the average of
1949
+ * the bucket after it. Picking the largest triangle is what keeps the peaks —
1950
+ * a stride sample walks straight past them, which is how a decimated series
1951
+ * ends up flatter than the data it came from.
1952
+ *
1953
+ * Indices rather than points, so a caller can carry along whatever the point
1954
+ * belonged to: a row, a screen coordinate, a tooltip payload.
1955
+ */
1956
+ declare function lttb(points: readonly XY[], threshold: number): number[];
1957
+ /**
1958
+ * An evenly spread sample, keeping the two ends.
1959
+ *
1960
+ * What an unordered cloud needs, where LTTB is the wrong tool: a scatter is
1961
+ * read for where its points are dense, and keeping the largest triangles would
1962
+ * carve out the envelope and throw the density away — a lie about the very
1963
+ * thing the chart is for. An even stride keeps the shape of the cloud and
1964
+ * thins it uniformly.
1965
+ *
1966
+ * Deterministic on purpose, rather than a random sample: the same data has to
1967
+ * draw the same picture on the server and in the browser.
1968
+ */
1969
+ declare function sampleEvenly<T>(items: readonly T[], threshold: number): T[];
1970
+ /**
1971
+ * The rows a drawn path keeps, thinned to roughly `maxPoints` per series.
1972
+ *
1973
+ * Indices rather than points, because a band needs its top and its bottom
1974
+ * thinned on the very same rows: thin them apart and the fill between them
1975
+ * closes on two points that never faced each other.
1976
+ *
1977
+ * The gaps are structural and survive: a run of missing measurements is not
1978
+ * noise to be smoothed away, it is the series saying it has nothing there.
1979
+ * Each run of gaps keeps one row — enough for the path to lift the pen —
1980
+ * and the defined runs between them share the budget in proportion to their
1981
+ * length.
1982
+ */
1983
+ declare function decimateIndices(points: readonly PathPoint[], maxPoints: number): number[];
1984
+ /**
1985
+ * A drawn path, thinned to roughly `maxPoints` points per series.
1986
+ *
1987
+ * The chart's geometry is untouched — the hover, the crosshair, the tooltip
1988
+ * and the data table all keep reading every row. Only the number of points the
1989
+ * path is *drawn from* changes, which is the part that actually costs.
1990
+ */
1991
+ declare function decimatePath(points: readonly PathPoint[], maxPoints: number): PathPoint[];
1992
+
1346
1993
  /**
1347
1994
  * The colour a texture is cut through — the chart surface itself.
1348
1995
  *
@@ -1733,55 +2380,6 @@ interface ChartFilterBarProps extends Omit<ComponentPropsWithoutRef<"div">, "tit
1733
2380
  */
1734
2381
  declare function ChartFilterBar({ label, actions, sticky, bordered, size, children, className, ...props }: ChartFilterBarProps): react_jsx_runtime.JSX.Element;
1735
2382
 
1736
- /**
1737
- * The periods a dashboard is read over, resolved to real dates.
1738
- *
1739
- * Pure functions on purpose: "the last 30 days" is the kind of thing that is
1740
- * wrong by one day for a month before anybody notices, and it is much easier
1741
- * to pin down here than through a rendered picker.
1742
- */
1743
- /** The windows a filter row offers by name. */
1744
- type ChartPeriodPreset = "7d" | "30d" | "90d" | "12m" | "mtd" | "qtd" | "ytd" | "custom";
1745
- /** A resolved window: where it came from, and the two dates it covers. */
1746
- interface ChartPeriod {
1747
- /** The entry that produced it. `custom` when the dates were picked by hand. */
1748
- preset: ChartPeriodPreset;
1749
- from: Date;
1750
- to: Date;
1751
- }
1752
- /** The presets a picker offers when it is not told otherwise. */
1753
- declare const DEFAULT_CHART_PERIOD_PRESETS: readonly ChartPeriodPreset[];
1754
- /** Midnight at the start of a day, in the reader's own time zone. */
1755
- declare function startOfDay(date: Date): Date;
1756
- /**
1757
- * The last millisecond of a day.
1758
- *
1759
- * A window ending at midnight drops everything that happened during its last
1760
- * day — the single most common off-by-one in a dashboard.
1761
- */
1762
- declare function endOfDay(date: Date): Date;
1763
- /**
1764
- * Resolves a named window against a reference moment.
1765
- *
1766
- * "The last 7 days" counts today as one of them, which is what a reader
1767
- * expects from a figure that includes what happened this morning.
1768
- */
1769
- declare function resolvePeriodPreset(preset: ChartPeriodPreset, now?: Date): {
1770
- from: Date;
1771
- to: Date;
1772
- };
1773
- /** A named window, resolved into the period a chart is filtered by. */
1774
- declare function createPeriod(preset: ChartPeriodPreset, now?: Date): ChartPeriod;
1775
- /**
1776
- * The two ends of a window as one string.
1777
- *
1778
- * `formatRange` is what a locale expects here — it collapses the parts the two
1779
- * dates share ("1 – 15 March 2026" rather than twice the month and the year).
1780
- */
1781
- declare function formatPeriodRange(from: Date, to: Date, locale?: string): string;
1782
- /** `true` when two periods cover the same window, to the millisecond. */
1783
- declare function samePeriod(a: ChartPeriod | undefined, b: ChartPeriod | undefined): boolean;
1784
-
1785
2383
  interface ChartPeriodPickerProps extends Omit<ComponentPropsWithoutRef<"button">, "value" | "defaultValue" | "onChange" | "children"> {
1786
2384
  /** Controlled window. */
1787
2385
  value?: ChartPeriod;
@@ -1921,7 +2519,7 @@ interface DumbbellRow {
1921
2519
  change: number | null;
1922
2520
  datum: ChartDatum;
1923
2521
  }
1924
- interface DumbbellChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
2522
+ interface DumbbellChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
1925
2523
  /** One row per item compared. */
1926
2524
  data: ChartDatum[];
1927
2525
  /** Field holding the name of each row. */
@@ -1960,8 +2558,6 @@ interface DumbbellChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "c
1960
2558
  showChange?: boolean;
1961
2559
  title?: ReactNode;
1962
2560
  description?: ReactNode;
1963
- loading?: boolean;
1964
- emptyState?: ReactNode;
1965
2561
  margin?: Partial<ChartMargin>;
1966
2562
  locale?: string;
1967
2563
  plotLabel?: string;
@@ -1987,7 +2583,7 @@ interface DumbbellChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "c
1987
2583
  * `sort="gap"` is what turns the chart from a list into a finding: the rows
1988
2584
  * that moved most come to the top.
1989
2585
  */
1990
- declare function DumbbellChart({ data, x, y, series, sort, sortBy, showValues, dotSize, referenceLines, height, width, size, grid, legend, legendToggle, tooltip, tableView, showChange, title, description, loading, emptyState, margin, locale, plotLabel, changeLabel, format, onRowClick, className, ...props }: DumbbellChartProps): react_jsx_runtime.JSX.Element;
2586
+ declare function DumbbellChart({ data, x, y, series, sort, sortBy, showValues, dotSize, referenceLines, height, width, size, grid, legend, legendToggle, tooltip, tableView, showChange, title, description, loading, emptyState, error, errorState, onRetry, actions, margin, locale, plotLabel, changeLabel, format, onRowClick, className, ...props }: DumbbellChartProps): react_jsx_runtime.JSX.Element;
1991
2587
 
1992
2588
  /** One stage, as the tooltip and the click handler see it. */
1993
2589
  interface FunnelStage {
@@ -2004,7 +2600,7 @@ interface FunnelStage {
2004
2600
  formattedValue: string;
2005
2601
  datum: ChartDatum;
2006
2602
  }
2007
- interface FunnelChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
2603
+ interface FunnelChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
2008
2604
  /** One row per stage, in the order they are walked. */
2009
2605
  data: ChartDatum[];
2010
2606
  /** Field holding the name of each stage. */
@@ -2040,8 +2636,6 @@ interface FunnelChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "chi
2040
2636
  tableView?: boolean | "toggle";
2041
2637
  title?: ReactNode;
2042
2638
  description?: ReactNode;
2043
- loading?: boolean;
2044
- emptyState?: ReactNode;
2045
2639
  locale?: string;
2046
2640
  plotLabel?: string;
2047
2641
  /** Header of the value column of the data table. */
@@ -2070,7 +2664,7 @@ interface FunnelChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "chi
2070
2664
  * Use it for a path people walk in one direction. Stages that are not ordered
2071
2665
  * are a `BarChart`, and a breakdown of one total is a `PieChart`.
2072
2666
  */
2073
- declare function FunnelChart({ data, x, value, align, showConversion, showValues, stageSize, colors, height, width, size, tooltip, tableView, title, description, loading, emptyState, locale, plotLabel, valueLabel, conversionLabel, dropOffLabel, format, onStageClick, className, ...props }: FunnelChartProps): react_jsx_runtime.JSX.Element;
2667
+ declare function FunnelChart({ data, x, value, align, showConversion, showValues, stageSize, colors, height, width, size, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, locale, plotLabel, valueLabel, conversionLabel, dropOffLabel, format, onStageClick, className, ...props }: FunnelChartProps): react_jsx_runtime.JSX.Element;
2074
2668
 
2075
2669
  /** One task, as the tooltip and the click handler see it. */
2076
2670
  interface GanttTask {
@@ -2093,7 +2687,7 @@ interface GanttTask {
2093
2687
  group: string | null;
2094
2688
  datum: ChartDatum;
2095
2689
  }
2096
- interface GanttChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
2690
+ interface GanttChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
2097
2691
  /** One row per task, in the order they are listed. */
2098
2692
  data: ChartDatum[];
2099
2693
  /** Field holding the name of each task. */
@@ -2139,8 +2733,6 @@ interface GanttChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "chil
2139
2733
  tableView?: boolean | "toggle";
2140
2734
  title?: ReactNode;
2141
2735
  description?: ReactNode;
2142
- loading?: boolean;
2143
- emptyState?: ReactNode;
2144
2736
  margin?: Partial<ChartMargin>;
2145
2737
  locale?: string;
2146
2738
  plotLabel?: string;
@@ -2168,7 +2760,7 @@ interface GanttChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "chil
2168
2760
  * month — rather than on round numbers of milliseconds, which is what a
2169
2761
  * decimal tick generator produces when it is pointed at a date.
2170
2762
  */
2171
- declare function GanttChart({ data, x, start, end, id, progress, milestone, dependencies, group, domain, today, ticks, barSize, rowSize, color, height, width, size, grid, legend, tooltip, tableView, title, description, loading, emptyState, margin, locale, plotLabel, startLabel, endLabel, progressLabel, todayLabel, formatDate, onTaskClick, className, ...props }: GanttChartProps): react_jsx_runtime.JSX.Element;
2763
+ declare function GanttChart({ data, x, start, end, id, progress, milestone, dependencies, group, domain, today, ticks, barSize, rowSize, color, height, width, size, grid, legend, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, margin, locale, plotLabel, startLabel, endLabel, progressLabel, todayLabel, formatDate, onTaskClick, className, ...props }: GanttChartProps): react_jsx_runtime.JSX.Element;
2172
2764
 
2173
2765
  /** What a step does to the running total. */
2174
2766
  type WaterfallKind = "increase" | "decrease" | "total";
@@ -2189,7 +2781,7 @@ interface WaterfallStep {
2189
2781
  formattedEnd: string;
2190
2782
  datum: ChartDatum;
2191
2783
  }
2192
- interface WaterfallChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
2784
+ interface WaterfallChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
2193
2785
  /** One row per step, in the order they are read. */
2194
2786
  data: ChartDatum[];
2195
2787
  /** Field holding the name of each step. */
@@ -2241,8 +2833,6 @@ interface WaterfallChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "
2241
2833
  tableView?: boolean | "toggle";
2242
2834
  title?: ReactNode;
2243
2835
  description?: ReactNode;
2244
- loading?: boolean;
2245
- emptyState?: ReactNode;
2246
2836
  margin?: Partial<ChartMargin>;
2247
2837
  locale?: string;
2248
2838
  plotLabel?: string;
@@ -2271,7 +2861,7 @@ interface WaterfallChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "
2271
2861
  * The order of the rows IS the chart, so there is no `sort`: reordering the
2272
2862
  * steps of a waterfall produces a different, and usually false, story.
2273
2863
  */
2274
- declare function WaterfallChart({ data, x, y, value, total, start, orientation, connectors, showValues, barSize, colors, height, width, size, grid, legend, tooltip, tableView, title, description, loading, emptyState, margin, locale, plotLabel, valueLabel, totalLabel, increaseLabel, decreaseLabel, format, onStepClick, className, ...props }: WaterfallChartProps): react_jsx_runtime.JSX.Element;
2864
+ declare function WaterfallChart({ data, x, y, value, total, start, orientation, connectors, showValues, barSize, colors, height, width, size, grid, legend, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, margin, locale, plotLabel, valueLabel, totalLabel, increaseLabel, decreaseLabel, format, onStepClick, className, ...props }: WaterfallChartProps): react_jsx_runtime.JSX.Element;
2275
2865
 
2276
2866
  interface CheckboxProps extends Omit<ComponentPropsWithoutRef<"input">, "size" | "onChange" | "type"> {
2277
2867
  checked?: boolean;
@@ -3269,7 +3859,7 @@ declare namespace Label {
3269
3859
  var displayName: string;
3270
3860
  }
3271
3861
 
3272
- interface HeatmapProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
3862
+ interface HeatmapProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
3273
3863
  /** One row per cell: its column, its row and its value. */
3274
3864
  data: ChartDatum[];
3275
3865
  /** Field holding the column each cell belongs to. */
@@ -3316,8 +3906,6 @@ interface HeatmapProps extends Omit<ComponentPropsWithoutRef<"figure">, "childre
3316
3906
  tableView?: boolean | "toggle";
3317
3907
  title?: ReactNode;
3318
3908
  description?: ReactNode;
3319
- loading?: boolean;
3320
- emptyState?: ReactNode;
3321
3909
  locale?: string;
3322
3910
  plotLabel?: string;
3323
3911
  onCellClick?: (cell: HeatmapCell) => void;
@@ -3347,7 +3935,7 @@ interface HeatmapCell {
3347
3935
  * neighbouring cells stop being tellable apart, and a fine grid is read as a
3348
3936
  * wash anyway.
3349
3937
  */
3350
- declare function Heatmap({ data, x, y, value, format, domain, scale, center, steps, colors, xDomain, yDomain, cellGap, cellRadius, showValues, height, width, size, legend, legendLabel, tooltip, tableView, title, description, loading, emptyState, locale, plotLabel, onCellClick, className, ...props }: HeatmapProps): react_jsx_runtime.JSX.Element;
3938
+ declare function Heatmap({ data, x, y, value, format, domain, scale, center, steps, colors, xDomain, yDomain, cellGap, cellRadius, showValues, height, width, size, legend, legendLabel, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, locale, plotLabel, onCellClick, className, ...props }: HeatmapProps): react_jsx_runtime.JSX.Element;
3351
3939
 
3352
3940
  interface LineChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWithoutRef<"figure">, keyof CartesianChartBaseProps | "children" | "title"> {
3353
3941
  curve?: ChartCurve;
@@ -3378,6 +3966,40 @@ interface LineChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWit
3378
3966
  annotations?: ChartAnnotation[];
3379
3967
  /** Lets the legend show and hide series. */
3380
3968
  legendToggle?: boolean;
3969
+ /**
3970
+ * Thins the drawn path to roughly this many points per series.
3971
+ *
3972
+ * A series of fifty thousand rows builds a `d` attribute of fifty thousand
3973
+ * coordinates, most of which land on a pixel column another one already
3974
+ * covers. This runs the points through LTTB, which keeps the peaks a stride
3975
+ * sample walks straight past.
3976
+ *
3977
+ * Only the *path* is thinned. The geometry, the crosshair, the tooltip and
3978
+ * the data table keep reading every row, so no value stops being reachable —
3979
+ * the chart draws the same shape from fewer points, it does not hold less
3980
+ * data. Left unset, every point is drawn and a series past
3981
+ * `CHART_POINT_BUDGET` warns once in development.
3982
+ */
3983
+ maxPoints?: number;
3984
+ /**
3985
+ * Lets a pointer drag a window across the category axis.
3986
+ *
3987
+ * Shift + arrows does the same from the keyboard, and Escape drops it. The
3988
+ * window is published to the surrounding `ChartSyncProvider`, which is how
3989
+ * one panel's selection becomes the whole dashboard's.
3990
+ */
3991
+ brush?: boolean;
3992
+ /** Called when a window is set, and with `null` when one is dropped. */
3993
+ onBrush?: (range: ChartBrushRange | null) => void;
3994
+ /** Accessible name of the selected window. */
3995
+ brushLabel?: string;
3996
+ /**
3997
+ * `false` keeps the chart out of the surrounding `ChartSyncProvider`.
3998
+ *
3999
+ * For the panel of a dashboard that plots something else entirely, where a
4000
+ * shared crosshair would mark a position its axis does not carry.
4001
+ */
4002
+ sync?: boolean;
3381
4003
  margin?: Partial<ChartMargin>;
3382
4004
  /** BCP 47 tag used to format the axes and the tooltip. */
3383
4005
  locale?: string;
@@ -3394,8 +4016,12 @@ interface LineChartProps extends CartesianChartBaseProps, Omit<ComponentPropsWit
3394
4016
  * There is deliberately no second value axis. Two measures on two scales
3395
4017
  * invent a correlation the data does not carry; plot them as two charts, or
3396
4018
  * index both to a common base.
4019
+ *
4020
+ * `overlay` is the way past everything this chart refuses to draw: it hands
4021
+ * the resolved geometry over and lets the application draw inside the plot
4022
+ * with the chart's own scales, instead of forking the component.
3397
4023
  */
3398
- declare function LineChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, onPointClick, curve, forecastFrom, forecastLabel, markers, connectNulls, referenceLines, annotations, legendToggle, margin, locale, plotLabel, className, ...props }: LineChartProps): react_jsx_runtime.JSX.Element;
4024
+ declare function LineChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, error, errorState, onRetry, actions, onPointClick, curve, forecastFrom, forecastLabel, markers, connectNulls, referenceLines, annotations, overlay, legendToggle, maxPoints, brush, onBrush, brushLabel, sync, margin, locale, plotLabel, className, ...props }: LineChartProps): react_jsx_runtime.JSX.Element;
3399
4025
 
3400
4026
  interface ModalProps {
3401
4027
  isOpen: boolean;
@@ -3476,7 +4102,7 @@ interface PaginationProps extends Omit<ComponentPropsWithoutRef<"nav">, "onChang
3476
4102
  }
3477
4103
  declare function Pagination({ page, totalPages, onPageChange, size, variant, showFirstLast, siblings, boundaries, disabled, labels, totalItems, pageSize, pageSizeOptions, onPageSizeChange, className, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
3478
4104
 
3479
- interface PieChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title"> {
4105
+ interface PieChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "children" | "title">, ChartStatusProps {
3480
4106
  data: ChartDatum[];
3481
4107
  /** Field holding the name of each slice. */
3482
4108
  x: ChartXAxisConfig;
@@ -3506,8 +4132,6 @@ interface PieChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "childr
3506
4132
  tableView?: boolean | "toggle";
3507
4133
  title?: ReactNode;
3508
4134
  description?: ReactNode;
3509
- loading?: boolean;
3510
- emptyState?: ReactNode;
3511
4135
  /**
3512
4136
  * Draws each slice with a texture on top of its colour.
3513
4137
  *
@@ -3537,7 +4161,7 @@ interface PieChartProps extends Omit<ComponentPropsWithoutRef<"figure">, "childr
3537
4161
  * over six slices at most, which is why the tail folds into a single bucket
3538
4162
  * rather than taking a seventh colour.
3539
4163
  */
3540
- declare function PieChart({ data, x, value, variant, innerRadius, maxSlices, otherLabel, sort, showLabels, centerLabel, patterns, height, width, size, legend, tooltip, tableView, title, description, loading, emptyState, locale, plotLabel, onSliceClick, className, ...props }: PieChartProps): react_jsx_runtime.JSX.Element;
4164
+ declare function PieChart({ data, x, value, variant, innerRadius, maxSlices, otherLabel, sort, showLabels, centerLabel, patterns, height, width, size, legend, tooltip, tableView, title, description, loading, emptyState, error, errorState, onRetry, actions, locale, plotLabel, onSliceClick, className, ...props }: PieChartProps): react_jsx_runtime.JSX.Element;
3541
4165
 
3542
4166
  type ProgressBarSize = "xs" | "sm" | "md" | "lg" | "xl";
3543
4167
  type ProgressBarColor = "default" | "primary" | "success" | "warning" | "error" | "info";
@@ -4115,6 +4739,19 @@ interface ScatterChartProps extends Omit<CartesianChartBaseProps, "grid">, Omit<
4115
4739
  };
4116
4740
  pointRadius?: number;
4117
4741
  legendToggle?: boolean;
4742
+ /**
4743
+ * Thins each series to roughly this many marks.
4744
+ *
4745
+ * An **even** sample, not LTTB: a cloud is read for where its points are
4746
+ * dense, and keeping the largest triangles would carve out the envelope and
4747
+ * throw that density away — a lie about the very thing the chart is for. An
4748
+ * even stride thins the cloud without changing its shape.
4749
+ *
4750
+ * The trend line and the data table are computed from every row, so a
4751
+ * thinned plot still reports what the whole dataset says. Left unset, a
4752
+ * series past `CHART_POINT_BUDGET` warns once in development.
4753
+ */
4754
+ maxPoints?: number;
4118
4755
  margin?: Partial<ChartMargin>;
4119
4756
  locale?: string;
4120
4757
  plotLabel?: string;
@@ -4127,7 +4764,7 @@ interface ScatterChartProps extends Omit<CartesianChartBaseProps, "grid">, Omit<
4127
4764
  * three slots stay tellable apart there. Past three series, facet the chart or
4128
4765
  * fold the tail — a fourth colour would not be distinguishable.
4129
4766
  */
4130
- declare function ScatterChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, onPointClick, bubble, trendLine, quadrants, pointRadius, legendToggle, margin, locale, plotLabel, className, ...props }: ScatterChartProps): react_jsx_runtime.JSX.Element;
4767
+ declare function ScatterChart({ data, series, x, y, height, width, size, grid, legend, tooltip, tableView, emphasis, title, description, loading, emptyState, error, errorState, onRetry, actions, onPointClick, bubble, trendLine, quadrants, pointRadius, overlay, legendToggle, maxPoints, margin, locale, plotLabel, className, ...props }: ScatterChartProps): react_jsx_runtime.JSX.Element;
4131
4768
 
4132
4769
  type SchemaFieldType = "text" | "varchar" | "char" | "int2" | "int4" | "int8" | "serial" | "bigserial" | "float4" | "float8" | "numeric" | "decimal" | "bool" | "date" | "time" | "timestamp" | "timestamptz" | "uuid" | "json" | "jsonb" | "bytea" | (string & {});
4133
4770
  type SchemaField = {
@@ -4625,6 +5262,28 @@ interface UILabels {
4625
5262
  chartPeriodYearToDate: string;
4626
5263
  /** Entry opening the calendar, for a window the presets do not cover. */
4627
5264
  chartPeriodCustom: string;
5265
+ /**
5266
+ * Shown in place of a chart whose data could not be loaded.
5267
+ *
5268
+ * Distinct from `chartNoData` on purpose: "there is nothing" and "we failed
5269
+ * to fetch it" are two different statements, and only the second one asks
5270
+ * the reader to do something about it.
5271
+ */
5272
+ chartError: string;
5273
+ /** Second line of a chart's error state, under `chartError`. */
5274
+ chartErrorHint: string;
5275
+ /** Label of the button that asks a failed chart to load again. */
5276
+ chartRetry: string;
5277
+ /** Accessible name of a chart's export control. */
5278
+ chartExport: string;
5279
+ /** Entry downloading a chart's data table as a CSV file. */
5280
+ chartExportCsv: string;
5281
+ /** Entry downloading a chart's data table as a JSON file. */
5282
+ chartExportJson: string;
5283
+ /** Accessible name of the range a pointer drags across a chart's category axis. */
5284
+ chartBrush: string;
5285
+ /** Accessible name of the button dropping the dragged range. */
5286
+ chartClearSelection: string;
4628
5287
  }
4629
5288
  /** English labels, used when no provider is mounted. */
4630
5289
  declare const defaultUILabels: UILabels;
@@ -4710,4 +5369,4 @@ declare function isFocusable(element: HTMLElement): boolean;
4710
5369
  */
4711
5370
  declare function getFocusableElements(container: HTMLElement): HTMLElement[];
4712
5371
 
4713
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionVariant, AdvanceDetachable, type AdvanceDetachableProps, type AdvanceDetachableRef, type AdvanceDetachableRenderContext, type AggregateFunction, type Align, AreaChart, type AreaChartProps, Avatar, type AvatarProps, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeVariant, Banner, type BannerProps, type BannerType, type BannerVariant, BarChart, type BarChartOrientation, type BarChartProps, type BinSpec, BoxPlot, type BoxPlotBox, type BoxPlotProps, type BoxPlotQuantileKeys, type BoxStats, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, BulletChart, type BulletChartProps, type BulletRow, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CHART_ALL_PAIRS_LIMIT, CHART_DIVERGING_COLORS, CHART_DIVERGING_DARK_STOPS, CHART_DIVERGING_NEUTRAL_INDEX, CHART_DOWN_COLOR, CHART_MAX_COLOR_CLASSES, CHART_MUTED_COLOR, CHART_ORDINAL_COLORS, CHART_ORDINAL_DARK_STOPS, CHART_PALETTE_SIZE, CHART_PATTERNS, CHART_SEQUENTIAL_COLORS, CHART_SEQUENTIAL_DARK_STOPS, CHART_SERIES_COLORS, CHART_SURFACE_COLOR, CHART_UP_COLOR, Calendar, type CalendarColor, type CalendarDateRange, type CalendarDayState, type CalendarLabels, type CalendarMode, type CalendarProps, type CalendarSize, type CalendarWeekStart, type Candle, CandlestickChart, type CandlestickChartProps, Card, CardBody, type CardBodyProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardImage, type CardImageProps, type CardProps, CardTitle, type CardTitleProps, type CartesianChartBaseProps, type ChartAnnotation, type ChartAnnotationBase, ChartAnnotationLayer, type ChartAnnotationLayerProps, ChartAxis, type ChartAxisOrientation, type ChartAxisProps, type ChartBandAnnotation, type ChartColorScale, ChartContainer, type ChartContainerProps, type ChartContainerRenderArgs, type ChartCurve, type ChartDatum, type ChartDimensions, type ChartFacetPanel, ChartFacets, type ChartFacetsProps, ChartFilterBar, type ChartFilterBarProps, ChartGrid, type ChartGridLines, type ChartGridProps, ChartLegend, type ChartLegendItem, type ChartLegendMarker, type ChartLegendPosition, type ChartLegendProps, type ChartLineAnnotation, type ChartMargin, type ChartPattern, ChartPatternDefs, type ChartPatternDefsProps, type ChartPatternEntry, type ChartPeriod, ChartPeriodPicker, type ChartPeriodPickerProps, type ChartPeriodPreset, type ChartPoint, type ChartPointAnnotation, type ChartPointEvent, type ChartReferenceLine, ChartScaleLegend, type ChartScaleLegendProps, type ChartScaleType, type ChartSeries, type ChartSize, ChartTableView, type ChartTableViewProps, type ChartTick, ChartTooltip, ChartTooltipContent, type ChartTooltipContentProps, type ChartTooltipPayload, type ChartTooltipProps, type ChartXAxisConfig, type ChartXValue, type ChartYAxisConfig, Checkbox, CheckboxGroup, CheckboxGroupItem, type CheckboxGroupItemProps, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipColor, type ChipProps, type ChipSize, type ChipVariant, CircularProgress, type CircularProgressColor, type CircularProgressProps, type CircularProgressSize, type CircularProgressThickness, type ColumnDef, DEFAULT_CHART_PERIOD_PRESETS, DEFAULT_CHART_WIDTH, DEFAULT_FIELD_TYPES, DataGrid, type DataGridMode, type DataGridProps, type DataGridRef, type Density, Detachable, type DetachableProps, type DetachableRef, DeviceMockup, type DeviceMockupProps, type DeviceOrientation, type DeviceSize, type DeviceTheme, type DeviceType, type DialogA11yProps, type DialogInitialFocus, type DialogReturnFocus, type DivergingScaleOptions, Divider, type DividerOrientation, type DividerProps, type DividerTextAlign, type DividerVariant, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, Dropdown, DropdownCheckboxItem, type DropdownCheckboxItemProps, DropdownContent, type DropdownContentProps, type DropdownContextValue, DropdownItem, type DropdownItemProps, DropdownLabel, type DropdownLabelProps, type DropdownProps, DropdownRadioGroup, type DropdownRadioGroupProps, DropdownRadioItem, type DropdownRadioItemProps, DropdownSeparator, type DropdownSeparatorProps, DropdownSubMenu, DropdownSubMenuContent, type DropdownSubMenuContentProps, type DropdownSubMenuProps, DropdownSubMenuTrigger, type DropdownSubMenuTriggerProps, DropdownTrigger, type DropdownTriggerProps, DumbbellChart, type DumbbellChartProps, type DumbbellRow, type DumbbellSort, FOCUSABLE_SELECTOR, FileSelector, type FileSelectorProps, type FilterOperator, type FilterType, type FilterValue, Footer, FooterBottom, type FooterBottomProps, FooterColumn, type FooterColumnProps, FooterLink, type FooterLinkProps, type FooterProps, FooterSection, type FooterSectionProps, FooterSocial, FooterSocialLink, type FooterSocialLinkProps, type FooterSocialProps, FunnelChart, type FunnelChartProps, type FunnelStage, GanttChart, type GanttChartProps, type GanttTask, Header, type HeaderProps, Heatmap, type HeatmapCell, type HeatmapProps, HelpButton, type HelpButtonProps, type HistogramBin, INERT_IGNORE_ATTRIBUTE, ImageUploader, type ImageUploaderProps, Indicator, type IndicatorColor, type IndicatorPlacement, type IndicatorProps, type IndicatorSize, type IndicatorVariant, Input, type InputProps, Label, type LabelColor, type LabelProps, type LabelSize, type LabelVariant, type LabelWeight, LineChart, type LineChartProps, MarkdownEditorComponent, type MentionData, MentionInput, type MentionInputProps, type MentionInputValue, type MentionSuggestion, Modal, type ModalProps, type NavItem, type NodeRegistryEntry, NumberInput, type NumberInputProps, Pagination, type PaginationConfig, type PaginationProps, PieChart, type PieChartProps, type Position, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarSize, type ProgressBarVariant, RadioButton, type RadioButtonProps, ScatterChart, type ScatterChartProps, SchemaEditor, type SchemaEditorProps, type SchemaEditorRef, type SchemaField, type SchemaFieldEvent, type SchemaFieldType, type SchemaRelation, type SchemaRelationCardinality, type SchemaTable, type SchemaTableEvent, type SchemaValue, type SchemaViewport, Select, type SelectOption, type SelectProps, type SelectedFile, type SelectionMode, type SequentialScaleOptions, type Side, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarItem, type SidebarItemProps, type SidebarPosition, type SidebarProps, SidebarSubMenu, type SidebarSubMenuProps, SidebarToggle, type SidebarToggleProps, type SidebarVariant, Skeleton, type SkeletonAnimation, type SkeletonProps, type SkeletonVariant, Slider, type SliderColor, type SliderMark, type SliderProps, type SliderSize, type SortDirection, type SortState, Sparkline, type SparklineProps, StatCard, type StatCardDelta, type StatCardDeltaDirection, type StatCardDeltaTone, StatCardGroup, type StatCardGroupProps, type StatCardProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsColor, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, type TabsSize, TabsTrigger, type TabsTriggerProps, type TabsVariant, type TimeTickScale, type TimeUnit, Toast, type ToastPosition, type ToastProps, type ToastType, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type TooltipSize, type TooltipTrigger, type TooltipVariant, type UILabels, UILabelsProvider, type UILabelsProviderProps, type UseChartSizeOptions, type UseChartSizeResult, type UseDialogA11yOptions, type UseDialogA11yResult, type UseKeyboardNavigationOptions, type UsePositioningOptions, WaterfallChart, type WaterfallChartProps, type WaterfallKind, type WaterfallStep, WithHelpButton, type WithHelpButtonProps, Wizard, WizardActions, type WizardActionsProps, type WizardColor, WizardContent, type WizardContentProps, type WizardContextValue, type WizardDirection, WizardNext, type WizardNextProps, type WizardOrientation, WizardPanel, type WizardPanelProps, WizardPrevious, type WizardPreviousProps, type WizardProps, type WizardSize, type WizardStepChangeMeta, type WizardStepDefinition, type WizardStepStatus, WizardSteps, type WizardStepsProps, type WizardVariant, type WorkflowDirection, type WorkflowEdge, WorkflowEditor, type WorkflowEditorProps, type WorkflowEditorRef, type WorkflowNode, type WorkflowNodeAction, type WorkflowNodeActionEvent, type WorkflowNodeActionPosition, type WorkflowNodeEvent, type WorkflowPort, type WorkflowValue, type WorkflowViewport, autoLayoutTables, binEdges, binValues, boxStats, cn, createDefaultField, createDefaultTable, createDivergingScale, createPeriod, createSequentialScale, defaultUILabels, describeAnnotations, endOfDay, findOwnedLayers, formatPeriodRange, formatTimeTick, frenchUILabels, generateFieldId, generateRelationId, generateSQL, generateTableId, getFocusableElements, getOrdinalColor, getPattern, getSeriesColor, getSeriesLabel, hideOthers, isElementVisible, isFocusable, niceTimeTicks, patternBackground, patternFill, patternId, quantile, quantileSorted, rampColor, registerFloatingLayer, resetBarChartWarnings, resetDumbbellWarnings, resetFacetWarnings, resolvePeriodPreset, resolveSeriesColor, samePeriod, startOfDay, sturgesBins, toLegendItems, toTimestamp, useChartSize, useClickOutside, useDialogA11y, useDropdownContext, useFocusItem, useKeyboardNavigation, usePositioning, useSidebar, useUILabels, useWizard };
5372
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionVariant, AdvanceDetachable, type AdvanceDetachableProps, type AdvanceDetachableRef, type AdvanceDetachableRenderContext, type AggregateFunction, type Align, AreaChart, type AreaChartProps, Avatar, type AvatarProps, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeVariant, Banner, type BannerProps, type BannerType, type BannerVariant, BarChart, type BarChartOrientation, type BarChartProps, type BinSpec, BoxPlot, type BoxPlotBox, type BoxPlotProps, type BoxPlotQuantileKeys, type BoxStats, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, BulletChart, type BulletChartProps, type BulletRow, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CHART_ALL_PAIRS_LIMIT, CHART_DIVERGING_COLORS, CHART_DIVERGING_DARK_STOPS, CHART_DIVERGING_NEUTRAL_INDEX, CHART_DOWN_COLOR, CHART_MAX_COLOR_CLASSES, CHART_MUTED_COLOR, CHART_ORDINAL_COLORS, CHART_ORDINAL_DARK_STOPS, CHART_PALETTE_SIZE, CHART_PATTERNS, CHART_POINT_BUDGET, CHART_SEQUENTIAL_COLORS, CHART_SEQUENTIAL_DARK_STOPS, CHART_SERIES_COLORS, CHART_SURFACE_COLOR, CHART_UP_COLOR, Calendar, type CalendarColor, type CalendarDateRange, type CalendarDayState, type CalendarLabels, type CalendarMode, type CalendarProps, type CalendarSize, type CalendarWeekStart, type Candle, CandlestickChart, type CandlestickChartProps, Card, CardBody, type CardBodyProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardImage, type CardImageProps, type CardProps, CardTitle, type CardTitleProps, type CartesianChartBaseProps, type CartesianGeometry, type CartesianGeometryOptions, type CartesianOrientation, type CategoryPlacement, type ChartAnnotation, type ChartAnnotationBase, ChartAnnotationLayer, type ChartAnnotationLayerProps, ChartAxis, type ChartAxisOrientation, type ChartAxisProps, type ChartBandAnnotation, ChartBrushLayer, type ChartBrushLayerProps, type ChartBrushRange, type ChartColorScale, ChartContainer, type ChartContainerProps, type ChartContainerRenderArgs, type ChartCurve, type ChartDatum, type ChartDimensions, ChartExportButton, type ChartExportButtonProps, type ChartExportFormat, type ChartExportOptions, type ChartExportRow, type ChartFacetPanel, ChartFacets, type ChartFacetsProps, ChartFilterBar, type ChartFilterBarProps, ChartGrid, type ChartGridLines, type ChartGridProps, ChartLegend, type ChartLegendItem, type ChartLegendMarker, type ChartLegendPosition, type ChartLegendProps, type ChartLineAnnotation, type ChartMargin, type ChartOrientation, type ChartOverlay, type ChartOverlayRenderer, type ChartPattern, ChartPatternDefs, type ChartPatternDefsProps, type ChartPatternEntry, type ChartPeriod, ChartPeriodPicker, type ChartPeriodPickerProps, type ChartPeriodPreset, type ChartPlotContext, type ChartPoint, type ChartPointAnnotation, type ChartPointEvent, type ChartReferenceLine, type ChartResolvedSeries, ChartScaleLegend, type ChartScaleLegendProps, type ChartScaleType, type ChartSeries, type ChartSize, type ChartStatusProps, type ChartSyncContextValue, ChartSyncProvider, type ChartSyncProviderProps, ChartTableView, type ChartTableViewProps, type ChartTick, ChartTooltip, ChartTooltipContent, type ChartTooltipContentProps, type ChartTooltipPayload, type ChartTooltipProps, type ChartXAxisConfig, type ChartXValue, type ChartYAxisConfig, Checkbox, CheckboxGroup, CheckboxGroupItem, type CheckboxGroupItemProps, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipColor, type ChipProps, type ChipSize, type ChipVariant, CircularProgress, type CircularProgressColor, type CircularProgressProps, type CircularProgressSize, type CircularProgressThickness, type ColumnDef, DEFAULT_CHART_PERIOD_PRESETS, DEFAULT_CHART_WIDTH, DEFAULT_FIELD_TYPES, DataGrid, type DataGridMode, type DataGridProps, type DataGridRef, type Density, Detachable, type DetachableProps, type DetachableRef, DeviceMockup, type DeviceMockupProps, type DeviceOrientation, type DeviceSize, type DeviceTheme, type DeviceType, type DialogA11yProps, type DialogInitialFocus, type DialogReturnFocus, type DivergingScaleOptions, Divider, type DividerOrientation, type DividerProps, type DividerTextAlign, type DividerVariant, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, Dropdown, DropdownCheckboxItem, type DropdownCheckboxItemProps, DropdownContent, type DropdownContentProps, type DropdownContextValue, DropdownItem, type DropdownItemProps, DropdownLabel, type DropdownLabelProps, type DropdownProps, DropdownRadioGroup, type DropdownRadioGroupProps, DropdownRadioItem, type DropdownRadioItemProps, DropdownSeparator, type DropdownSeparatorProps, DropdownSubMenu, DropdownSubMenuContent, type DropdownSubMenuContentProps, type DropdownSubMenuProps, DropdownSubMenuTrigger, type DropdownSubMenuTriggerProps, DropdownTrigger, type DropdownTriggerProps, DumbbellChart, type DumbbellChartProps, type DumbbellRow, type DumbbellSort, FOCUSABLE_SELECTOR, FileSelector, type FileSelectorProps, type FilterOperator, type FilterType, type FilterValue, Footer, FooterBottom, type FooterBottomProps, FooterColumn, type FooterColumnProps, FooterLink, type FooterLinkProps, type FooterProps, FooterSection, type FooterSectionProps, FooterSocial, FooterSocialLink, type FooterSocialLinkProps, type FooterSocialProps, FunnelChart, type FunnelChartProps, type FunnelStage, GanttChart, type GanttChartProps, type GanttTask, Header, type HeaderProps, Heatmap, type HeatmapCell, type HeatmapProps, HelpButton, type HelpButtonProps, type HistogramBin, INERT_IGNORE_ATTRIBUTE, ImageUploader, type ImageUploaderProps, Indicator, type IndicatorColor, type IndicatorPlacement, type IndicatorProps, type IndicatorSize, type IndicatorVariant, Input, type InputProps, Label, type LabelColor, type LabelProps, type LabelSize, type LabelVariant, type LabelWeight, LineChart, type LineChartProps, MarkdownEditorComponent, type MentionData, MentionInput, type MentionInputProps, type MentionInputValue, type MentionSuggestion, Modal, type ModalProps, type NavItem, type NodeRegistryEntry, NumberInput, type NumberInputProps, Pagination, type PaginationConfig, type PaginationProps, PieChart, type PieChartProps, type Position, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarSize, type ProgressBarVariant, RadioButton, type RadioButtonProps, ScatterChart, type ScatterChartProps, SchemaEditor, type SchemaEditorProps, type SchemaEditorRef, type SchemaField, type SchemaFieldEvent, type SchemaFieldType, type SchemaRelation, type SchemaRelationCardinality, type SchemaTable, type SchemaTableEvent, type SchemaValue, type SchemaViewport, Select, type SelectOption, type SelectProps, type SelectedFile, type SelectionMode, type SequentialScaleOptions, type Side, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarItem, type SidebarItemProps, type SidebarPosition, type SidebarProps, SidebarSubMenu, type SidebarSubMenuProps, SidebarToggle, type SidebarToggleProps, type SidebarVariant, Skeleton, type SkeletonAnimation, type SkeletonProps, type SkeletonVariant, Slider, type SliderColor, type SliderMark, type SliderProps, type SliderSize, type SortDirection, type SortState, Sparkline, type SparklineProps, StatCard, type StatCardDelta, type StatCardDeltaDirection, type StatCardDeltaTone, StatCardGroup, type StatCardGroupProps, type StatCardProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsColor, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, type TabsSize, TabsTrigger, type TabsTriggerProps, type TabsVariant, type TimeTickScale, type TimeUnit, Toast, type ToastPosition, type ToastProps, type ToastType, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type TooltipSize, type TooltipTrigger, type TooltipVariant, type UILabels, UILabelsProvider, type UILabelsProviderProps, type UseChartBrushOptions, type UseChartBrushResult, type UseChartSizeOptions, type UseChartSizeResult, type UseDialogA11yOptions, type UseDialogA11yResult, type UseKeyboardNavigationOptions, type UsePositioningOptions, WaterfallChart, type WaterfallChartProps, type WaterfallKind, type WaterfallStep, WithHelpButton, type WithHelpButtonProps, Wizard, WizardActions, type WizardActionsProps, type WizardColor, WizardContent, type WizardContentProps, type WizardContextValue, type WizardDirection, WizardNext, type WizardNextProps, type WizardOrientation, WizardPanel, type WizardPanelProps, WizardPrevious, type WizardPreviousProps, type WizardProps, type WizardSize, type WizardStepChangeMeta, type WizardStepDefinition, type WizardStepStatus, WizardSteps, type WizardStepsProps, type WizardVariant, type WorkflowDirection, type WorkflowEdge, WorkflowEditor, type WorkflowEditorProps, type WorkflowEditorRef, type WorkflowNode, type WorkflowNodeAction, type WorkflowNodeActionEvent, type WorkflowNodeActionPosition, type WorkflowNodeEvent, type WorkflowPort, type WorkflowValue, type WorkflowViewport, autoLayoutTables, binEdges, binValues, boxStats, brushToPeriod, buildCartesianGeometry, cn, createCategoryLocator, createDefaultField, createDefaultTable, createDivergingScale, createPeriod, createPlotContext, createSequentialScale, decimateIndices, decimatePath, defaultUILabels, describeAnnotations, downloadChartData, endOfDay, findOwnedLayers, formatPeriodRange, formatTimeTick, frenchUILabels, generateFieldId, generateRelationId, generateSQL, generateTableId, getFocusableElements, getOrdinalColor, getPattern, getSeriesColor, getSeriesLabel, hideOthers, isElementVisible, isFocusable, lttb, niceTimeTicks, patternBackground, patternFill, patternId, quantile, quantileSorted, rampColor, registerFloatingLayer, resetBarChartWarnings, resetDumbbellWarnings, resetFacetWarnings, resetPointBudgetWarning, resolvePeriodPreset, resolveSeriesColor, samePeriod, sampleEvenly, splitOverlay, startOfDay, sturgesBins, toChartCsv, toChartJson, toChartRows, toLegendItems, toTimestamp, useChartBrush, useChartSize, useChartSync, useClickOutside, useDialogA11y, useDropdownContext, useFocusItem, useKeyboardNavigation, usePositioning, useSidebar, useUILabels, useWizard };