semiotic 3.3.1 → 3.4.1

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 (204) hide show
  1. package/CLAUDE.md +25 -6
  2. package/README.md +1 -1
  3. package/ai/dist/mcp-server.js +104 -9
  4. package/ai/schema.json +42 -1
  5. package/ai/system-prompt.md +4 -0
  6. package/dist/components/Annotation.d.ts +42 -2
  7. package/dist/components/CategoryColors.d.ts +1 -1
  8. package/dist/components/ChartGrid.d.ts +1 -1
  9. package/dist/components/ContextLayout.d.ts +1 -1
  10. package/dist/components/DataSummaryContext.d.ts +1 -1
  11. package/dist/components/DetailsPanel.d.ts +3 -2
  12. package/dist/components/Legend.d.ts +2 -3
  13. package/dist/components/LinkedCharts.d.ts +9 -1
  14. package/dist/components/ThemeProvider.d.ts +1 -1
  15. package/dist/components/Tooltip/FlippingTooltip.d.ts +1 -1
  16. package/dist/components/Tooltip/Tooltip.d.ts +4 -3
  17. package/dist/components/charts/geo/ChoroplethMap.d.ts +4 -4
  18. package/dist/components/charts/geo/DistanceCartogram.d.ts +5 -4
  19. package/dist/components/charts/geo/FlowMap.d.ts +4 -4
  20. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +4 -3
  21. package/dist/components/charts/index.d.ts +3 -1
  22. package/dist/components/charts/network/ChordDiagram.d.ts +4 -3
  23. package/dist/components/charts/network/CirclePack.d.ts +3 -3
  24. package/dist/components/charts/network/ForceDirectedGraph.d.ts +3 -2
  25. package/dist/components/charts/network/OrbitDiagram.d.ts +6 -5
  26. package/dist/components/charts/network/SankeyDiagram.d.ts +4 -3
  27. package/dist/components/charts/network/TreeDiagram.d.ts +3 -3
  28. package/dist/components/charts/network/Treemap.d.ts +3 -3
  29. package/dist/components/charts/ordinal/BarChart.d.ts +30 -4
  30. package/dist/components/charts/ordinal/BoxPlot.d.ts +4 -3
  31. package/dist/components/charts/ordinal/DonutChart.d.ts +4 -3
  32. package/dist/components/charts/ordinal/DotPlot.d.ts +13 -4
  33. package/dist/components/charts/ordinal/FunnelChart.d.ts +4 -3
  34. package/dist/components/charts/ordinal/GaugeChart.d.ts +2 -1
  35. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +6 -5
  36. package/dist/components/charts/ordinal/Histogram.d.ts +4 -3
  37. package/dist/components/charts/ordinal/LikertChart.d.ts +8 -4
  38. package/dist/components/charts/ordinal/PieChart.d.ts +4 -3
  39. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +4 -3
  40. package/dist/components/charts/ordinal/StackedBarChart.d.ts +6 -5
  41. package/dist/components/charts/ordinal/SwarmPlot.d.ts +4 -3
  42. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -3
  43. package/dist/components/charts/ordinal/ViolinPlot.d.ts +4 -3
  44. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +7 -6
  45. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +10 -7
  46. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -6
  47. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +7 -6
  48. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -6
  49. package/dist/components/charts/shared/ChartError.d.ts +1 -2
  50. package/dist/components/charts/shared/annotationResolvers.d.ts +4 -3
  51. package/dist/components/charts/shared/annotationRules.d.ts +2 -1
  52. package/dist/components/charts/shared/colorUtils.d.ts +4 -3
  53. package/dist/components/charts/shared/datumTypes.d.ts +20 -0
  54. package/dist/components/charts/shared/diagnoseConfig.d.ts +2 -7
  55. package/dist/components/charts/shared/formatUtils.d.ts +4 -2
  56. package/dist/components/charts/shared/hooks.d.ts +41 -24
  57. package/dist/components/charts/shared/legendUtils.d.ts +3 -2
  58. package/dist/components/charts/shared/mergeShapeStyle.d.ts +43 -0
  59. package/dist/components/charts/shared/networkUtils.d.ts +7 -6
  60. package/dist/components/charts/shared/selectionUtils.d.ts +14 -11
  61. package/dist/components/charts/shared/statisticalOverlays.d.ts +14 -26
  62. package/dist/components/charts/shared/statisticalOverlaysLazy.d.ts +2 -2
  63. package/dist/components/charts/shared/statsTooltip.d.ts +3 -2
  64. package/dist/components/charts/shared/tooltipUtils.d.ts +20 -7
  65. package/dist/components/charts/shared/types.d.ts +27 -19
  66. package/dist/components/charts/shared/useChartSetup.d.ts +15 -6
  67. package/dist/components/charts/shared/useLikertAggregation.d.ts +18 -7
  68. package/dist/components/charts/shared/useOrdinalStreaming.d.ts +3 -2
  69. package/dist/components/charts/shared/useResolvedSelection.d.ts +2 -0
  70. package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -1
  71. package/dist/components/charts/shared/validateChartData.d.ts +2 -1
  72. package/dist/components/charts/shared/validateProps.d.ts +2 -8
  73. package/dist/components/charts/shared/withChartWrapper.d.ts +1 -1
  74. package/dist/components/charts/xy/AreaChart.d.ts +4 -3
  75. package/dist/components/charts/xy/BubbleChart.d.ts +4 -3
  76. package/dist/components/charts/xy/CandlestickChart.d.ts +47 -0
  77. package/dist/components/charts/xy/ConnectedScatterplot.d.ts +4 -3
  78. package/dist/components/charts/xy/Heatmap.d.ts +12 -7
  79. package/dist/components/charts/xy/LineChart.d.ts +4 -3
  80. package/dist/components/charts/xy/MinimapChart.d.ts +4 -4
  81. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +5 -4
  82. package/dist/components/charts/xy/QuadrantChart.d.ts +4 -3
  83. package/dist/components/charts/xy/Scatterplot.d.ts +4 -3
  84. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +3 -3
  85. package/dist/components/charts/xy/StackedAreaChart.d.ts +4 -3
  86. package/dist/components/data/transforms.d.ts +8 -7
  87. package/dist/components/export/chartConfig.d.ts +4 -3
  88. package/dist/components/geo/mergeData.d.ts +2 -1
  89. package/dist/components/realtime/BinAccumulator.d.ts +3 -2
  90. package/dist/components/realtime/renderers/types.d.ts +2 -1
  91. package/dist/components/realtime/renderers/waterfallRenderer.d.ts +2 -1
  92. package/dist/components/realtime/types.d.ts +32 -16
  93. package/dist/components/semiotic-geo.d.ts +4 -0
  94. package/dist/components/semiotic-network.d.ts +7 -0
  95. package/dist/components/semiotic-ordinal.d.ts +8 -0
  96. package/dist/components/semiotic-themes.d.ts +2 -1
  97. package/dist/components/semiotic-xy.d.ts +11 -0
  98. package/dist/components/semiotic.d.ts +3 -3
  99. package/dist/components/server/animatedGif.d.ts +4 -18
  100. package/dist/components/server/renderToStaticSVG.d.ts +6 -5
  101. package/dist/components/server/serverChartConfigs.d.ts +2 -10
  102. package/dist/components/server/staticAnnotations.d.ts +2 -1
  103. package/dist/components/server/staticLegend.d.ts +2 -1
  104. package/dist/components/store/ObservationStore.d.ts +4 -3
  105. package/dist/components/store/SelectionStore.d.ts +3 -8
  106. package/dist/components/store/ThemeStore.d.ts +34 -4
  107. package/dist/components/store/TooltipStore.d.ts +1 -1
  108. package/dist/components/store/useSelection.d.ts +6 -5
  109. package/dist/components/stream/AccessibleDataTable.d.ts +5 -5
  110. package/dist/components/stream/CanvasHitTester.d.ts +10 -4
  111. package/dist/components/stream/DataSourceAdapter.d.ts +19 -1
  112. package/dist/components/stream/FocusRing.d.ts +1 -2
  113. package/dist/components/stream/GeoCanvasHitTester.d.ts +1 -1
  114. package/dist/components/stream/GeoParticlePool.d.ts +2 -1
  115. package/dist/components/stream/GeoPipelineStore.d.ts +26 -7
  116. package/dist/components/stream/MarginalGraphics.d.ts +1 -2
  117. package/dist/components/stream/NetworkPipelineStore.d.ts +8 -2
  118. package/dist/components/stream/NetworkSVGOverlay.d.ts +4 -4
  119. package/dist/components/stream/OrdinalBrushOverlay.d.ts +1 -19
  120. package/dist/components/stream/OrdinalCanvasHitTester.d.ts +3 -1
  121. package/dist/components/stream/OrdinalPipelineStore.d.ts +44 -6
  122. package/dist/components/stream/OrdinalSVGOverlay.d.ts +6 -5
  123. package/dist/components/stream/ParticlePool.d.ts +4 -0
  124. package/dist/components/stream/PipelineStore.d.ts +80 -30
  125. package/dist/components/stream/SVGOverlay.d.ts +10 -10
  126. package/dist/components/stream/SceneGraph.d.ts +6 -5
  127. package/dist/components/stream/StreamGeoFrame.d.ts +2 -1
  128. package/dist/components/stream/StreamNetworkFrame.d.ts +2 -1
  129. package/dist/components/stream/StreamOrdinalFrame.d.ts +2 -1
  130. package/dist/components/stream/StreamXYFrame.d.ts +19 -1
  131. package/dist/components/stream/XYBrushOverlay.d.ts +1 -21
  132. package/dist/components/stream/devDataAccessWarning.d.ts +2 -11
  133. package/dist/components/stream/geoTypes.d.ts +32 -18
  134. package/dist/components/stream/hoverUtils.d.ts +14 -1
  135. package/dist/components/stream/layouts/hierarchySceneBuilders.d.ts +4 -3
  136. package/dist/components/stream/layouts/hierarchyUtils.d.ts +4 -3
  137. package/dist/components/stream/networkTypes.d.ts +51 -28
  138. package/dist/components/stream/ordinalSceneBuilders/barFunnelScene.d.ts +1 -1
  139. package/dist/components/stream/ordinalSceneBuilders/barScene.d.ts +2 -2
  140. package/dist/components/stream/ordinalSceneBuilders/connectorScene.d.ts +1 -1
  141. package/dist/components/stream/ordinalSceneBuilders/pointScene.d.ts +2 -2
  142. package/dist/components/stream/ordinalSceneBuilders/statisticalScene.d.ts +4 -4
  143. package/dist/components/stream/ordinalSceneBuilders/swimlaneScene.d.ts +1 -1
  144. package/dist/components/stream/ordinalSceneBuilders/timelineScene.d.ts +1 -1
  145. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +9 -8
  146. package/dist/components/stream/ordinalTypes.d.ts +102 -29
  147. package/dist/components/stream/pipelineDecay.d.ts +2 -1
  148. package/dist/components/stream/pipelinePulse.d.ts +2 -1
  149. package/dist/components/stream/pipelineTransitionUtils.d.ts +21 -0
  150. package/dist/components/stream/pipelineTransitions.d.ts +16 -4
  151. package/dist/components/stream/quadtreeHitTest.d.ts +22 -0
  152. package/dist/components/stream/renderers/colorUtils.d.ts +20 -0
  153. package/dist/components/stream/renderers/resolveCSSColor.d.ts +23 -6
  154. package/dist/components/stream/types.d.ts +63 -8
  155. package/dist/components/stream/useFrame.d.ts +122 -0
  156. package/dist/components/stream/xySceneBuilders/areaScene.d.ts +3 -2
  157. package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -1
  158. package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +2 -1
  159. package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -1
  160. package/dist/components/stream/xySceneBuilders/emitPointNodes.d.ts +3 -2
  161. package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -1
  162. package/dist/components/stream/xySceneBuilders/lineScene.d.ts +2 -1
  163. package/dist/components/stream/xySceneBuilders/mixedScene.d.ts +2 -1
  164. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -1
  165. package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -1
  166. package/dist/components/stream/xySceneBuilders/types.d.ts +35 -26
  167. package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -1
  168. package/dist/components/types/marginType.d.ts +15 -0
  169. package/dist/geo.min.js +1 -1
  170. package/dist/geo.module.min.js +1 -1
  171. package/dist/network.min.js +1 -1
  172. package/dist/network.module.min.js +1 -1
  173. package/dist/ordinal.min.js +1 -1
  174. package/dist/ordinal.module.min.js +1 -1
  175. package/dist/realtime.min.js +1 -1
  176. package/dist/realtime.module.min.js +1 -1
  177. package/dist/semiotic-ai.min.js +1 -1
  178. package/dist/semiotic-ai.module.min.js +1 -1
  179. package/dist/semiotic-geo.d.ts +4 -0
  180. package/dist/semiotic-network.d.ts +7 -0
  181. package/dist/semiotic-ordinal.d.ts +8 -0
  182. package/dist/semiotic-statisticalOverlays-Ckd_jM8z.js +1 -0
  183. package/dist/semiotic-themes.d.ts +2 -1
  184. package/dist/semiotic-themes.min.js +1 -1
  185. package/dist/semiotic-themes.module.min.js +1 -1
  186. package/dist/semiotic-utils.min.js +1 -1
  187. package/dist/semiotic-utils.module.min.js +1 -1
  188. package/dist/semiotic-xy.d.ts +11 -0
  189. package/dist/semiotic.d.ts +3 -3
  190. package/dist/semiotic.min.js +1 -1
  191. package/dist/semiotic.module.min.js +1 -1
  192. package/dist/server.min.js +1 -1
  193. package/dist/server.module.min.js +1 -1
  194. package/dist/test-utils/canvasMock.d.ts +35 -1
  195. package/dist/test-utils/ordinalFixtures.d.ts +48 -0
  196. package/dist/xy.min.js +1 -1
  197. package/dist/xy.module.min.js +1 -1
  198. package/package.json +50 -42
  199. package/dist/components/types/annotationTypes.d.ts +0 -145
  200. package/dist/components/types/generalTypes.d.ts +0 -241
  201. package/dist/components/types/interactionTypes.d.ts +0 -72
  202. package/dist/components/types/networkTypes.d.ts +0 -174
  203. package/dist/components/types/ordinalTypes.d.ts +0 -112
  204. package/dist/semiotic-statisticalOverlays-DGX_WWc5.js +0 -1
