semiotic 3.4.0 → 3.4.2

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 (189) hide show
  1. package/CLAUDE.md +16 -3
  2. package/ai/schema.json +42 -1
  3. package/ai/system-prompt.md +4 -0
  4. package/dist/components/Annotation.d.ts +42 -2
  5. package/dist/components/CategoryColors.d.ts +1 -1
  6. package/dist/components/ChartGrid.d.ts +1 -1
  7. package/dist/components/ContextLayout.d.ts +1 -1
  8. package/dist/components/DataSummaryContext.d.ts +1 -1
  9. package/dist/components/DetailsPanel.d.ts +3 -2
  10. package/dist/components/Legend.d.ts +2 -3
  11. package/dist/components/LinkedCharts.d.ts +1 -1
  12. package/dist/components/ThemeProvider.d.ts +1 -1
  13. package/dist/components/Tooltip/FlippingTooltip.d.ts +1 -1
  14. package/dist/components/Tooltip/Tooltip.d.ts +4 -3
  15. package/dist/components/charts/geo/ChoroplethMap.d.ts +4 -4
  16. package/dist/components/charts/geo/DistanceCartogram.d.ts +5 -4
  17. package/dist/components/charts/geo/FlowMap.d.ts +4 -4
  18. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +4 -3
  19. package/dist/components/charts/index.d.ts +2 -0
  20. package/dist/components/charts/network/ChordDiagram.d.ts +4 -3
  21. package/dist/components/charts/network/CirclePack.d.ts +3 -3
  22. package/dist/components/charts/network/ForceDirectedGraph.d.ts +3 -2
  23. package/dist/components/charts/network/OrbitDiagram.d.ts +6 -5
  24. package/dist/components/charts/network/SankeyDiagram.d.ts +4 -3
  25. package/dist/components/charts/network/TreeDiagram.d.ts +3 -3
  26. package/dist/components/charts/network/Treemap.d.ts +3 -3
  27. package/dist/components/charts/ordinal/BarChart.d.ts +24 -4
  28. package/dist/components/charts/ordinal/BoxPlot.d.ts +4 -3
  29. package/dist/components/charts/ordinal/DonutChart.d.ts +4 -3
  30. package/dist/components/charts/ordinal/DotPlot.d.ts +4 -3
  31. package/dist/components/charts/ordinal/FunnelChart.d.ts +4 -3
  32. package/dist/components/charts/ordinal/GaugeChart.d.ts +2 -1
  33. package/dist/components/charts/ordinal/GroupedBarChart.d.ts +4 -3
  34. package/dist/components/charts/ordinal/Histogram.d.ts +4 -3
  35. package/dist/components/charts/ordinal/LikertChart.d.ts +4 -3
  36. package/dist/components/charts/ordinal/PieChart.d.ts +4 -3
  37. package/dist/components/charts/ordinal/RidgelinePlot.d.ts +4 -3
  38. package/dist/components/charts/ordinal/StackedBarChart.d.ts +4 -3
  39. package/dist/components/charts/ordinal/SwarmPlot.d.ts +4 -3
  40. package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -3
  41. package/dist/components/charts/ordinal/ViolinPlot.d.ts +4 -3
  42. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +7 -6
  43. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +10 -7
  44. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -6
  45. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +7 -6
  46. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -6
  47. package/dist/components/charts/shared/ChartError.d.ts +1 -2
  48. package/dist/components/charts/shared/annotationResolvers.d.ts +4 -3
  49. package/dist/components/charts/shared/annotationRules.d.ts +2 -1
  50. package/dist/components/charts/shared/colorUtils.d.ts +4 -3
  51. package/dist/components/charts/shared/datumTypes.d.ts +20 -0
  52. package/dist/components/charts/shared/diagnoseConfig.d.ts +2 -7
  53. package/dist/components/charts/shared/formatUtils.d.ts +4 -2
  54. package/dist/components/charts/shared/hooks.d.ts +27 -23
  55. package/dist/components/charts/shared/legendUtils.d.ts +3 -2
  56. package/dist/components/charts/shared/mergeShapeStyle.d.ts +43 -0
  57. package/dist/components/charts/shared/networkUtils.d.ts +7 -6
  58. package/dist/components/charts/shared/selectionUtils.d.ts +5 -4
  59. package/dist/components/charts/shared/statisticalOverlays.d.ts +14 -26
  60. package/dist/components/charts/shared/statisticalOverlaysLazy.d.ts +2 -2
  61. package/dist/components/charts/shared/statsTooltip.d.ts +3 -2
  62. package/dist/components/charts/shared/tooltipUtils.d.ts +7 -6
  63. package/dist/components/charts/shared/types.d.ts +22 -13
  64. package/dist/components/charts/shared/useChartSetup.d.ts +7 -6
  65. package/dist/components/charts/shared/useLikertAggregation.d.ts +18 -7
  66. package/dist/components/charts/shared/useOrdinalStreaming.d.ts +3 -2
  67. package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -1
  68. package/dist/components/charts/shared/validateChartData.d.ts +2 -1
  69. package/dist/components/charts/shared/validateProps.d.ts +2 -8
  70. package/dist/components/charts/shared/withChartWrapper.d.ts +1 -1
  71. package/dist/components/charts/xy/AreaChart.d.ts +4 -3
  72. package/dist/components/charts/xy/BubbleChart.d.ts +4 -3
  73. package/dist/components/charts/xy/CandlestickChart.d.ts +47 -0
  74. package/dist/components/charts/xy/ConnectedScatterplot.d.ts +4 -3
  75. package/dist/components/charts/xy/Heatmap.d.ts +12 -7
  76. package/dist/components/charts/xy/LineChart.d.ts +4 -3
  77. package/dist/components/charts/xy/MinimapChart.d.ts +4 -4
  78. package/dist/components/charts/xy/MultiAxisLineChart.d.ts +5 -4
  79. package/dist/components/charts/xy/QuadrantChart.d.ts +4 -3
  80. package/dist/components/charts/xy/Scatterplot.d.ts +4 -3
  81. package/dist/components/charts/xy/ScatterplotMatrix.d.ts +3 -3
  82. package/dist/components/charts/xy/StackedAreaChart.d.ts +4 -3
  83. package/dist/components/data/transforms.d.ts +8 -7
  84. package/dist/components/export/chartConfig.d.ts +4 -3
  85. package/dist/components/export/selectionSerializer.d.ts +1 -1
  86. package/dist/components/geo/mergeData.d.ts +2 -1
  87. package/dist/components/realtime/BinAccumulator.d.ts +3 -2
  88. package/dist/components/realtime/renderers/types.d.ts +2 -1
  89. package/dist/components/realtime/renderers/waterfallRenderer.d.ts +2 -1
  90. package/dist/components/realtime/types.d.ts +25 -21
  91. package/dist/components/semiotic-themes.d.ts +2 -1
  92. package/dist/components/semiotic-xy.d.ts +2 -0
  93. package/dist/components/semiotic.d.ts +3 -3
  94. package/dist/components/server/animatedGif.d.ts +4 -18
  95. package/dist/components/server/renderToStaticSVG.d.ts +5 -4
  96. package/dist/components/server/serverChartConfigs.d.ts +2 -10
  97. package/dist/components/server/staticAnnotations.d.ts +2 -1
  98. package/dist/components/server/staticLegend.d.ts +2 -1
  99. package/dist/components/store/ObservationStore.d.ts +4 -3
  100. package/dist/components/store/SelectionStore.d.ts +4 -9
  101. package/dist/components/store/ThemeStore.d.ts +32 -4
  102. package/dist/components/store/TooltipStore.d.ts +6 -2
  103. package/dist/components/store/useSelection.d.ts +13 -9
  104. package/dist/components/stream/AccessibleDataTable.d.ts +5 -5
  105. package/dist/components/stream/CanvasHitTester.d.ts +2 -1
  106. package/dist/components/stream/DataSourceAdapter.d.ts +2 -1
  107. package/dist/components/stream/FocusRing.d.ts +1 -2
  108. package/dist/components/stream/GeoParticlePool.d.ts +2 -1
  109. package/dist/components/stream/GeoPipelineStore.d.ts +7 -6
  110. package/dist/components/stream/MarginalGraphics.d.ts +1 -2
  111. package/dist/components/stream/NetworkPipelineStore.d.ts +3 -2
  112. package/dist/components/stream/NetworkSVGOverlay.d.ts +21 -15
  113. package/dist/components/stream/OrdinalBrushOverlay.d.ts +1 -19
  114. package/dist/components/stream/OrdinalPipelineStore.d.ts +6 -5
  115. package/dist/components/stream/OrdinalSVGOverlay.d.ts +6 -5
  116. package/dist/components/stream/PipelineStore.d.ts +63 -28
  117. package/dist/components/stream/SVGOverlay.d.ts +10 -10
  118. package/dist/components/stream/SceneGraph.d.ts +6 -5
  119. package/dist/components/stream/StreamGeoFrame.d.ts +2 -1
  120. package/dist/components/stream/StreamNetworkFrame.d.ts +2 -1
  121. package/dist/components/stream/StreamOrdinalFrame.d.ts +2 -1
  122. package/dist/components/stream/StreamXYFrame.d.ts +2 -1
  123. package/dist/components/stream/XYBrushOverlay.d.ts +1 -21
  124. package/dist/components/stream/devDataAccessWarning.d.ts +2 -11
  125. package/dist/components/stream/geoTypes.d.ts +43 -24
  126. package/dist/components/stream/hoverUtils.d.ts +2 -1
  127. package/dist/components/stream/keyboardNav.d.ts +18 -6
  128. package/dist/components/stream/layouts/hierarchySceneBuilders.d.ts +4 -3
  129. package/dist/components/stream/layouts/hierarchyUtils.d.ts +4 -3
  130. package/dist/components/stream/networkTypes.d.ts +73 -47
  131. package/dist/components/stream/ordinalSceneBuilders/barFunnelScene.d.ts +1 -1
  132. package/dist/components/stream/ordinalSceneBuilders/barScene.d.ts +2 -2
  133. package/dist/components/stream/ordinalSceneBuilders/connectorScene.d.ts +1 -1
  134. package/dist/components/stream/ordinalSceneBuilders/pointScene.d.ts +2 -2
  135. package/dist/components/stream/ordinalSceneBuilders/statisticalScene.d.ts +4 -4
  136. package/dist/components/stream/ordinalSceneBuilders/swimlaneScene.d.ts +1 -1
  137. package/dist/components/stream/ordinalSceneBuilders/timelineScene.d.ts +1 -1
  138. package/dist/components/stream/ordinalSceneBuilders/types.d.ts +9 -8
  139. package/dist/components/stream/ordinalTypes.d.ts +65 -33
  140. package/dist/components/stream/pipelineDecay.d.ts +2 -1
  141. package/dist/components/stream/pipelinePulse.d.ts +2 -1
  142. package/dist/components/stream/pipelineTransitions.d.ts +16 -4
  143. package/dist/components/stream/renderers/colorUtils.d.ts +20 -0
  144. package/dist/components/stream/types.d.ts +58 -17
  145. package/dist/components/stream/xySceneBuilders/areaScene.d.ts +3 -2
  146. package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -1
  147. package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +2 -1
  148. package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -1
  149. package/dist/components/stream/xySceneBuilders/emitPointNodes.d.ts +3 -2
  150. package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -1
  151. package/dist/components/stream/xySceneBuilders/lineScene.d.ts +2 -1
  152. package/dist/components/stream/xySceneBuilders/mixedScene.d.ts +2 -1
  153. package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -1
  154. package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -1
  155. package/dist/components/stream/xySceneBuilders/types.d.ts +35 -26
  156. package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -1
  157. package/dist/components/types/marginType.d.ts +15 -0
  158. package/dist/geo.min.js +1 -1
  159. package/dist/geo.module.min.js +1 -1
  160. package/dist/network.min.js +1 -1
  161. package/dist/network.module.min.js +1 -1
  162. package/dist/ordinal.min.js +1 -1
  163. package/dist/ordinal.module.min.js +1 -1
  164. package/dist/realtime.min.js +1 -1
  165. package/dist/realtime.module.min.js +1 -1
  166. package/dist/semiotic-ai.min.js +1 -1
  167. package/dist/semiotic-ai.module.min.js +1 -1
  168. package/dist/semiotic-statisticalOverlays-Ckd_jM8z.js +1 -0
  169. package/dist/semiotic-themes.d.ts +2 -1
  170. package/dist/semiotic-themes.min.js +1 -1
  171. package/dist/semiotic-themes.module.min.js +1 -1
  172. package/dist/semiotic-utils.min.js +1 -1
  173. package/dist/semiotic-utils.module.min.js +1 -1
  174. package/dist/semiotic-xy.d.ts +2 -0
  175. package/dist/semiotic.d.ts +3 -3
  176. package/dist/semiotic.min.js +1 -1
  177. package/dist/semiotic.module.min.js +1 -1
  178. package/dist/server.min.js +1 -1
  179. package/dist/server.module.min.js +1 -1
  180. package/dist/test-utils/canvasMock.d.ts +10 -2
  181. package/dist/xy.min.js +1 -1
  182. package/dist/xy.module.min.js +1 -1
  183. package/package.json +38 -32
  184. package/dist/components/types/annotationTypes.d.ts +0 -145
  185. package/dist/components/types/generalTypes.d.ts +0 -241
  186. package/dist/components/types/interactionTypes.d.ts +0 -72
  187. package/dist/components/types/networkTypes.d.ts +0 -174
  188. package/dist/components/types/ordinalTypes.d.ts +0 -112
  189. package/dist/semiotic-statisticalOverlays-DGX_WWc5.js +0 -1
