@jacshuo/onyx 1.4.0 → 2.0.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.
Files changed (81) hide show
  1. package/dist/Chart/BarChart.cjs +1 -0
  2. package/dist/Chart/BarChart.css +1 -0
  3. package/dist/Chart/BarChart.d.cts +2 -0
  4. package/dist/Chart/BarChart.d.ts +2 -0
  5. package/dist/Chart/BarChart.js +1 -0
  6. package/dist/Chart/LineChart.cjs +1 -0
  7. package/dist/Chart/LineChart.css +1 -0
  8. package/dist/Chart/LineChart.d.cts +2 -0
  9. package/dist/Chart/LineChart.d.ts +2 -0
  10. package/dist/Chart/LineChart.js +1 -0
  11. package/dist/Chart/PieChart.cjs +1 -0
  12. package/dist/Chart/PieChart.css +1 -0
  13. package/dist/Chart/PieChart.d.cts +2 -0
  14. package/dist/Chart/PieChart.d.ts +2 -0
  15. package/dist/Chart/PieChart.js +1 -0
  16. package/dist/Chart/ScatterChart.cjs +1 -0
  17. package/dist/Chart/ScatterChart.css +1 -0
  18. package/dist/Chart/ScatterChart.d.cts +2 -0
  19. package/dist/Chart/ScatterChart.d.ts +2 -0
  20. package/dist/Chart/ScatterChart.js +1 -0
  21. package/dist/Chart/index.cjs +1 -0
  22. package/dist/Chart/index.css +1 -0
  23. package/dist/Chart/index.d.cts +12 -0
  24. package/dist/Chart/index.d.ts +12 -0
  25. package/dist/Chart/index.js +1 -0
  26. package/dist/DataDisplay/index.d.cts +1 -1
  27. package/dist/DataDisplay/index.d.ts +1 -1
  28. package/dist/Disclosure/index.d.cts +1 -1
  29. package/dist/Disclosure/index.d.ts +1 -1
  30. package/dist/Extras/CinePlayer.cjs +1 -1
  31. package/dist/Extras/CinePlayer.js +1 -1
  32. package/dist/Extras/FileExplorer.cjs +9 -2
  33. package/dist/Extras/FileExplorer.js +9 -2
  34. package/dist/Extras/MiniPlayer.cjs +2 -2
  35. package/dist/Extras/MiniPlayer.js +2 -2
  36. package/dist/Extras/TypewriterText.cjs +1 -0
  37. package/dist/Extras/TypewriterText.css +1 -0
  38. package/dist/Extras/TypewriterText.d.cts +2 -0
  39. package/dist/Extras/TypewriterText.d.ts +2 -0
  40. package/dist/Extras/TypewriterText.js +1 -0
  41. package/dist/Extras/index.cjs +11 -4
  42. package/dist/Extras/index.css +1 -0
  43. package/dist/Extras/index.d.cts +3 -1
  44. package/dist/Extras/index.d.ts +3 -1
  45. package/dist/Extras/index.js +11 -4
  46. package/dist/Feedback/index.d.cts +1 -1
  47. package/dist/Feedback/index.d.ts +1 -1
  48. package/dist/Forms/Form.cjs +1 -1
  49. package/dist/Forms/Form.js +1 -1
  50. package/dist/Forms/index.cjs +1 -1
  51. package/dist/Forms/index.d.cts +1 -1
  52. package/dist/Forms/index.d.ts +1 -1
  53. package/dist/Forms/index.js +1 -1
  54. package/dist/Layout/index.d.cts +1 -1
  55. package/dist/Layout/index.d.ts +1 -1
  56. package/dist/Navigation/index.d.cts +1 -1
  57. package/dist/Navigation/index.d.ts +1 -1
  58. package/dist/Overlay/index.d.cts +1 -1
  59. package/dist/Overlay/index.d.ts +1 -1
  60. package/dist/Primitives/index.d.cts +1 -1
  61. package/dist/Primitives/index.d.ts +1 -1
  62. package/dist/_tsup-dts-rollup.d.cts +481 -11
  63. package/dist/_tsup-dts-rollup.d.ts +481 -11
  64. package/dist/index.cjs +12 -5
  65. package/dist/index.css +1 -0
  66. package/dist/index.d.cts +20 -0
  67. package/dist/index.d.ts +20 -0
  68. package/dist/index.js +12 -5
  69. package/dist/styles/Chart/BarChart.css +44 -0
  70. package/dist/styles/Chart/LineChart.css +72 -0
  71. package/dist/styles/Chart/PieChart.css +56 -0
  72. package/dist/styles/Chart/ScatterChart.css +45 -0
  73. package/dist/styles/Extras/TypewriterText.css +55 -0
  74. package/dist/styles/base.css +149 -18
  75. package/dist/styles/tokens/core.css +10 -0
  76. package/dist/styles.css +353 -18
  77. package/dist/theme.cjs +1 -1
  78. package/dist/theme.d.cts +3 -0
  79. package/dist/theme.d.ts +3 -0
  80. package/dist/theme.js +1 -1
  81. package/package.json +1 -1