@@ -1,10 +1,11 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamGeoFrameProps, ProjectionProp } from "../../stream/geoTypes";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
5
6
  import type { LegendPosition } from "../shared/hooks";
6
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
7
- export interface DistanceCartogramProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface DistanceCartogramProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  /** Point data with geographic coordinates */
9
10
  points?: TDatum[];
10
11
  /** Route/edge data with source/target fields */
@@ -23,7 +24,7 @@ export interface DistanceCartogramProps<TDatum extends Record<string, any> = Rec
23
24
  /** ID of the center point */
24
25
  center: string;
25
26
  /** Cost/distance accessor — numeric field or function */
26
- costAccessor: string | ((d: any) => number);
27
+ costAccessor: string | ((d: Datum) => number);
27
28
  /** Interpolation between geographic (0) and cartogram (1) @default 1 */
28
29
  strength?: number;
29
30
  /** Line rendering mode @default "straight" */
@@ -80,11 +81,11 @@ export interface DistanceCartogramProps<TDatum extends Record<string, any> = Rec
80
81
  /** Label for cost units shown on rings (e.g. "hrs", "km") */
81
82
  costLabel?: string;
82
83
  /** Annotations */
83
- annotations?: Record<string, any>[];
84
+ annotations?: Datum[];
84
85
  /** Passthrough */