@@ -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>;
@@ -20,13 +21,32 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
20
21
  /** Category ordering. `false` (default) = insertion order. `"asc"` /
21
22
  * `"desc"` sorts by total value. `"auto"` preserves insertion order
22
23
  * while streaming and falls through to value-desc on static data.
23
- * `true` = value-desc regardless of source. Function comparators
24
+ * `true` = value-desc regardless of source. Custom comparator functions
24
25
  * receive category name strings (not row objects) and run against
25
26
  * the category list on the axis. */
26
27
  sort?: boolean | "asc" | "desc" | "auto" | ((a: string, b: string) => number);
27
28
  barPadding?: number;
28
29
  /** Rounded top corner radius in pixels. Only the end away from the baseline is rounded. */
29
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
+ };
30
50
  /** When true, adds padding below the 0 baseline. Default false (bars flush with axis). */
31
51
  baselinePadding?: boolean;
32
52
  enableHover?: boolean;
@@ -36,7 +56,7 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
36
56
  legendInteraction?: LegendInteractionMode;
37
57
  legendPosition?: "right" | "left" | "top" | "bottom";
38
58
  tooltip?: TooltipProp;
39
- annotations?: Record<string, any>[];
59
+ annotations?: Datum[];
40
60
  /** Custom formatter for category tick labels */