@@ -120,6 +120,18 @@ export { alertVariants }
120
120
  export { alertVariants as alertVariants_alias_1 }
121
121
  export { alertVariants as alertVariants_alias_2 }
122
122
 
123
+ declare interface AxisConfig {
124
+ label?: string;
125
+ min?: number;
126
+ max?: number;
127
+ tickCount?: number;
128
+ format?: (value: number | string) => string;
129
+ gridLines?: boolean;
130
+ }
131
+ export { AxisConfig }
132
+ export { AxisConfig as AxisConfig_alias_1 }
133
+ export { AxisConfig as AxisConfig_alias_2 }
134
+
123
135
  declare function Badge({ intent, size, className, ...props }: BadgeProps): JSX.Element;
124
136
  export { Badge }
125
137
  export { Badge as Badge_alias_1 }
@@ -136,6 +148,82 @@ export { badgeVariants }
136
148
  export { badgeVariants as badgeVariants_alias_1 }
137
149
  export { badgeVariants as badgeVariants_alias_2 }
138
150
 
151
+ declare function BarChart({ series, xAxis, yAxis, orientation, grouped, barRadius, barPadding, groupPadding, title, height, className, legend, legendPosition, animateOnMount, emptyText, }: BarChartProps): JSX.Element;
152
+ export { BarChart }
153
+ export { BarChart as BarChart_alias_1 }
154
+ export { BarChart as BarChart_alias_2 }
155
+ export { BarChart as BarChart_alias_3 }
156
+
157
+ declare interface BarChartProps extends BaseChartProps {
158
+ series: ChartSeries[];
159
+ xAxis?: AxisConfig;
160
+ yAxis?: AxisConfig;
161
+ y2Axis?: AxisConfig;
162
+ /** Series IDs that map to the secondary (right) Y axis. */
163
+ y2Series?: string[];
164
+ /** "vertical" = X categorical, Y numerical (default). "horizontal" = flipped. */
165
+ orientation?: "vertical" | "horizontal";
166
+ /** true = bars side-by-side per category (default). false = stacked. */
167
+ grouped?: boolean;
168
+ /** Corner radius for bar caps in px. */
169
+ barRadius?: number;
170
+ /** Gap between individual bars within a group (0–1). */
171
+ barPadding?: number;
172
+ /** Gap between category groups (0–1). */
173
+ groupPadding?: number;
174
+ }
175
+ export { BarChartProps }
176
+ export { BarChartProps as BarChartProps_alias_1 }
177
+ export { BarChartProps as BarChartProps_alias_2 }
178
+
179
+ export declare interface BarSpec {
180
+ seriesId: string;
181
+ category: string;
182
+ x: number;
183
+ y: number;
184
+ width: number;
185
+ height: number;
186
+ stackBase: number;
187
+ value: number;
188
+ color: string;
189
+ }
190
+
191
+ declare interface BaseChartProps {
192
+ title?: string;
193
+ height?: number;
194
+ className?: string;
195
+ legend?: boolean;
196
+ legendPosition?: "top" | "bottom" | "left" | "right";
197
+ animateOnMount?: boolean;
198
+ emptyText?: string;
199
+ }
200
+ export { BaseChartProps }
201
+ export { BaseChartProps as BaseChartProps_alias_1 }
202
+ export { BaseChartProps as BaseChartProps_alias_2 }
203
+
204
+ /** Builds an area fill SVG path that closes down to the given baseline y. */
205
+ export declare function buildAreaPath(data: ChartDataPoint[], xScale: (v: number | string) => number, yScale: (v: number) => number, smooth: boolean, baseline: number): string;
206
+
207
+ /** Builds grouped bar specs for vertical orientation. */
208
+ export declare function buildGroupedBarSpecs(series: ChartSeries[], visibleIds: Set<string>, categories: string[], colorMap: Map<string, string>, plotLeft: number, plotWidth: number, plotBottom: number, plotTop: number, yScale: (v: number) => number, groupPadding: number, barPadding: number): BarSpec[];
209
+
210
+ /** Builds grouped bar specs for horizontal orientation (bars extend right from Y-axis). */
211
+ export declare function buildGroupedHorizontalBarSpecs(series: ChartSeries[], visibleIds: Set<string>, categories: string[], colorMap: Map<string, string>, plotLeft: number, plotTop: number, plotHeight: number, xScale: (v: number) => number, groupPadding: number, barPadding: number): BarSpec[];
212
+
213
+ /** Builds a space-separated points string for SVG <polyline>. */
214
+ export declare function buildPolylinePoints(data: ChartDataPoint[], xScale: (v: number | string) => number, yScale: (v: number) => number): string;
215
+
216
+ /** Builds a smooth path using Catmull-Rom → cubic Bézier conversion.
217
+ * Control points are derived from neighboring points so each segment's
218
+ * curvature naturally follows the data trend instead of a fixed pattern. */
219
+ export declare function buildSmoothPath(data: ChartDataPoint[], xScale: (v: number | string) => number, yScale: (v: number) => number): string;
220
+
221
+ /** Builds stacked bar specs for vertical orientation. */
222
+ export declare function buildStackedBarSpecs(series: ChartSeries[], visibleIds: Set<string>, categories: string[], colorMap: Map<string, string>, plotLeft: number, plotWidth: number, plotBottom: number, yScale: (v: number) => number, groupPadding: number): BarSpec[];
223
+
224
+ /** Builds stacked bar specs for horizontal orientation. */
225
+ export declare function buildStackedHorizontalBarSpecs(series: ChartSeries[], visibleIds: Set<string>, categories: string[], colorMap: Map<string, string>, plotLeft: number, plotTop: number, plotHeight: number, xScale: (v: number) => number, groupPadding: number): BarSpec[];
226
+
139
227
  /**
140
228
  * Map of field names → ValidationResult returned from the `onValues` callback.
141
229
  * Form will automatically display these errors in the matching named FormItems.
@@ -202,6 +290,73 @@ export { cardVariants }
202
290
  export { cardVariants as cardVariants_alias_1 }
203
291
  export { cardVariants as cardVariants_alias_2 }
204
292
 
293
+ declare const Chart: {
294
+ LineChart: typeof LineChart;
295
+ BarChart: typeof BarChart;
296
+ PieChart: typeof PieChart;
297
+ ScatterChart: typeof ScatterChart;
298
+ };
299
+ export { Chart }
300
+ export { Chart as Chart_alias_1 }
301
+ export { Chart as default_alias_1 }
302
+
303
+ declare const chartContainerVariants: (props?: ({
304
+ size?: "sm" | "md" | "lg" | null | undefined;
305
+ } & ClassProp) | undefined) => string;
306
+ export { chartContainerVariants }
307
+ export { chartContainerVariants as chartContainerVariants_alias_1 }
308
+ export { chartContainerVariants as chartContainerVariants_alias_2 }
309
+
310
+ declare interface ChartDataPoint {
311
+ x: number | string;
312
+ y: number;
313
+ label?: string;
314
+ }
315
+ export { ChartDataPoint }
316
+ export { ChartDataPoint as ChartDataPoint_alias_1 }
317
+ export { ChartDataPoint as ChartDataPoint_alias_2 }
318
+
319
+ export declare interface ChartDimensions {
320
+ width: number;
321
+ height: number;
322
+ margins: ChartMargins;
323
+ plotLeft: number;
324
+ plotTop: number;
325
+ plotRight: number;
326
+ plotBottom: number;
327
+ plotWidth: number;
328
+ plotHeight: number;
329
+ }
330
+
331
+ declare const chartLegendVariants: (props?: ({
332
+ position?: "left" | "right" | "bottom" | "top" | null | undefined;
333
+ } & ClassProp) | undefined) => string;
334
+ export { chartLegendVariants }
335
+ export { chartLegendVariants as chartLegendVariants_alias_1 }
336
+ export { chartLegendVariants as chartLegendVariants_alias_2 }
337
+
338
+ export declare interface ChartMargins {
339
+ top: number;
340
+ right: number;
341
+ bottom: number;
342
+ left: number;
343
+ }
344
+
345
+ declare interface ChartSeries {
346
+ id: string;
347
+ name: string;
348
+ color?: string;
349
+ data: ChartDataPoint[];
350
+ }
351
+ export { ChartSeries }
352
+ export { ChartSeries as ChartSeries_alias_1 }
353
+ export { ChartSeries as ChartSeries_alias_2 }
354
+
355
+ declare const chartTooltipVariants: (props?: ClassProp | undefined) => string;
356
+ export { chartTooltipVariants }
357
+ export { chartTooltipVariants as chartTooltipVariants_alias_1 }
358
+ export { chartTooltipVariants as chartTooltipVariants_alias_2 }
359
+
205
360
  declare function Chat({ messages, mode, autoScroll, className, ...props }: ChatProps): JSX.Element;
206
361
  export { Chat }
207
362
  export { Chat as Chat_alias_1 }
@@ -326,6 +481,9 @@ export { CinePlayerSortKey }
326
481
  export { CinePlayerSortKey as CinePlayerSortKey_alias_1 }
327
482
  export { CinePlayerSortKey as CinePlayerSortKey_alias_2 }
328
483
 
484
+ /** Computes a padded [min, max] range from raw data extents. */
485
+ export declare function clampRange(min: number, max: number, padding?: number): [number, number];
486
+
329
487
  declare function cn(...inputs: ClassValue[]): string;