85
86
  frameProps?: Partial<Omit<StreamGeoFrameProps, "projection">>;
86
87
  }
87
88
  export declare const DistanceCartogram: {
88
- <TDatum extends Record<string, any> = Record<string, any>>(props: DistanceCartogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
89
+ <TDatum extends Datum = Datum>(props: DistanceCartogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
89
90
  displayName?: string;
90
91
  };
@@ -1,11 +1,11 @@
1
- import * as React from "react";
1
+ import type { Datum } from "../shared/datumTypes";
2
2
  import type { StreamGeoFrameProps, ProjectionProp } from "../../stream/geoTypes";
3
3
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
5
5
  import type { Style } from "../../stream/types";
6
6
  import type { GeoParticleStyle } from "../../stream/GeoParticlePool";
7
7
  import { type AreasProp } from "../../geo/useReferenceAreas";
8
- export interface FlowMapProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface FlowMapProps<TDatum extends Datum = Datum> extends BaseChartProps {
9
9
  /** Flow edges with source/target/value */
10
10
  flows?: {
11
11
  source: string;
@@ -73,11 +73,11 @@ export interface FlowMapProps<TDatum extends Record<string, any> = Record<string
73
73
  /** Max cached tiles @default 256 */
74
74
  tileCacheSize?: number;
75
75
  /** Annotations */
76
- annotations?: Record<string, any>[];
76
+ annotations?: Datum[];
77
77
  /** Passthrough */
78
78
  frameProps?: Partial<Omit<StreamGeoFrameProps, "projection">>;
79
79
  }
80
- export declare function FlowMap<TDatum extends Record<string, any> = Record<string, any>>(props: FlowMapProps<TDatum>): React.JSX.Element;
80
+ export declare function FlowMap<TDatum extends Datum = Datum>(props: FlowMapProps<TDatum>): import("react/jsx-runtime").JSX.Element;
81
81
  export declare namespace FlowMap {
82
82
  var displayName: string;
83
83
  }
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamGeoFrameProps, ProjectionProp } from "../../stream/geoTypes";
3
4
  import type { RealtimeFrameHandle } from "../../realtime/types";
@@ -6,7 +7,7 @@ import { type TooltipProp } from "../../Tooltip/Tooltip";
6
7
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
7
8
  import type { Style } from "../../stream/types";
8
9
  import { type AreasProp } from "../../geo/useReferenceAreas";
9
- export interface ProportionalSymbolMapProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
10
+ export interface ProportionalSymbolMapProps<TDatum extends Datum = Datum> extends BaseChartProps {
10
11
  /** Point data with geographic coordinates */
11
12
  points?: TDatum[];
12
13
  /** Longitude accessor @default "lon" */
@@ -57,11 +58,11 @@ export interface ProportionalSymbolMapProps<TDatum extends Record<string, any> =
57
58
  /** Max cached tiles @default 256 */
58
59
  tileCacheSize?: number;
59
60
  /** Annotations */
60
- annotations?: Record<string, any>[];
61
+ annotations?: Datum[];
61
62
  /** Passthrough */
62
63
  frameProps?: Partial<Omit<StreamGeoFrameProps, "points" | "projection">>;
63
64
  }
64
65
  export declare const ProportionalSymbolMap: {
65
- <TDatum extends Record<string, any> = Record<string, any>>(props: ProportionalSymbolMapProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
66
+ <TDatum extends Datum = Datum>(props: ProportionalSymbolMapProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
66
67
  displayName?: string;
67
68
  };
@@ -28,12 +28,14 @@ export { QuadrantChart } from "./xy/QuadrantChart";
28
28
  export type { QuadrantChartProps, QuadrantsConfig, QuadrantConfig, CenterlineStyle } from "./xy/QuadrantChart";
29
29
  export { MultiAxisLineChart } from "./xy/MultiAxisLineChart";
30
30
  export type { MultiAxisLineChartProps, MultiAxisSeriesConfig } from "./xy/MultiAxisLineChart";
31
+ export { CandlestickChart } from "./xy/CandlestickChart";
32
+ export type { CandlestickChartProps } from "./xy/CandlestickChart";
31
33
  export { BarChart } from "./ordinal/BarChart";
32
34
  export type { BarChartProps } from "./ordinal/BarChart";
33
35
  export { StackedBarChart } from "./ordinal/StackedBarChart";
34
36
  export type { StackedBarChartProps } from "./ordinal/StackedBarChart";
35
37
  export { LikertChart } from "./ordinal/LikertChart";
36
- export type { LikertChartProps } from "./ordinal/LikertChart";
38
+ export type { LikertChartProps, LikertChartHandle } from "./ordinal/LikertChart";
37
39
  export { SwarmPlot } from "./ordinal/SwarmPlot";
38
40
  export type { SwarmPlotProps } from "./ordinal/SwarmPlot";
39
41
  export { BoxPlot } from "./ordinal/BoxPlot";
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
4
  import type { RealtimeFrameHandle } from "../../realtime/types";
@@ -7,7 +8,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
7
8
  /**
8
9
  * ChordDiagram component props
9
10
  */
10
- export interface ChordDiagramProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
11
+ export interface ChordDiagramProps<TNode extends Datum = Datum, TEdge extends Datum = Datum> extends BaseChartProps {
11
12
  nodes?: TNode[];
12
13
  edges?: TEdge[];
13
14
  sourceAccessor?: ChartAccessor<TEdge, string>;
@@ -16,7 +17,7 @@ export interface ChordDiagramProps<TNode extends Record<string, any> = Record<st
16
17
  nodeIdAccessor?: ChartAccessor<TNode, string>;
17
18
  colorBy?: ChartAccessor<TNode, string>;
18
19
  colorScheme?: string | string[];
19
- edgeColorBy?: "source" | "target" | ((d: any) => string);
20
+ edgeColorBy?: "source" | "target" | ((d: Datum) => string);
20
21
  padAngle?: number;
21
22
  groupWidth?: number;
22
23
  sortGroups?: (a: any, b: any) => number;
@@ -34,6 +35,6 @@ export interface ChordDiagramProps<TNode extends Record<string, any> = Record<st
34
35
  * Wraps StreamNetworkFrame (canvas-first) for chord relationship visualization.
35
36
  */
36
37
  export declare const ChordDiagram: {
37
- <TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: ChordDiagramProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
38
+ <TNode extends Datum = Datum, TEdge extends Datum = Datum>(props: ChordDiagramProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
38
39
  displayName?: string;
39
40
  };
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import type { Datum } from "../shared/datumTypes";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
3
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
@@ -6,7 +6,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
6
6
  /**
7
7
  * CirclePack component props
8
8
  */
9
- export interface CirclePackProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ export interface CirclePackProps<TNode extends Datum = Datum> extends BaseChartProps {
10
10
  data: TNode;
11
11
  childrenAccessor?: ChartAccessor<TNode, TNode[]>;
12
12
  valueAccessor?: ChartAccessor<TNode, number>;
@@ -28,7 +28,7 @@ export interface CirclePackProps<TNode extends Record<string, any> = Record<stri
28
28
  *
29
29
  * Wraps StreamNetworkFrame (canvas-first) for circle-pack visualization.
30
30
  */
31
- export declare function CirclePack<TNode extends Record<string, any> = Record<string, any>>(props: CirclePackProps<TNode>): React.JSX.Element;
31
+ export declare function CirclePack<TNode extends Datum = Datum>(props: CirclePackProps<TNode>): import("react/jsx-runtime").JSX.Element;
32
32
  export declare namespace CirclePack {
33
33
  var displayName: string;
34
34
  }
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
4
  import type { RealtimeFrameHandle } from "../../realtime/types";
@@ -7,7 +8,7 @@ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
7
8
  /**
8
9
  * ForceDirectedGraph component props
9
10
  */
10
- export interface ForceDirectedGraphProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
11
+ export interface ForceDirectedGraphProps<TNode extends Datum = Datum, TEdge extends Datum = Datum> extends BaseChartProps {
11
12
  nodes?: TNode[];
12
13
  edges?: TEdge[];
13
14
  nodeIDAccessor?: ChartAccessor<TNode, string>;
@@ -37,6 +38,6 @@ export interface ForceDirectedGraphProps<TNode extends Record<string, any> = Rec
37
38
  * Wraps StreamNetworkFrame (canvas-first) for force-directed network visualization.
38
39
  */
39
40
  export declare const ForceDirectedGraph: {
40
- <TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: ForceDirectedGraphProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
41
+ <TNode extends Datum = Datum, TEdge extends Datum = Datum>(props: ForceDirectedGraphProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
41
42
  displayName?: string;
42
43
  };
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
4
  import type { BaseChartProps } from "../shared/types";
@@ -14,15 +15,15 @@ export interface OrbitNode {
14
15
  id?: string;
15
16
  }
16
17
  type OrbitMode = "flat" | "solar" | "atomic" | number[];
17
- export interface OrbitDiagramProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
18
+ export interface OrbitDiagramProps<TDatum extends Datum = Datum> extends BaseChartProps {
18
19
  /** Hierarchical data — single root object with children */
19
20
  data: TDatum;
20
21
  /** How to access children from each datum @default "children" */
21
22
  childrenAccessor?: string | ((d: TDatum) => TDatum[] | null | undefined);
22
23
  /** How to identify each node @default "name" */
23
- nodeIdAccessor?: string | ((d: any) => string);
24
+ nodeIdAccessor?: string | ((d: Datum) => string);
24
25
  /** Field or function for node color */
25
- colorBy?: string | ((d: any) => string);
26
+ colorBy?: string | ((d: Datum) => string);
26
27
  /** Color scheme @default "category10" */
27
28
  colorScheme?: string | string[];
28
29
  /** Color by hierarchy depth instead of field @default false */
@@ -66,13 +67,13 @@ export interface OrbitDiagramProps<TDatum extends Record<string, any> = Record<s
66
67
  /** Enable hover @default true */
67
68
  enableHover?: boolean;
68
69
  /** Annotation objects */
69
- annotations?: Array<Record<string, any>>;
70
+ annotations?: Array<Datum>;
70
71
  /** Additional SVG content */
71
72
  foregroundGraphics?: React.ReactNode;
72
73
  /** Frame props passthrough */
73
74
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "data" | "size">>;
74
75
  }
75
- export declare function OrbitDiagram<TDatum extends Record<string, any> = Record<string, any>>(props: OrbitDiagramProps<TDatum>): React.JSX.Element;
76
+ export declare function OrbitDiagram<TDatum extends Datum = Datum>(props: OrbitDiagramProps<TDatum>): import("react/jsx-runtime").JSX.Element;
76
77
  export declare namespace OrbitDiagram {
77
78
  var displayName: string;
78
79
  }
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
4
  import type { RealtimeFrameHandle } from "../../realtime/types";
@@ -7,7 +8,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
7
8
  /**
8
9
  * SankeyDiagram component props
9
10
  */
10
- export interface SankeyDiagramProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
11
+ export interface SankeyDiagramProps<TNode extends Datum = Datum, TEdge extends Datum = Datum> extends BaseChartProps {
11
12
  nodes?: TNode[];
12
13
  edges?: TEdge[];
13
14
  sourceAccessor?: ChartAccessor<TEdge, string>;
@@ -16,7 +17,7 @@ export interface SankeyDiagramProps<TNode extends Record<string, any> = Record<s
16
17
  nodeIdAccessor?: ChartAccessor<TNode, string>;
17
18
  colorBy?: ChartAccessor<TNode, string>;
18
19
  colorScheme?: string | string[];
19
- edgeColorBy?: "source" | "target" | "gradient" | ((d: any) => string);
20
+ edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
20
21
  orientation?: "horizontal" | "vertical";
21
22
  nodeAlign?: "justify" | "left" | "right" | "center";
22
23
  nodePaddingRatio?: number;
@@ -36,6 +37,6 @@ export interface SankeyDiagramProps<TNode extends Record<string, any> = Record<s
36
37
  * Wraps StreamNetworkFrame (canvas-first) for Sankey flow visualization.
37
38
  */
38
39
  export declare const SankeyDiagram: {
39
- <TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: SankeyDiagramProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
40
+ <TNode extends Datum = Datum, TEdge extends Datum = Datum>(props: SankeyDiagramProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
40
41
  displayName?: string;
41
42
  };
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import type { Datum } from "../shared/datumTypes";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
3
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
@@ -6,7 +6,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
6
6
  /**
7
7
  * TreeDiagram component props
8
8
  */
9
- export interface TreeDiagramProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ export interface TreeDiagramProps<TNode extends Datum = Datum> extends BaseChartProps {
10
10
  data: TNode;
11
11
  layout?: "tree" | "cluster" | "partition" | "treemap" | "circlepack";
12
12
  orientation?: "vertical" | "horizontal" | "radial";
@@ -30,7 +30,7 @@ export interface TreeDiagramProps<TNode extends Record<string, any> = Record<str
30
30
  *
31
31
  * Wraps StreamNetworkFrame (canvas-first) for hierarchical tree visualization.
32
32
  */
33
- export declare function TreeDiagram<TNode extends Record<string, any> = Record<string, any>>(props: TreeDiagramProps<TNode>): React.JSX.Element;
33
+ export declare function TreeDiagram<TNode extends Datum = Datum>(props: TreeDiagramProps<TNode>): import("react/jsx-runtime").JSX.Element;
34
34
  export declare namespace TreeDiagram {
35
35
  var displayName: string;
36
36
  }
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import type { Datum } from "../shared/datumTypes";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
3
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
@@ -6,7 +6,7 @@ import type { LegendInteractionMode } from "../shared/hooks";
6
6
  /**
7
7
  * Treemap component props
8
8
  */
9
- export interface TreemapProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ export interface TreemapProps<TNode extends Datum = Datum> extends BaseChartProps {
10
10
  data: TNode;
11
11
  childrenAccessor?: ChartAccessor<TNode, TNode[]>;
12
12
  valueAccessor?: ChartAccessor<TNode, number>;
@@ -29,7 +29,7 @@ export interface TreemapProps<TNode extends Record<string, any> = Record<string,
29
29
  *
30
30
  * Wraps StreamNetworkFrame (canvas-first) for treemap visualization.
31
31
  */
32
- export declare function Treemap<TNode extends Record<string, any> = Record<string, any>>(props: TreemapProps<TNode>): React.JSX.Element;
32
+ export declare function Treemap<TNode extends Datum = Datum>(props: TreemapProps<TNode>): import("react/jsx-runtime").JSX.Element;
33
33
  export declare namespace Treemap {
34
34
  var displayName: string;
35
35
  }
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode } from "../shared/hooks";
@@ -7,7 +8,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
7
8
  /**
8
9
  * BarChart component props
9
10
  */
10
- export interface BarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
11
+ export interface BarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
11
12
  data?: TDatum[];
12
13
  categoryAccessor?: ChartAccessor<TDatum, string>;
13
14
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -17,10 +18,35 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
17
18
  valueFormat?: (d: number | string) => string;
18
19
  colorBy?: ChartAccessor<TDatum, string>;
19
20
  colorScheme?: string | string[];
20
- sort?: boolean | "asc" | "desc" | ((a: Record<string, any>, b: Record<string, any>) => number);
21
+ /** Category ordering. `false` (default) = insertion order. `"asc"` /
22
+ * `"desc"` sorts by total value. `"auto"` preserves insertion order
23
+ * while streaming and falls through to value-desc on static data.
24
+ * `true` = value-desc regardless of source. Custom comparator functions
25
+ * receive category name strings (not row objects) and run against
26
+ * the category list on the axis. */
27
+ sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
21
28
  barPadding?: number;
22
29
  /** Rounded top corner radius in pixels. Only the end away from the baseline is rounded. */
23
30
  roundedTop?: number;
31
+ /**
32
+ * Gradient fill from the bar's tip (opposite the baseline) toward its base.
33
+ * - `true` — default opacity fade (80% → 5% of the resolved fill color).
34
+ * - `{ topOpacity, bottomOpacity }` — explicit opacity stops on the resolved fill.
35
+ * - `{ colorStops: [{offset, color}, ...] }` — arbitrary multi-color gradient.
36
+ *
37
+ * Direction follows the bar's orientation (vertical/horizontal) and sign
38
+ * (positive/negative bars). Same API as `AreaChart.gradientFill`.
39
+ * @default false
40
+ */
41
+ gradientFill?: boolean | {
42
+ topOpacity: number;
43
+ bottomOpacity: number;
44
+ } | {
45
+ colorStops: Array<{
46
+ offset: number;
47
+ color: string;
48
+ }>;
49
+ };
24
50
  /** When true, adds padding below the 0 baseline. Default false (bars flush with axis). */
25
51
  baselinePadding?: boolean;
26
52
  enableHover?: boolean;
@@ -30,7 +56,7 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
30
56
  legendInteraction?: LegendInteractionMode;
31
57
  legendPosition?: "right" | "left" | "top" | "bottom";
32
58
  tooltip?: TooltipProp;
33
- annotations?: Record<string, any>[];
59
+ annotations?: Datum[];
34
60
  /** Custom formatter for category tick labels */
35
61
  categoryFormat?: CategoryFormatFn;
36
62
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
@@ -39,6 +65,6 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
39
65
  * BarChart - Visualize categorical data with bars.
40
66
  */
41
67
  export declare const BarChart: {
42
- <TDatum extends Record<string, any> = Record<string, any>>(props: BarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
68
+ <TDatum extends Datum = Datum>(props: BarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
43
69
  displayName?: string;
44
70
  };
@@ -1,10 +1,11 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
4
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
5
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
7
- export interface BoxPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface BoxPlotProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -24,12 +25,12 @@ export interface BoxPlotProps<TDatum extends Record<string, any> = Record<string
24
25
  legendInteraction?: LegendInteractionMode;
25
26
  legendPosition?: LegendPosition;
26
27
  tooltip?: TooltipProp;
27
- annotations?: Record<string, any>[];
28
+ annotations?: Datum[];
28
29
  /** Custom formatter for category tick labels */
29
30
  categoryFormat?: CategoryFormatFn;
30
31
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
31
32
  }
32
33
  export declare const BoxPlot: {
33
- <TDatum extends Record<string, any> = Record<string, any>>(props: BoxPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
34
+ <TDatum extends Datum = Datum>(props: BoxPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
34
35
  displayName?: string;
35
36
  };
@@ -1,10 +1,11 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
4
5
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
5
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
7
- export interface DonutChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface DonutChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -21,10 +22,10 @@ export interface DonutChartProps<TDatum extends Record<string, any> = Record<str
21
22
  legendInteraction?: LegendInteractionMode;
22
23
  legendPosition?: LegendPosition;
23
24
  tooltip?: TooltipProp;
24
- annotations?: Record<string, any>[];
25
+ annotations?: Datum[];
25
26
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
26
27
  }
27
28
  export declare const DonutChart: {
28
- <TDatum extends Record<string, any> = Record<string, any>>(props: DonutChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
29
+ <TDatum extends Datum = Datum>(props: DonutChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
29
30
  displayName?: string;
30
31
  };
@@ -1,10 +1,11 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
4
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
5
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
7
- export interface DotPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface DotPlotProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -14,7 +15,15 @@ export interface DotPlotProps<TDatum extends Record<string, any> = Record<string
14
15
  valueFormat?: (d: number | string) => string;
15
16
  colorBy?: ChartAccessor<TDatum, string>;
16
17
  colorScheme?: string | string[];
17
- sort?: boolean | "asc" | "desc" | ((a: Record<string, any>, b: Record<string, any>) => number);
18
+ /** Category ordering. Default (`undefined`) resolves to `"auto"`, which
19
+ * preserves insertion order while streaming and falls through to
20
+ * value-desc on static data — the recommended choice when using the
21
+ * push API so categories don't jump around as values fluctuate.
22
+ * `true` forces value-desc regardless of source. `"asc"` / `"desc"`
23
+ * sorts by total value. `false` for insertion order regardless of
24
+ * source. Function comparators receive category name strings (not
25
+ * row objects) and run against the category list on the axis. */
26
+ sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
18
27
  dotRadius?: number;
19
28
  categoryPadding?: number;
20
29
  enableHover?: boolean;
@@ -24,12 +33,12 @@ export interface DotPlotProps<TDatum extends Record<string, any> = Record<string
24
33
  legendInteraction?: LegendInteractionMode;
25
34
  legendPosition?: LegendPosition;
26
35
  tooltip?: TooltipProp;
27
- annotations?: Record<string, any>[];
36
+ annotations?: Datum[];
28
37
  /** Custom formatter for category tick labels */
29
38
  categoryFormat?: CategoryFormatFn;
30
39
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
31
40
  }
32
41
  export declare const DotPlot: {
33
- <TDatum extends Record<string, any> = Record<string, any>>(props: DotPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
42
+ <TDatum extends Datum = Datum>(props: DotPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
34
43
  displayName?: string;
35
44
  };
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode } from "../shared/hooks";
@@ -7,7 +8,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
7
8
  /**
8
9
  * FunnelChart component props
9
10
  */
10
- export interface FunnelChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
11
+ export interface FunnelChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
11
12
  data?: TDatum[];
12
13
  /** Accessor for funnel step names (e.g., "Awareness", "Interest", "Purchase") */
13
14
  stepAccessor?: ChartAccessor<TDatum, string>;
@@ -36,7 +37,7 @@ export interface FunnelChartProps<TDatum extends Record<string, any> = Record<st
36
37
  legendInteraction?: LegendInteractionMode;
37
38
  legendPosition?: "right" | "left" | "top" | "bottom";
38
39
  tooltip?: TooltipProp;
39
- annotations?: Record<string, any>[];
40
+ annotations?: Datum[];
40
41
  /** Custom formatter for category tick labels */
41
42
  categoryFormat?: CategoryFormatFn;
42
43
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
@@ -52,6 +53,6 @@ export interface FunnelChartProps<TDatum extends Record<string, any> = Record<st
52
53
  * previous step (hatched). Multi-category renders grouped bars.
53
54
  */
54
55
  export declare const FunnelChart: {
55
- <TDatum extends Record<string, any> = Record<string, any>>(props: FunnelChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
56
+ <TDatum extends Datum = Datum>(props: FunnelChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
56
57
  displayName?: string;
57
58
  };
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { BaseChartProps } from "../shared/types";
@@ -43,7 +44,7 @@ export interface GaugeChartProps extends BaseChartProps {
43
44
  /** Enable tooltip on arc segments */
44
45
  tooltip?: TooltipProp;
45
46
  /** Annotations — supports threshold markers via standard annotation system */
46
- annotations?: Record<string, any>[];
47
+ annotations?: Datum[];
47
48
  /** Enable hover interaction (default true) */
48
49
  enableHover?: boolean;
49
50
  /** frameProps escape hatch */
@@ -1,10 +1,11 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode } from "../shared/hooks";
4
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
5
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
7
- export interface GroupedBarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface GroupedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  groupBy: ChartAccessor<TDatum, string>;
@@ -15,8 +16,8 @@ export interface GroupedBarChartProps<TDatum extends Record<string, any> = Recor
15
16
  valueFormat?: (d: number | string) => string;
16
17
  colorBy?: ChartAccessor<TDatum, string>;
17
18
  colorScheme?: string | string[];
18
- /** Category sort order. Default: false (data insertion order). "asc"/"desc" sorts by total grouped value. Custom comparators receive category keys. */
19
- sort?: boolean | "asc" | "desc" | ((a: string, b: string) => number);
19
+ /** Category sort order. Default: `false` (data insertion order). `"asc"`/`"desc"` sorts by total grouped value. `"auto"` preserves insertion order while streaming and falls through to value-desc on static data. Custom comparators receive category keys. */
20
+ sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
20
21
  barPadding?: number;
21
22
  /** Rounded corner radius on bar ends (away from baseline). */
22
23
  roundedTop?: number;
@@ -28,12 +29,12 @@ export interface GroupedBarChartProps<TDatum extends Record<string, any> = Recor
28
29
  legendInteraction?: LegendInteractionMode;
29
30
  legendPosition?: "right" | "left" | "top" | "bottom";
30
31
  tooltip?: TooltipProp;
31
- annotations?: Record<string, any>[];
32
+ annotations?: Datum[];
32
33
  /** Custom formatter for category tick labels */
33
34
  categoryFormat?: CategoryFormatFn;
34
35
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
35
36
  }
36
37
  export declare const GroupedBarChart: {
37
- <TDatum extends Record<string, any> = Record<string, any>>(props: GroupedBarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
38
+ <TDatum extends Datum = Datum>(props: GroupedBarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
38
39
  displayName?: string;
39
40
  };
@@ -1,10 +1,11 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
4
5
  import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
5
6
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
7
  import type { RealtimeFrameHandle } from "../../realtime/types";
7
- export interface HistogramProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface HistogramProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -23,7 +24,7 @@ export interface HistogramProps<TDatum extends Record<string, any> = Record<stri
23
24
  legendInteraction?: LegendInteractionMode;
24
25
  legendPosition?: LegendPosition;
25
26
  tooltip?: TooltipProp;
26
- annotations?: Record<string, any>[];
27
+ annotations?: Datum[];
27
28
  /** Enable brush on the value axis */
28
29
  brush?: boolean;
29
30
  /** Callback when brush selection changes */
@@ -40,6 +41,6 @@ export interface HistogramProps<TDatum extends Record<string, any> = Record<stri
40
41
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
41
42
  }
42
43
  export declare const Histogram: {
43
- <TDatum extends Record<string, any> = Record<string, any>>(props: HistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
44
+ <TDatum extends Datum = Datum>(props: HistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
44
45
  displayName?: string;
45
46
  };