41
61
  categoryFormat?: CategoryFormatFn;
42
62
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
@@ -45,6 +65,6 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
45
65
  * BarChart - Visualize categorical data with bars.
46
66
  */
47
67
  export declare const BarChart: {
48
- <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;
49
69
  displayName?: string;
50
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>;
@@ -32,12 +33,12 @@ export interface DotPlotProps<TDatum extends Record<string, any> = Record<string
32
33
  legendInteraction?: LegendInteractionMode;
33
34
  legendPosition?: LegendPosition;
34
35
  tooltip?: TooltipProp;
35
- annotations?: Record<string, any>[];
36
+ annotations?: Datum[];
36
37
  /** Custom formatter for category tick labels */
37
38
  categoryFormat?: CategoryFormatFn;
38
39
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
39
40
  }
40
41
  export declare const DotPlot: {
41
- <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;
42
43
  displayName?: string;
43
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>;
@@ -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
  };
@@ -1,3 +1,4 @@
1
+ import type { Datum } from "../shared/datumTypes";
1
2
  import * as React from "react";
2
3
  import type { StreamOrdinalFrameProps, StreamOrdinalFrameHandle } from "../../stream/ordinalTypes";
3
4
  import type { LegendInteractionMode } from "../shared/hooks";
@@ -35,7 +36,7 @@ import type { RealtimeFrameHandle } from "../../realtime/types";
35
36
  * doesn't follow this low-to-high convention, the chart will misrepresent