330
488
  export { cn }
331
489
  export { cn as cn_alias_1 }
@@ -395,11 +553,78 @@ export { ColumnDef }
395
553
  export { ColumnDef as ColumnDef_alias_1 }
396
554
  export { ColumnDef as ColumnDef_alias_2 }
397
555
 
556
+ /** Computes [min, max] domain for grouped bar charts (always min=0 for bars). */
557
+ export declare function computeBarYDomain(series: ChartSeries[], visibleIds: Set<string>, grouped: boolean, axisConfig?: AxisConfig): [number, number];
558
+
559
+ /** Compute bounding ellipse parameters for a set of points (cx, cy, rx, ry). */
560
+ export declare function computeBoundingEllipse(xs: number[], ys: number[], padding?: number): {
561
+ cx: number;
562
+ cy: number;
563
+ rx: number;
564
+ ry: number;
565
+ } | null;
566
+
567
+ /** Extracts sorted unique category labels from all visible series. */
568
+ export declare function computeCategories(series: ChartSeries[], visibleIds: Set<string>): string[];
569
+
570
+ declare function computeDimensions(containerWidth: number, height: number, margins: ChartMargins): ChartDimensions;
571
+ export { computeDimensions }
572
+ export { computeDimensions as computeDimensions_alias_1 }
573
+ export { computeDimensions as computeDimensions_alias_2 }
574
+
575
+ /** Returns the translate offset (dx, dy) for a slice explosion at midAngle. */
576
+ export declare function computeExplodeTranslate(midAngle: number, offset: number): {
577
+ dx: number;
578
+ dy: number;
579
+ };
580
+
581
+ declare function computeMargins(hasXLabel: boolean, hasYLabel: boolean, hasY2Axis: boolean): ChartMargins;
582
+ export { computeMargins }
583
+ export { computeMargins as computeMargins_alias_1 }
584
+ export { computeMargins as computeMargins_alias_2 }
585
+
586
+ export declare function computeSliceSpecs(data: PieSlice[], visibleIds: Set<string>, palette: string[], outerR: number, innerR: number, cx: number, cy: number, startAngle: number, padAngle: number): SliceSpec[];
587
+
588
+ /** Generates evenly spaced tick values between min and max (inclusive). */
589
+ export declare function computeTicks(min: number, max: number, count: number): number[];
590
+
591
+ /** Returns evenly spaced ticks. */
592
+ export declare function computeTicksForAxis(domain: [number, number], count?: number): number[];
593
+
594
+ /** Returns evenly spaced ticks for an axis domain. */
595
+ export declare function computeTicksForAxis_alias_1(domain: [number, number], count?: number): number[];
596
+
597
+ export declare function computeTicksForAxis_alias_2(domain: [number, number], count?: number): number[];
598
+
599
+ /** Returns unique x category labels in order of first occurrence across visible series. */
600
+ export declare function computeXCategories(series: ChartSeries[], visibleIds: Set<string>): string[];
601
+
602
+ /** Computes [min, max] domain from all x values of visible series. */
603
+ export declare function computeXDomain(series: ChartSeries[], visibleIds: Set<string>, axisConfig?: AxisConfig): [number, number];
604
+
605
+ /** Computes the [min, max] domain for Y values across all visible series. */
606
+ export declare function computeYDomain(series: ChartSeries[], visibleIds: Set<string>, axisConfig?: AxisConfig): [number, number];
607
+
608
+ /** Computes [min, max] domain from all y values of visible series. */
609
+ export declare function computeYDomain_alias_1(series: ChartSeries[], visibleIds: Set<string>, axisConfig?: AxisConfig): [number, number];
610
+
398
611
  declare function configureAlertTopOffset(offset: number): void;
399
612
  export { configureAlertTopOffset }
400
613
  export { configureAlertTopOffset as configureAlertTopOffset_alias_1 }
401
614
  export { configureAlertTopOffset as configureAlertTopOffset_alias_2 }
402
615
 
616
+ /** Creates a categorical band scale (returns center-of-band x). */
617
+ export declare function createCategoryScale(categories: string[], range: [number, number]): (cat: string) => number;
618
+
619
+ /** Linear scale helper. */
620
+ export declare function createLinearScale(domain: [number, number], range: [number, number]): (v: number) => number;
621
+
622
+ /** Creates a linear scale mapping domain values to pixel range. */
623
+ export declare function createLinearScale_alias_1(domain: [number, number], range: [number, number]): (v: number) => number;
624
+
625
+ /** Linear scale factory. */
626
+ export declare function createLinearScale_alias_2(domain: [number, number], range: [number, number]): (v: number) => number;
627
+
403
628
  declare const DataDisplay: {
404
629
  Table: typeof Table;
405
630
  List: typeof List;
@@ -409,7 +634,7 @@ declare const DataDisplay: {
409
634
  };
410
635
  export { DataDisplay }
411
636
  export { DataDisplay as DataDisplay_alias_1 }
412
- export { DataDisplay as default_alias_1 }
637
+ export { DataDisplay as default_alias_2 }
413
638
 
414
639
  declare function DataTable<T, K extends string = string>({ columns, data, rowKey, sort: controlledSort, onSortChange, defaultSort, selectionMode, selected: controlledSelected, onSelectionChange, editable, onCellEdit, toolbar, onAdd, onDelete, rowActions, intent, density, className, empty, }: DataTableProps<T, K>): JSX.Element;
415
640
  export { DataTable }
@@ -505,14 +730,19 @@ export declare const default_alias: {
505
730
  CinePlayer: CinePlayer;
506
731
  FileExplorer: FileExplorer;
507
732
  Masonry: Masonry;
733
+ TypewriterText: TypewriterText;
508
734
  };
509
735
  Forms: {
510
736
  Form: Form;
511
737
  };
738
+ Chart: {
739
+ LineChart: LineChart;
740
+ BarChart: BarChart;
741
+ PieChart: PieChart;
742
+ ScatterChart: ScatterChart;
743
+ };
512
744
  };