36
37
  * the polarity.
37
38
  */
38
- export interface LikertChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
39
+ export interface LikertChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
39
40
  data?: TDatum[];
40
41
  /** Question / item accessor — the ordinal axis. */
41
42
  categoryAccessor?: ChartAccessor<TDatum, string>;
@@ -83,7 +84,7 @@ export interface LikertChartProps<TDatum extends Record<string, any> = Record<st
83
84
  legendInteraction?: LegendInteractionMode;
84
85
  legendPosition?: "right" | "left" | "top" | "bottom";
85
86
  tooltip?: TooltipProp;
86
- annotations?: Record<string, any>[];
87
+ annotations?: Datum[];
87
88
  /** Custom formatter for category tick labels */
88
89
  categoryFormat?: CategoryFormatFn;
89
90
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
@@ -92,6 +93,6 @@ export interface LikertChartHandle extends RealtimeFrameHandle {
92
93
  getScales(): ReturnType<NonNullable<StreamOrdinalFrameHandle["getScales"]>>;
93
94
  }
94
95
  export declare const LikertChart: {
95
- <TDatum extends Record<string, any> = Record<string, any>>(props: LikertChartProps<TDatum> & React.RefAttributes<LikertChartHandle>): React.ReactElement | null;
96
+ <TDatum extends Datum = Datum>(props: LikertChartProps<TDatum> & React.RefAttributes<LikertChartHandle>): React.ReactElement | null;
96
97
  displayName?: string;
97
98
  };
@@ -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 PieChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface PieChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -19,10 +20,10 @@ export interface PieChartProps<TDatum extends Record<string, any> = Record<strin
19
20
  legendInteraction?: LegendInteractionMode;
20
21
  legendPosition?: LegendPosition;
21
22
  tooltip?: TooltipProp;
22
- annotations?: Record<string, any>[];
23
+ annotations?: Datum[];
23
24
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
24
25
  }
25
26
  export declare const PieChart: {
26
- <TDatum extends Record<string, any> = Record<string, any>>(props: PieChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
27
+ <TDatum extends Datum = Datum>(props: PieChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
27
28
  displayName?: string;
28
29
  };
@@ -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 RidgelinePlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface RidgelinePlotProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -25,7 +26,7 @@ export interface RidgelinePlotProps<TDatum extends Record<string, any> = Record<
25
26
  legendInteraction?: LegendInteractionMode;
26
27
  legendPosition?: LegendPosition;
27
28
  tooltip?: TooltipProp;
28
- annotations?: Record<string, any>[];
29
+ annotations?: Datum[];
29
30
  /** Custom formatter for category tick labels */
30
31
  categoryFormat?: CategoryFormatFn;
31
32
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
@@ -37,6 +38,6 @@ export interface RidgelinePlotProps<TDatum extends Record<string, any> = Record<
37
38
  * baseline. The amplitude prop controls overlap between rows.
38
39
  */
39
40
  export declare const RidgelinePlot: {
40
- <TDatum extends Record<string, any> = Record<string, any>>(props: RidgelinePlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
41
+ <TDatum extends Datum = Datum>(props: RidgelinePlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
41
42
  displayName?: string;
42
43
  };
@@ -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 StackedBarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface StackedBarChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  stackBy: ChartAccessor<TDatum, string>;
@@ -29,12 +30,12 @@ export interface StackedBarChartProps<TDatum extends Record<string, any> = Recor
29
30
  legendInteraction?: LegendInteractionMode;
30
31
  legendPosition?: "right" | "left" | "top" | "bottom";
31
32
  tooltip?: TooltipProp;
32
- annotations?: Record<string, any>[];
33
+ annotations?: Datum[];
33
34
  /** Custom formatter for category tick labels */
34
35
  categoryFormat?: CategoryFormatFn;
35
36
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
36
37
  }
37
38
  export declare const StackedBarChart: {
38
- <TDatum extends Record<string, any> = Record<string, any>>(props: StackedBarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
39
+ <TDatum extends Datum = Datum>(props: StackedBarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
39
40
  displayName?: string;
40
41
  };
@@ -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 SwarmPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface SwarmPlotProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -26,7 +27,7 @@ export interface SwarmPlotProps<TDatum extends Record<string, any> = Record<stri
26
27
  legendInteraction?: LegendInteractionMode;
27
28
  legendPosition?: LegendPosition;
28
29
  tooltip?: TooltipProp;
29
- annotations?: Record<string, any>[];
30
+ annotations?: Datum[];
30
31
  /** Enable brush on the value axis */
31
32
  brush?: boolean;
32
33
  /** Callback when brush selection changes */
@@ -43,6 +44,6 @@ export interface SwarmPlotProps<TDatum extends Record<string, any> = Record<stri
43
44
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
44
45
  }
45
46
  export declare const SwarmPlot: {
46
- <TDatum extends Record<string, any> = Record<string, any>>(props: SwarmPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
47
+ <TDatum extends Datum = Datum>(props: SwarmPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
47
48
  displayName?: string;
48
49
  };
@@ -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 SwimlaneChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface SwimlaneChartProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  /** Data array. Omit for push API mode. */
9
10
  data?: TDatum[];
10
11
  /** Accessor for lane categories (swim lanes). Default "category". */
@@ -42,7 +43,7 @@ export interface SwimlaneChartProps<TDatum extends Record<string, any> = Record<
42
43
  /** Tooltip configuration */
43
44
  tooltip?: TooltipProp;
44
45
  /** Annotation objects */
45
- annotations?: Record<string, any>[];
46
+ annotations?: Datum[];
46
47
  /** Enable brush on the value axis */
47
48
  brush?: boolean;
48
49
  /** Callback when brush selection changes */
@@ -64,6 +65,6 @@ export interface SwimlaneChartProps<TDatum extends Record<string, any> = Record<
64
65
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
65
66
  }
66
67
  export declare const SwimlaneChart: {
67
- <TDatum extends Record<string, any> = Record<string, any>>(props: SwimlaneChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
68
+ <TDatum extends Datum = Datum>(props: SwimlaneChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
68
69
  displayName?: string;
69
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 ViolinPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
8
+ export interface ViolinPlotProps<TDatum extends Datum = Datum> extends BaseChartProps {
8
9
  data?: TDatum[];
9
10
  categoryAccessor?: ChartAccessor<TDatum, string>;
10
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -25,7 +26,7 @@ export interface ViolinPlotProps<TDatum extends Record<string, any> = Record<str
25
26
  legendInteraction?: LegendInteractionMode;
26
27
  legendPosition?: LegendPosition;
27
28
  tooltip?: TooltipProp;
28
- annotations?: Record<string, any>[];
29
+ annotations?: Datum[];
29
30
  /** Enable brush on the value axis */
30
31
  brush?: boolean;
31
32
  /** Callback when brush selection changes */
@@ -42,6 +43,6 @@ export interface ViolinPlotProps<TDatum extends Record<string, any> = Record<str
42
43
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
43
44
  }
44
45
  export declare const ViolinPlot: {
45
- <TDatum extends Record<string, any> = Record<string, any>>(props: ViolinPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
46
+ <TDatum extends Datum = Datum>(props: ViolinPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
46
47
  displayName?: string;
47
48
  };
@@ -5,7 +5,8 @@ import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
6
  import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
- export interface RealtimeHeatmapProps<TDatum extends Record<string, any> = Record<string, any>> {
8
+ import type { Datum } from "../shared/datumTypes";
9
+ export interface RealtimeHeatmapProps<TDatum extends Datum = Datum> {
9
10
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
10
11
  mode?: ChartMode;
11
12
  /** Chart dimensions as [width, height] */
@@ -32,7 +33,7 @@ export interface RealtimeHeatmapProps<TDatum extends Record<string, any> = Recor
32
33
  /** Ring buffer capacity */
33
34
  windowSize?: number;
34
35
  /** Controlled data array */
35
- data?: Record<string, any>[];
36
+ data?: Datum[];
36
37
  /** Time/x value accessor */
37
38
  timeAccessor?: ChartAccessor<TDatum, number>;
38
39
  /** Value/y accessor */
@@ -62,9 +63,9 @@ export interface RealtimeHeatmapProps<TDatum extends Record<string, any> = Recor
62
63
  /** Callback on hover */
63
64
  onHover?: (d: HoverData | null) => void;
64
65
  /** Annotation objects */
65
- annotations?: Record<string, any>[];
66
+ annotations?: Datum[];
66
67
  /** SVG annotation render function */
67
- svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
68
+ svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
68
69
  /** Custom formatter for time axis ticks */
69
70
  tickFormatTime?: (value: number) => string;
70
71
  /** Custom formatter for value axis ticks */
@@ -97,7 +98,7 @@ export interface RealtimeHeatmapProps<TDatum extends Record<string, any> = Recor
97
98
  /** Legend interaction mode */
98
99
  legendInteraction?: LegendInteractionMode;
99
100
  /** ID accessor for remove()/update() on the push API */
100
- pointIdAccessor?: string | ((d: any) => string);
101
+ pointIdAccessor?: string | ((d: Datum) => string);
101
102
  }
102
103
  /**
103
104
  * RealtimeHeatmap - Streaming heatmap with 2D grid binning.
@@ -121,6 +122,6 @@ export interface RealtimeHeatmapProps<TDatum extends Record<string, any> = Recor
121
122
  * ```
122
123
  */
123
124
  export declare const RealtimeHeatmap: {
124
- <TDatum extends Record<string, any> = Record<string, any>>(props: RealtimeHeatmapProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
125
+ <TDatum extends Datum = Datum>(props: RealtimeHeatmapProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
125
126
  displayName?: string;
126
127
  };
@@ -5,7 +5,8 @@ import type { ReactNode } from "react";
5
5
  import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
6
6
  import type { ChartMode, ChartAccessor, SelectionConfig } from "../shared/types";
7
7
  import type { OnObservationCallback } from "../../store/ObservationStore";
8
- export interface RealtimeTemporalHistogramProps<TDatum extends Record<string, any> = Record<string, any>> {
8
+ import type { Datum } from "../shared/datumTypes";
9
+ export interface RealtimeTemporalHistogramProps<TDatum extends Datum = Datum> {
9
10
  /** Display mode: "primary" (full chrome), "context" (compact), "sparkline" (inline) */
10
11
  mode?: ChartMode;
11
12
  /** Time interval for binning */
@@ -34,7 +35,7 @@ export interface RealtimeTemporalHistogramProps<TDatum extends Record<string, an
34
35
  /** Ring buffer capacity */
35
36
  windowSize?: number;
36
37
  /** Controlled data array */
37
- data?: Record<string, any>[];
38
+ data?: Datum[];
38
39
  /** Time value accessor */
39
40
  timeAccessor?: ChartAccessor<TDatum, number>;
40
41
  /** Value accessor */
@@ -61,6 +62,8 @@ export interface RealtimeTemporalHistogramProps<TDatum extends Record<string, an
61
62
  stroke?: string;
62
63
  /** Bar stroke width */
63
64
  strokeWidth?: number;
65
+ /** Uniform bar opacity (0–1). Pairs with `color` / `stroke` / `strokeWidth` for the designer-facing primitive vocabulary. */
66
+ opacity?: number;
64
67
  /** Gap between bars in pixels */
65
68
  gap?: number;
66
69
  /** Show canvas-drawn axes */
@@ -74,9 +77,9 @@ export interface RealtimeTemporalHistogramProps<TDatum extends Record<string, an
74
77
  /** Callback on hover */
75
78
  onHover?: (d: HoverData | null) => void;
76
79
  /** Annotation objects */
77
- annotations?: Record<string, any>[];
80
+ annotations?: Datum[];
78
81
  /** SVG annotation render function */
79
- svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
82
+ svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
80
83
  /** Custom formatter for time axis ticks */
81
84
  tickFormatTime?: (value: number) => string;
82
85
  /** Custom formatter for value axis ticks */
@@ -131,7 +134,7 @@ export interface RealtimeTemporalHistogramProps<TDatum extends Record<string, an
131
134
  /** Legend interaction mode */
132
135
  legendInteraction?: LegendInteractionMode;
133
136
  /** ID accessor for remove()/update() on the push API */
134
- pointIdAccessor?: string | ((d: any) => string);
137
+ pointIdAccessor?: string | ((d: Datum) => string);
135
138
  }
136
139
  /**
137
140
  * RealtimeTemporalHistogram - Streaming temporal histogram.
@@ -164,12 +167,12 @@ export interface RealtimeTemporalHistogramProps<TDatum extends Record<string, an
164
167
  * ```
165
168
  */
166
169
  export declare const RealtimeTemporalHistogram: {
167
- <TDatum extends Record<string, any> = Record<string, any>>(props: RealtimeTemporalHistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
170
+ <TDatum extends Datum = Datum>(props: RealtimeTemporalHistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
168
171
  displayName?: string;
169
172
  };
170
173
  /** @deprecated Use RealtimeTemporalHistogram instead */
171
174
  export declare const RealtimeHistogram: {
172
- <TDatum extends Record<string, any> = Record<string, any>>(props: RealtimeTemporalHistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
175
+ <TDatum extends Datum = Datum>(props: RealtimeTemporalHistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
173
176
  displayName?: string;
174
177
  };
175
178
  /** @deprecated Use RealtimeTemporalHistogramProps instead */