513
745
 
514
- export declare function default_alias_10(): JSX.Element;
515
-
516
746
  export declare function default_alias_11(): JSX.Element;
517
747
 
518
748
  export declare function default_alias_12(): JSX.Element;
@@ -651,6 +881,34 @@ export declare function default_alias_78(): JSX.Element;
651
881
 
652
882
  export declare function default_alias_79(): JSX.Element;
653
883
 
884
+ export declare function default_alias_80(): JSX.Element;
885
+
886
+ export declare function default_alias_81(): JSX.Element;
887
+
888
+ export declare function default_alias_82(): JSX.Element;
889
+
890
+ export declare function default_alias_83(): JSX.Element;
891
+
892
+ export declare function default_alias_84(): JSX.Element;
893
+
894
+ export declare function default_alias_85(): JSX.Element;
895
+
896
+ export declare function default_alias_86(): JSX.Element;
897
+
898
+ export declare function default_alias_87(): JSX.Element;
899
+
900
+ export declare function default_alias_88(): JSX.Element;
901
+
902
+ export declare function default_alias_89(): JSX.Element;
903
+
904
+ export declare function default_alias_90(): JSX.Element;
905
+
906
+ /** Builds an SVG arc path string from startAngle to endAngle (degrees). */
907
+ export declare function describeArc(cx: number, cy: number, r: number, startAngle: number, endAngle: number): string;
908
+
909
+ /** Deterministic jitter using golden-ratio Halton-like sequence. */
910
+ export declare function deterministicJitter(seriesIndex: number, pointIndex: number, amount: number): [number, number];
911
+
654
912
  declare function Dialog({ open, onOpenChange, modal, closeOnOutsideClick, children, }: DialogProps): JSX.Element | null;
655
913
  export { Dialog }
656
914
  export { Dialog as Dialog_alias_1 }
@@ -714,7 +972,7 @@ declare const Disclosure: {
714
972
  };
715
973
  export { Disclosure }
716
974
  export { Disclosure as Disclosure_alias_1 }
717
- export { Disclosure as default_alias_2 }
975
+ export { Disclosure as default_alias_3 }
718
976
 
719
977
  declare function Dropdown(props: DropdownProps): JSX.Element;
720
978
  export { Dropdown }
@@ -856,10 +1114,11 @@ declare const Extras: {
856
1114
  CinePlayer: typeof CinePlayer;
857
1115
  FileExplorer: typeof FileExplorer;
858
1116
  Masonry: typeof Masonry;
1117
+ TypewriterText: typeof TypewriterText;
859
1118
  };
860
1119
  export { Extras }
861
1120
  export { Extras as Extras_alias_1 }
862
- export { Extras as default_alias_3 }
1121
+ export { Extras as default_alias_4 }
863
1122
 
864
1123
  declare const Feedback: {
865
1124
  Alert: typeof Alert;
@@ -868,7 +1127,7 @@ declare const Feedback: {
868
1127
  };
869
1128
  export { Feedback }
870
1129
  export { Feedback as Feedback_alias_1 }
871
- export { Feedback as default_alias_4 }
1130
+ export { Feedback as default_alias_5 }
872
1131
 
873
1132
  declare function FileExplorer({ files, title, accent, defaultView, initialPosition, initialSize, dockable, dockSide, visible: visibleProp, onFileOpen, onSelectionChange, onNavigate, onDelete, onClose, onMinimize, onPathSubmit, defaultInputMode, actions, resizable, minSize, className, }: FileExplorerProps): JSX.Element | null;
874
1133
  export { FileExplorer }
@@ -1049,12 +1308,18 @@ export { FilmReelProps }
1049
1308
  export { FilmReelProps as FilmReelProps_alias_1 }
1050
1309
  export { FilmReelProps as FilmReelProps_alias_2 }
1051
1310
 
1311
+ /** Finds the index of the nearest category to a given SVG x position. */
1312
+ export declare function findNearestCategoryIndex(svgX: number, categories: string[], xScale: (cat: string) => number): number;
1313
+
1052
1314
  declare function Form({ children, className, intent, size, layout, title, description, footer, onValues, onSubmit, ...props }: FormProps): JSX.Element;
1053
1315
  export { Form }
1054
1316
  export { Form as Form_alias_1 }
1055
1317
  export { Form as Form_alias_2 }
1056
1318
  export { Form as Form_alias_3 }
1057
1319
 
1320
+ /** Formats an axis value using an optional custom formatter. */
1321
+ export declare function formatAxisValue(v: number | string, formatter?: (v: number | string) => string): string;
1322
+
1058
1323
  declare function FormItem({ label, layout: itemLayout, required, hint, validation, name, onValidate, className, children, }: FormItemProps): JSX.Element;
1059
1324
  export { FormItem }
1060
1325
  export { FormItem as FormItem_alias_1 }
@@ -1143,7 +1408,7 @@ declare const Forms: {
1143
1408
  };
1144
1409
  export { Forms }
1145
1410
  export { Forms as Forms_alias_1 }
1146
- export { Forms as default_alias_5 }
1411
+ export { Forms as default_alias_6 }
1147
1412
 
1148
1413
  declare function FormSection({ title, description, className, children }: FormSectionProps): JSX.Element;
1149
1414
  export { FormSection }
@@ -1197,6 +1462,12 @@ declare const formVariants: (props?: ({
1197
1462
  export { formVariants }
1198
1463
  export { formVariants as formVariants_alias_1 }
1199
1464
 
1465
+ /** Returns an array of CSS custom property references for chart series colors. */
1466
+ export declare function getDefaultPalette(count: number): string[];
1467
+
1468
+ /** Gets the y value for a series at a given category key. */
1469
+ export declare function getYAtCategory(series: ChartSeries, category: string): number | undefined;
1470
+
1200
1471
  declare function Header({ brand, onBrandClick, navItems, actions, linkComponent: Link, height, mobileMenu, navMenuIcon, actionsMenuIcon, className, children, }: HeaderProps): JSX.Element;
1201
1472
  export { Header }
1202
1473
  export { Header as Header_alias_1 }
@@ -1408,6 +1679,9 @@ export { inputVariants }
1408
1679
  export { inputVariants as inputVariants_alias_1 }
1409
1680
  export { inputVariants as inputVariants_alias_2 }
1410
1681
 
1682
+ /** Returns true if any data point in the series has a string x value. */
1683
+ export declare function isSeriesCategorical(series: ChartSeries[]): boolean;
1684
+
1411
1685
  declare function Label({ intent, size, className, ...props }: LabelProps): JSX.Element;
1412
1686
  export { Label }
1413
1687
  export { Label as Label_alias_1 }
@@ -1431,7 +1705,43 @@ declare const Layout: {
1431
1705
  };
1432
1706
  export { Layout }
1433
1707
  export { Layout as Layout_alias_1 }
1434
- export { Layout as default_alias_6 }
1708
+ export { Layout as default_alias_7 }
1709
+
1710
+ declare interface LegendItem {
1711
+ id: string;
1712
+ label: string;
1713
+ color: string;
1714
+ visible: boolean;
1715
+ }
1716
+ export { LegendItem }
1717
+ export { LegendItem as LegendItem_alias_1 }
1718
+ export { LegendItem as LegendItem_alias_2 }
1719
+
1720
+ declare function LineChart({ series, xAxis, yAxis, y2Axis, y2Series, smooth, showDots, area, strokeWidth, title, height, className, legend, legendPosition, animateOnMount, emptyText, }: LineChartProps): JSX.Element;
1721
+ export { LineChart }
1722
+ export { LineChart as LineChart_alias_1 }
1723
+ export { LineChart as LineChart_alias_2 }
1724
+ export { LineChart as LineChart_alias_3 }
1725
+
1726
+ declare interface LineChartProps extends BaseChartProps {
1727
+ series: ChartSeries[];
1728
+ xAxis?: AxisConfig;
1729
+ yAxis?: AxisConfig;
1730
+ y2Axis?: AxisConfig;
1731
+ /** Series IDs that map to the secondary (right) Y axis. */
1732
+ y2Series?: string[];
1733
+ /** Render smooth bezier curves instead of straight polylines. */
1734
+ smooth?: boolean;
1735
+ /** Show data point dot markers. */
1736
+ showDots?: boolean;
1737
+ /** Fill area under each line. */
1738
+ area?: boolean;
1739
+ /** Line stroke width in px. */
1740
+ strokeWidth?: number;
1741
+ }
1742
+ export { LineChartProps }
1743
+ export { LineChartProps as LineChartProps_alias_1 }
1744
+ export { LineChartProps as LineChartProps_alias_2 }
1435
1745
 
1436
1746
  declare function List({ intent, size, className, ...props }: ListProps): JSX.Element;
1437
1747
  export { List }
@@ -1597,7 +1907,7 @@ declare const Navigation: {
1597
1907
  };
1598
1908
  export { Navigation }
1599
1909
  export { Navigation as Navigation_alias_1 }
1600
- export { Navigation as default_alias_7 }
1910
+ export { Navigation as default_alias_8 }
1601
1911
 
1602
1912
  declare function NavLink({ intent, size, underline, external, className, children, href, target, rel, ...props }: NavLinkProps): JSX.Element;
1603
1913
  export { NavLink }
@@ -1625,7 +1935,7 @@ declare const Overlay: {
1625
1935
  };
1626
1936
  export { Overlay }
1627
1937
  export { Overlay as Overlay_alias_1 }
1628
- export { Overlay as default_alias_8 }
1938
+ export { Overlay as default_alias_9 }
1629
1939
 
1630
1940
  export declare function PageTitle({ children }: {
1631
1941
  children: React_2.ReactNode;
@@ -1657,6 +1967,53 @@ export { panelVariants }
1657
1967
  export { panelVariants as panelVariants_alias_1 }
1658
1968
  export { panelVariants as panelVariants_alias_2 }
1659
1969
 
1970
+ declare function PieChart({ data, donut, donutThickness, startAngle, padAngle, labelType, centerLabel, centerSubLabel, explodeOnHover, explodeOffset, title, height, className, legend, legendPosition, animateOnMount, emptyText, }: PieChartProps): JSX.Element;
1971
+ export { PieChart }
1972
+ export { PieChart as PieChart_alias_1 }
1973
+ export { PieChart as PieChart_alias_2 }
1974
+ export { PieChart as PieChart_alias_3 }
1975
+
1976
+ declare interface PieChartProps extends BaseChartProps {
1977
+ data: PieSlice[];
1978
+ /** Render as a donut chart with an inner hole. */
1979
+ donut?: boolean;
1980
+ /** Inner radius ratio (0–1, donut mode only). */
1981
+ donutThickness?: number;
1982
+ /** Starting angle in degrees (default: -90 = top). */
1983
+ startAngle?: number;
1984
+ /** Gap between slices in degrees (default 0 = touching). */
1985
+ padAngle?: number;
1986
+ /** Controls label content. */
1987
+ labelType?: "none" | "percent" | "value" | "label" | "label+percent";
1988
+ /** Text rendered in the center hole (donut mode only). */
1989
+ centerLabel?: string;
1990
+ /** Secondary text rendered below centerLabel (donut mode only). */
1991
+ centerSubLabel?: string;
1992
+ /** Slice pops outward when hovered. */
1993
+ explodeOnHover?: boolean;
1994
+ /** Outward offset in px for the exploded slice. */
1995
+ explodeOffset?: number;
1996
+ }
1997
+ export { PieChartProps }
1998
+ export { PieChartProps as PieChartProps_alias_1 }
1999
+ export { PieChartProps as PieChartProps_alias_2 }
2000
+
2001
+ declare interface PieSlice {
2002
+ id: string;
2003
+ label: string;
2004
+ value: number;
2005
+ color?: string;
2006
+ }
2007
+ export { PieSlice }
2008
+ export { PieSlice as PieSlice_alias_1 }
2009
+ export { PieSlice as PieSlice_alias_2 }
2010
+
2011
+ /** Converts polar coordinates to Cartesian (0° = top, clockwise). */
2012
+ export declare function polarToCartesian(cx: number, cy: number, r: number, angleDeg: number): {
2013
+ x: number;
2014
+ y: number;
2015
+ };
2016
+
1660
2017
  declare const Primitives: {
1661
2018
  Button: typeof Button;
1662
2019
  Dropdown: typeof Dropdown;
@@ -1673,7 +2030,7 @@ declare const Primitives: {
1673
2030
  };
1674
2031
  export { Primitives }
1675
2032
  export { Primitives as Primitives_alias_1 }
1676
- export { Primitives as default_alias_9 }
2033
+ export { Primitives as default_alias_10 }
1677
2034
 
1678
2035
  declare function ProgressBar({ value, size, intent, edge, showLabel, indeterminate, animated, duration, className, ...props }: ProgressBarProps): JSX.Element;
1679
2036
  export { ProgressBar }
@@ -1775,6 +2132,35 @@ export { radioVariants as radioVariants_alias_2 }
1775
2132
 
1776
2133
  declare function removeAlert(id: string): void;
1777
2134
 
2135
+ declare function ScatterChart({ series, xAxis, yAxis, dotRadius, dotOpacity, clusters, jitter, jitterAmount, linkedLines, title, height, className, legend, legendPosition, animateOnMount, emptyText, }: ScatterChartProps): JSX.Element;
2136
+ export { ScatterChart }
2137
+ export { ScatterChart as ScatterChart_alias_1 }
2138
+ export { ScatterChart as ScatterChart_alias_2 }
2139
+ export { ScatterChart as ScatterChart_alias_3 }
2140
+
2141
+ declare interface ScatterChartProps extends BaseChartProps {
2142
+ series: ChartSeries[];
2143
+ xAxis?: AxisConfig;
2144
+ yAxis?: AxisConfig;
2145
+ /** Dot radius in px. */
2146
+ dotRadius?: number;
2147
+ /** Dot fill opacity. */
2148
+ dotOpacity?: number;
2149
+ /** Draw a faint bounding ellipse around each series' points. */
2150
+ clusters?: boolean;
2151
+ /** Not used in simplified implementation (kept for API compat). */
2152
+ clusterRadius?: number;
2153
+ /** Apply deterministic small random offset to reduce overlap. */
2154
+ jitter?: boolean;
2155
+ /** Jitter range in px. */
2156
+ jitterAmount?: number;
2157
+ /** Draw polylines connecting same-series points in x-order. */
2158
+ linkedLines?: boolean;
2159
+ }
2160
+ export { ScatterChartProps }
2161
+ export { ScatterChartProps as ScatterChartProps_alias_1 }
2162
+ export { ScatterChartProps as ScatterChartProps_alias_2 }
2163
+
1778
2164
  export declare function Section({ title, children }: {
1779
2165
  title: string;
1780
2166
  children: React_2.ReactNode;
@@ -1881,6 +2267,22 @@ export { SideNavProps }
1881
2267
  export { SideNavProps as SideNavProps_alias_1 }
1882
2268
  export { SideNavProps as SideNavProps_alias_2 }
1883
2269
 
2270
+ export declare interface SliceSpec {
2271
+ id: string;
2272
+ label: string;
2273
+ value: number;
2274
+ percent: number;
2275
+ color: string;
2276
+ startAngle: number;
2277
+ endAngle: number;
2278
+ midAngle: number;
2279
+ path: string;
2280
+ outerR: number;
2281
+ innerR: number;
2282
+ cx: number;
2283
+ cy: number;
2284
+ }
2285
+
1884
2286
  declare function SortableTable<T, K extends string = string>({ columns, data, sort: controlledSort, onSortChange, defaultSort, rowKey, rowActions, intent, density, className, empty, }: SortableTableProps<T, K>): JSX.Element;
1885
2287
  export { SortableTable }
1886
2288
  export { SortableTable as SortableTable_alias_1 }
@@ -2189,6 +2591,67 @@ declare type TreeProps = React_2.HTMLAttributes<HTMLUListElement> & {
2189
2591
  size?: "sm" | "md" | "lg";
2190
2592
  };
2191
2593
 
2594
+ /**
2595
+ * TypewriterText — renders text with a Copilot-style typewriter animation.
2596
+ *
2597
+ * Three modes:
2598
+ * - "typewriter" (default): animates from empty → full text on every `text` change.
2599
+ * - "stream": only animates newly appended characters; designed for live token streams.
2600
+ * - "instant": no animation; renders text immediately.
2601
+ *
2602
+ * Cursor states:
2603
+ * - `thinking`: blinking block cursor, no text yet.
2604
+ * - Actively typing: solid cursor at the trailing edge of the text.
2605
+ * - Waiting (stream mode, `streaming=true`): blinking cursor after catching up.
2606
+ * - Done: cursor fades out.
2607
+ */
2608
+ declare function TypewriterText({ text, mode, speed, cursor, cursorChar, thinking, streaming, delay, onComplete, as: Tag, className, }: TypewriterTextProps): JSX.Element;
2609
+ export { TypewriterText }
2610
+ export { TypewriterText as TypewriterText_alias_1 }
2611
+ export { TypewriterText as TypewriterText_alias_2 }
2612
+ export { TypewriterText as TypewriterText_alias_3 }
2613
+
2614
+ declare interface TypewriterTextProps {
2615
+ /** Full text content to display. */
2616
+ text: string;
2617
+ /**
2618
+ * Animation mode.
2619
+ * - `"typewriter"` (default): animates from empty → full text whenever `text` changes.
2620
+ * - `"stream"`: only animates newly appended characters; ideal for LLM token streams.
2621
+ * - `"instant"`: no animation — renders text immediately.
2622
+ */
2623
+ mode?: "typewriter" | "stream" | "instant";
2624
+ /** Typing speed in characters per second. @default 40 */
2625
+ speed?: number;
2626
+ /** Show a cursor at the end of the text. @default true */
2627
+ cursor?: boolean;
2628
+ /** Cursor glyph. @default "▋" */
2629
+ cursorChar?: string;
2630
+ /**
2631
+ * When `true`, renders only a blinking cursor (no text) — the "model is thinking"
2632
+ * state before the first token arrives.
2633
+ */
2634
+ thinking?: boolean;
2635
+ /**
2636
+ * Pass `true` while the parent is still receiving streaming data.
2637
+ * Keeps the cursor visible and blinking even after the component has caught up
2638
+ * to the current `text` value.
2639
+ * Pass `false` (or omit) once the stream is complete.
2640
+ */
2641
+ streaming?: boolean;
2642
+ /** Delay in ms before the animation begins (typewriter mode only). @default 0 */
2643
+ delay?: number;
2644
+ /** Called once each time the current animation sequence finishes catching up. */
2645
+ onComplete?: () => void;
2646
+ /** HTML element to render as. @default "span" */
2647
+ as?: "span" | "div" | "p" | "pre" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label" | "li";
2648
+ className?: string;
2649
+ }
2650
+ export { TypewriterTextProps }
2651
+ export { TypewriterTextProps as TypewriterTextProps_alias_1 }
2652
+ export { TypewriterTextProps as TypewriterTextProps_alias_2 }
2653
+ export { TypewriterTextProps as TypewriterTextProps_alias_3 }
2654
+
2192
2655
  declare function useAlert(): {
2193
2656
  addAlert: typeof addAlert;
2194
2657
  removeAlert: typeof removeAlert;
@@ -2197,6 +2660,13 @@ export { useAlert }
2197
2660
  export { useAlert as useAlert_alias_1 }
2198
2661
  export { useAlert as useAlert_alias_2 }
2199
2662
 
2663
+ export declare function useChartLegend(initialIds: string[]): {
2664
+ visible: Set<string>;
2665
+ toggle: (id: string) => void;
2666
+ isVisible: (id: string) => boolean;
2667
+ showAll: () => void;
2668
+ };
2669
+
2200
2670
  /**
2201
2671
  * Returns a `setSpin(target, tip?)` function.
2202
2672
  * Each call returns a **close** function to dismiss that specific overlay.