semiotic 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CLAUDE.md +242 -29
  2. package/README.md +101 -66
  3. package/ai/cli.js +34 -21
  4. package/ai/dist/componentRegistry.js +2 -0
  5. package/ai/dist/mcp-server.js +54 -0
  6. package/ai/examples.md +433 -18
  7. package/ai/schema.json +134 -1
  8. package/ai/system-prompt.md +51 -10
  9. package/dist/{ChartGrid.d.ts → components/ChartGrid.d.ts} +9 -7
  10. package/dist/components/Legend.d.ts +9 -0
  11. package/dist/{LinkedCharts.d.ts → components/LinkedCharts.d.ts} +34 -1
  12. package/dist/{Tooltip → components/Tooltip}/Tooltip.d.ts +9 -2
  13. package/dist/components/charts/geo/ChoroplethMap.d.ts +53 -0
  14. package/dist/components/charts/geo/DistanceCartogram.d.ts +90 -0
  15. package/dist/components/charts/geo/FlowMap.d.ts +83 -0
  16. package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +67 -0
  17. package/dist/components/charts/geo/index.d.ts +8 -0
  18. package/dist/{charts → components/charts}/index.d.ts +4 -0
  19. package/dist/{charts → components/charts}/network/ChordDiagram.d.ts +8 -5
  20. package/dist/{charts → components/charts}/network/CirclePack.d.ts +4 -2
  21. package/dist/{charts → components/charts}/network/ForceDirectedGraph.d.ts +10 -6
  22. package/dist/components/charts/network/OrbitDiagram.d.ts +79 -0
  23. package/dist/{charts → components/charts}/network/SankeyDiagram.d.ts +8 -5
  24. package/dist/{charts → components/charts}/network/TreeDiagram.d.ts +4 -2
  25. package/dist/{charts → components/charts}/network/Treemap.d.ts +4 -2
  26. package/dist/{charts → components/charts}/ordinal/BarChart.d.ts +9 -5
  27. package/dist/{charts → components/charts}/ordinal/BoxPlot.d.ts +9 -5
  28. package/dist/{charts → components/charts}/ordinal/DonutChart.d.ts +9 -5
  29. package/dist/{charts → components/charts}/ordinal/DotPlot.d.ts +9 -5
  30. package/dist/{charts → components/charts}/ordinal/GroupedBarChart.d.ts +9 -5
  31. package/dist/{charts → components/charts}/ordinal/Histogram.d.ts +8 -5
  32. package/dist/{charts → components/charts}/ordinal/PieChart.d.ts +9 -5
  33. package/dist/{charts → components/charts}/ordinal/RidgelinePlot.d.ts +2 -0
  34. package/dist/{charts → components/charts}/ordinal/StackedBarChart.d.ts +9 -5
  35. package/dist/{charts → components/charts}/ordinal/SwarmPlot.d.ts +9 -5
  36. package/dist/{charts → components/charts}/ordinal/ViolinPlot.d.ts +8 -5
  37. package/dist/{charts → components/charts}/realtime/RealtimeHeatmap.d.ts +24 -6
  38. package/dist/{charts → components/charts}/realtime/RealtimeHistogram.d.ts +28 -7
  39. package/dist/{charts → components/charts}/realtime/RealtimeLineChart.d.ts +23 -5
  40. package/dist/{charts → components/charts}/realtime/RealtimeSwarmChart.d.ts +24 -6
  41. package/dist/{charts → components/charts}/realtime/RealtimeWaterfallChart.d.ts +23 -5
  42. package/dist/{charts → components/charts}/shared/colorUtils.d.ts +5 -0
  43. package/dist/components/charts/shared/diagnoseConfig.d.ts +23 -0
  44. package/dist/{charts → components/charts}/shared/hooks.d.ts +36 -2
  45. package/dist/{charts → components/charts}/shared/legendUtils.d.ts +2 -3
  46. package/dist/{charts → components/charts}/shared/statisticalOverlays.d.ts +1 -2
  47. package/dist/components/charts/shared/statisticalOverlaysLazy.d.ts +10 -0
  48. package/dist/components/charts/shared/stringDistance.d.ts +11 -0
  49. package/dist/{charts → components/charts}/shared/tooltipUtils.d.ts +2 -2
  50. package/dist/{charts → components/charts}/shared/types.d.ts +16 -4
  51. package/dist/components/charts/shared/useChartSetup.d.ts +112 -0
  52. package/dist/components/charts/shared/useStreamingLegend.d.ts +65 -0
  53. package/dist/{charts → components/charts}/shared/withChartWrapper.d.ts +10 -0
  54. package/dist/{charts → components/charts}/xy/AreaChart.d.ts +18 -5
  55. package/dist/{charts → components/charts}/xy/BubbleChart.d.ts +18 -5
  56. package/dist/{charts → components/charts}/xy/ConnectedScatterplot.d.ts +10 -6
  57. package/dist/{charts → components/charts}/xy/Heatmap.d.ts +24 -5
  58. package/dist/{charts → components/charts}/xy/LineChart.d.ts +47 -5
  59. package/dist/{charts → components/charts}/xy/MinimapChart.d.ts +3 -0
  60. package/dist/components/charts/xy/QuadrantChart.d.ts +120 -0
  61. package/dist/{charts → components/charts}/xy/Scatterplot.d.ts +11 -5
  62. package/dist/{charts → components/charts}/xy/StackedAreaChart.d.ts +18 -5
  63. package/dist/{export → components/export}/exportChart.d.ts +6 -1
  64. package/dist/components/geo/mergeData.d.ts +18 -0
  65. package/dist/components/geo/referenceGeography.d.ts +10 -0
  66. package/dist/components/geo/useReferenceAreas.d.ts +13 -0
  67. package/dist/{realtime → components/realtime}/RingBuffer.d.ts +1 -0
  68. package/dist/{realtime → components/realtime}/types.d.ts +17 -0
  69. package/dist/components/semiotic-ai.d.ts +61 -0
  70. package/dist/components/semiotic-data.d.ts +8 -0
  71. package/dist/components/semiotic-geo.d.ts +16 -0
  72. package/dist/components/semiotic-network.d.ts +14 -0
  73. package/dist/components/semiotic-ordinal.d.ts +18 -0
  74. package/dist/components/semiotic-realtime.d.ts +22 -0
  75. package/dist/components/semiotic-server.d.ts +1 -0
  76. package/dist/components/semiotic-xy.d.ts +17 -0
  77. package/dist/components/semiotic.d.ts +57 -0
  78. package/dist/{server → components/server}/renderToStaticSVG.d.ts +11 -2
  79. package/dist/components/stream/AccessibleDataTable.d.ts +50 -0
  80. package/dist/{stream → components/stream}/CanvasHitTester.d.ts +8 -2
  81. package/dist/components/stream/DataSourceAdapter.d.ts +64 -0
  82. package/dist/components/stream/GeoCanvasHitTester.d.ts +19 -0
  83. package/dist/components/stream/GeoParticlePool.d.ts +46 -0
  84. package/dist/components/stream/GeoPipelineStore.d.ts +81 -0
  85. package/dist/components/stream/GeoTileRenderer.d.ts +31 -0
  86. package/dist/{stream → components/stream}/NetworkPipelineStore.d.ts +16 -4
  87. package/dist/{stream → components/stream}/NetworkSVGOverlay.d.ts +24 -1
  88. package/dist/{stream → components/stream}/OrdinalPipelineStore.d.ts +8 -4
  89. package/dist/{stream → components/stream}/OrdinalSVGOverlay.d.ts +31 -1
  90. package/dist/{stream → components/stream}/PipelineStore.d.ts +64 -5
  91. package/dist/components/stream/SVGOverlay.d.ts +98 -0
  92. package/dist/{stream → components/stream}/SceneGraph.d.ts +7 -3
  93. package/dist/components/stream/SceneToSVG.d.ts +22 -0
  94. package/dist/components/stream/StreamGeoFrame.d.ts +4 -0
  95. package/dist/{stream → components/stream}/accessorUtils.d.ts +1 -0
  96. package/dist/components/stream/canvasSetup.d.ts +26 -0
  97. package/dist/components/stream/geoTypes.d.ts +186 -0
  98. package/dist/components/stream/hitTestUtils.d.ts +23 -0
  99. package/dist/components/stream/layouts/forceLayoutPlugin.d.ts +2 -0
  100. package/dist/{stream → components/stream}/layouts/index.d.ts +2 -1
  101. package/dist/components/stream/layouts/orbitLayoutPlugin.d.ts +2 -0
  102. package/dist/components/stream/legendRenderer.d.ts +33 -0
  103. package/dist/{stream → components/stream}/networkTypes.d.ts +59 -3
  104. package/dist/{stream → components/stream}/ordinalTypes.d.ts +26 -10
  105. package/dist/components/stream/pipelineTransitionUtils.d.ts +42 -0
  106. package/dist/components/stream/renderers/areaCanvasRenderer.d.ts +2 -0
  107. package/dist/components/stream/renderers/geoCanvasRenderer.d.ts +9 -0
  108. package/dist/{stream → components/stream}/renderers/heatmapCanvasRenderer.d.ts +2 -1
  109. package/dist/{stream → components/stream}/renderers/lineCanvasRenderer.d.ts +1 -0
  110. package/dist/components/stream/renderers/renderPulse.d.ts +50 -0
  111. package/dist/{stream → components/stream}/types.d.ts +89 -3
  112. package/dist/components/stream/useStalenessCheck.d.ts +16 -0
  113. package/dist/components/types/legendTypes.d.ts +49 -0
  114. package/dist/geo.min.js +1 -0
  115. package/dist/geo.module.min.js +1 -0
  116. package/dist/network.min.js +1 -1
  117. package/dist/network.module.min.js +1 -1
  118. package/dist/ordinal.min.js +1 -1
  119. package/dist/ordinal.module.min.js +1 -1
  120. package/dist/realtime.min.js +1 -1
  121. package/dist/realtime.module.min.js +1 -1
  122. package/dist/semiotic-ai.d.ts +3 -0
  123. package/dist/semiotic-ai.min.js +1 -1
  124. package/dist/semiotic-ai.module.min.js +1 -1
  125. package/dist/semiotic-data.d.ts +1 -0
  126. package/dist/semiotic-data.min.js +1 -1
  127. package/dist/semiotic-data.module.min.js +1 -1
  128. package/dist/semiotic-geo.d.ts +16 -0
  129. package/dist/semiotic-network.d.ts +1 -0
  130. package/dist/semiotic-ordinal.d.ts +1 -0
  131. package/dist/semiotic-server.d.ts +1 -1
  132. package/dist/semiotic-xy.d.ts +1 -0
  133. package/dist/semiotic.d.ts +4 -4
  134. package/dist/semiotic.min.js +1 -1
  135. package/dist/semiotic.module.min.js +1 -1
  136. package/dist/server.min.js +1 -1
  137. package/dist/server.module.min.js +1 -1
  138. package/dist/test-utils/canvasMock.d.ts +23 -0
  139. package/dist/test-utils/frameMock.d.ts +78 -0
  140. package/dist/xy.min.js +1 -1
  141. package/dist/xy.module.min.js +1 -1
  142. package/package.json +34 -20
  143. package/dist/Legend.d.ts +0 -3
  144. package/dist/stream/DataSourceAdapter.d.ts +0 -35
  145. package/dist/stream/SVGOverlay.d.ts +0 -56
  146. package/dist/stream/layouts/forceLayoutPlugin.d.ts +0 -9
  147. package/dist/stream/renderers/areaCanvasRenderer.d.ts +0 -7
  148. package/dist/types/legendTypes.d.ts +0 -20
  149. /package/dist/{Annotation.d.ts → components/Annotation.d.ts} +0 -0
  150. /package/dist/{CategoryColors.d.ts → components/CategoryColors.d.ts} +0 -0
  151. /package/dist/{ChartContainer.d.ts → components/ChartContainer.d.ts} +0 -0
  152. /package/dist/{ChartErrorBoundary.d.ts → components/ChartErrorBoundary.d.ts} +0 -0
  153. /package/dist/{ContextLayout.d.ts → components/ContextLayout.d.ts} +0 -0
  154. /package/dist/{DetailsPanel.d.ts → components/DetailsPanel.d.ts} +0 -0
  155. /package/dist/{ThemeProvider.d.ts → components/ThemeProvider.d.ts} +0 -0
  156. /package/dist/{charts → components/charts}/shared/ChartError.d.ts +0 -0
  157. /package/dist/{charts → components/charts}/shared/annotationRules.d.ts +0 -0
  158. /package/dist/{charts → components/charts}/shared/formatUtils.d.ts +0 -0
  159. /package/dist/{charts → components/charts}/shared/loess.d.ts +0 -0
  160. /package/dist/{charts → components/charts}/shared/networkUtils.d.ts +0 -0
  161. /package/dist/{charts → components/charts}/shared/selectionUtils.d.ts +0 -0
  162. /package/dist/{charts → components/charts}/shared/validateChartData.d.ts +0 -0
  163. /package/dist/{charts → components/charts}/shared/validateProps.d.ts +0 -0
  164. /package/dist/{charts → components/charts}/xy/ScatterplotMatrix.d.ts +0 -0
  165. /package/dist/{data → components/data}/fromVegaLite.d.ts +0 -0
  166. /package/dist/{data → components/data}/transforms.d.ts +0 -0
  167. /package/dist/{export → components/export}/chartConfig.d.ts +0 -0
  168. /package/dist/{export → components/export}/selectionSerializer.d.ts +0 -0
  169. /package/dist/{geometry → components/geometry}/sankeyLinks.d.ts +0 -0
  170. /package/dist/{realtime → components/realtime}/BinAccumulator.d.ts +0 -0
  171. /package/dist/{realtime → components/realtime}/IncrementalExtent.d.ts +0 -0
  172. /package/dist/{realtime → components/realtime}/renderers/types.d.ts +0 -0
  173. /package/dist/{realtime → components/realtime}/renderers/waterfallRenderer.d.ts +0 -0
  174. /package/dist/{store → components/store}/ObservationStore.d.ts +0 -0
  175. /package/dist/{store → components/store}/SelectionStore.d.ts +0 -0
  176. /package/dist/{store → components/store}/ThemeStore.d.ts +0 -0
  177. /package/dist/{store → components/store}/TooltipStore.d.ts +0 -0
  178. /package/dist/{store → components/store}/createStore.d.ts +0 -0
  179. /package/dist/{store → components/store}/useObservation.d.ts +0 -0
  180. /package/dist/{store → components/store}/useSelection.d.ts +0 -0
  181. /package/dist/{stream → components/stream}/MarginalGraphics.d.ts +0 -0
  182. /package/dist/{stream → components/stream}/NetworkCanvasHitTester.d.ts +0 -0
  183. /package/dist/{stream → components/stream}/OrdinalCanvasHitTester.d.ts +0 -0
  184. /package/dist/{stream → components/stream}/ParticlePool.d.ts +0 -0
  185. /package/dist/{stream → components/stream}/StreamNetworkFrame.d.ts +0 -0
  186. /package/dist/{stream → components/stream}/StreamOrdinalFrame.d.ts +0 -0
  187. /package/dist/{stream → components/stream}/StreamXYFrame.d.ts +0 -0
  188. /package/dist/{stream → components/stream}/keyboardNav.d.ts +0 -0
  189. /package/dist/{stream → components/stream}/layouts/chordLayoutPlugin.d.ts +0 -0
  190. /package/dist/{stream → components/stream}/layouts/hierarchyLayoutPlugin.d.ts +0 -0
  191. /package/dist/{stream → components/stream}/layouts/sankeyLayoutPlugin.d.ts +0 -0
  192. /package/dist/{stream → components/stream}/ordinalSceneBuilders/barScene.d.ts +0 -0
  193. /package/dist/{stream → components/stream}/ordinalSceneBuilders/connectorScene.d.ts +0 -0
  194. /package/dist/{stream → components/stream}/ordinalSceneBuilders/pieScene.d.ts +0 -0
  195. /package/dist/{stream → components/stream}/ordinalSceneBuilders/pointScene.d.ts +0 -0
  196. /package/dist/{stream → components/stream}/ordinalSceneBuilders/statisticalScene.d.ts +0 -0
  197. /package/dist/{stream → components/stream}/ordinalSceneBuilders/timelineScene.d.ts +0 -0
  198. /package/dist/{stream → components/stream}/ordinalSceneBuilders/types.d.ts +0 -0
  199. /package/dist/{stream → components/stream}/renderers/barCanvasRenderer.d.ts +0 -0
  200. /package/dist/{stream → components/stream}/renderers/boxplotCanvasRenderer.d.ts +0 -0
  201. /package/dist/{stream → components/stream}/renderers/candlestickCanvasRenderer.d.ts +0 -0
  202. /package/dist/{stream → components/stream}/renderers/connectorCanvasRenderer.d.ts +0 -0
  203. /package/dist/{stream → components/stream}/renderers/networkArcRenderer.d.ts +0 -0
  204. /package/dist/{stream → components/stream}/renderers/networkCircleRenderer.d.ts +0 -0
  205. /package/dist/{stream → components/stream}/renderers/networkEdgeRenderer.d.ts +0 -0
  206. /package/dist/{stream → components/stream}/renderers/networkParticleRenderer.d.ts +0 -0
  207. /package/dist/{stream → components/stream}/renderers/networkRectRenderer.d.ts +0 -0
  208. /package/dist/{stream → components/stream}/renderers/pointCanvasRenderer.d.ts +0 -0
  209. /package/dist/{stream → components/stream}/renderers/swarmCanvasRenderer.d.ts +0 -0
  210. /package/dist/{stream → components/stream}/renderers/types.d.ts +0 -0
  211. /package/dist/{stream → components/stream}/renderers/violinCanvasRenderer.d.ts +0 -0
  212. /package/dist/{stream → components/stream}/renderers/waterfallCanvasRenderer.d.ts +0 -0
  213. /package/dist/{stream → components/stream}/renderers/wedgeCanvasRenderer.d.ts +0 -0
  214. /package/dist/{stream → components/stream}/useResponsiveSize.d.ts +0 -0
  215. /package/dist/{types → components/types}/annotationTypes.d.ts +0 -0
  216. /package/dist/{types → components/types}/generalTypes.d.ts +0 -0
  217. /package/dist/{types → components/types}/interactionTypes.d.ts +0 -0
  218. /package/dist/{types → components/types}/networkTypes.d.ts +0 -0
  219. /package/dist/{types → components/types}/ordinalTypes.d.ts +0 -0
@@ -0,0 +1,67 @@
1
+ import * as React from "react";
2
+ import type { StreamGeoFrameProps, ProjectionProp } from "../../stream/geoTypes";
3
+ import type { RealtimeFrameHandle } from "../../realtime/types";
4
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
5
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
7
+ import type { Style } from "../../stream/types";
8
+ import { type AreasProp } from "../../geo/useReferenceAreas";
9
+ export interface ProportionalSymbolMapProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
10
+ /** Point data with geographic coordinates */
11
+ points?: TDatum[];
12
+ /** Longitude accessor @default "lon" */
13
+ xAccessor?: ChartAccessor<TDatum, number>;
14
+ /** Latitude accessor @default "lat" */
15
+ yAccessor?: ChartAccessor<TDatum, number>;
16
+ /** Field to scale point size */
17
+ sizeBy: ChartAccessor<TDatum, number>;
18
+ /** Min and max radius @default [3, 30] */
19
+ sizeRange?: [number, number];
20
+ /** Field to determine point color */
21
+ colorBy?: ChartAccessor<TDatum, string>;
22
+ /** Color scheme @default "category10" */
23
+ colorScheme?: string | string[];
24
+ /** Geographic projection @default "equalEarth" */
25
+ projection?: ProjectionProp;
26
+ /** Show graticule grid lines */
27
+ graticule?: boolean | import("../../stream/geoTypes").GraticuleConfig;
28
+ /** Optional background geography */
29
+ areas?: AreasProp;
30
+ /** Style for background areas @default { fill: "#f0f0f0", stroke: "#ccc" } */
31
+ areaStyle?: Style;
32
+ /** Tooltip config */
33
+ tooltip?: TooltipProp;
34
+ /** Show legend */
35
+ showLegend?: boolean;
36
+ /** Legend interaction mode */
37
+ legendInteraction?: LegendInteractionMode;
38
+ /** Legend position */
39
+ legendPosition?: LegendPosition;
40
+ /** Padding fraction for auto-fit projection. 0.1 = 10% inset from edges. @default 0 */
41
+ fitPadding?: number;
42
+ /** Enable zoom/pan. Defaults to true when tileURL is set, false otherwise. */
43
+ zoomable?: boolean;
44
+ /** [minZoom, maxZoom] @default [1, 8] */
45
+ zoomExtent?: [number, number];
46
+ /** Zoom change callback */
47
+ onZoom?: StreamGeoFrameProps["onZoom"];
48
+ /**
49
+ * When true, drag gestures rotate the projection (globe spinning)
50
+ * instead of panning. Defaults to true for orthographic projection.
51
+ */
52
+ dragRotate?: boolean;
53
+ /** Raster tile URL template or function. Enables tile basemap (Mercator only). */
54
+ tileURL?: string | ((z: number, x: number, y: number, dpr: number) => string);
55
+ /** Attribution text for tile provider */
56
+ tileAttribution?: string;
57
+ /** Max cached tiles @default 256 */
58
+ tileCacheSize?: number;
59
+ /** Annotations */
60
+ annotations?: Record<string, any>[];
61
+ /** Passthrough */
62
+ frameProps?: Partial<Omit<StreamGeoFrameProps, "points" | "projection">>;
63
+ }
64
+ export declare const ProportionalSymbolMap: {
65
+ <TDatum extends Record<string, any> = Record<string, any>>(props: ProportionalSymbolMapProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
66
+ displayName?: string;
67
+ };
@@ -0,0 +1,8 @@
1
+ export { ChoroplethMap } from "./ChoroplethMap";
2
+ export type { ChoroplethMapProps } from "./ChoroplethMap";
3
+ export { ProportionalSymbolMap } from "./ProportionalSymbolMap";
4
+ export type { ProportionalSymbolMapProps } from "./ProportionalSymbolMap";
5
+ export { FlowMap } from "./FlowMap";
6
+ export type { FlowMapProps } from "./FlowMap";
7
+ export { DistanceCartogram } from "./DistanceCartogram";
8
+ export type { DistanceCartogramProps } from "./DistanceCartogram";
@@ -24,6 +24,8 @@ export { ScatterplotMatrix } from "./xy/ScatterplotMatrix";
24
24
  export type { ScatterplotMatrixProps } from "./xy/ScatterplotMatrix";
25
25
  export { MinimapChart } from "./xy/MinimapChart";
26
26
  export type { MinimapChartProps, MinimapConfig } from "./xy/MinimapChart";
27
+ export { QuadrantChart } from "./xy/QuadrantChart";
28
+ export type { QuadrantChartProps, QuadrantsConfig, QuadrantConfig, CenterlineStyle } from "./xy/QuadrantChart";
27
29
  export { BarChart } from "./ordinal/BarChart";
28
30
  export type { BarChartProps } from "./ordinal/BarChart";
29
31
  export { StackedBarChart } from "./ordinal/StackedBarChart";
@@ -58,6 +60,8 @@ export { Treemap } from "./network/Treemap";
58
60
  export type { TreemapProps } from "./network/Treemap";
59
61
  export { CirclePack } from "./network/CirclePack";
60
62
  export type { CirclePackProps } from "./network/CirclePack";
63
+ export { OrbitDiagram } from "./network/OrbitDiagram";
64
+ export type { OrbitDiagramProps, OrbitNode } from "./network/OrbitDiagram";
61
65
  export { RealtimeLineChart } from "./realtime/RealtimeLineChart";
62
66
  export type { RealtimeLineChartProps } from "./realtime/RealtimeLineChart";
63
67
  export { RealtimeTemporalHistogram, RealtimeHistogram } from "./realtime/RealtimeHistogram";
@@ -1,13 +1,15 @@
1
1
  import * as React from "react";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { RealtimeFrameHandle } from "../../realtime/types";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { LegendInteractionMode } from "../shared/hooks";
5
7
  /**
6
8
  * ChordDiagram component props
7
9
  */
8
10
  export interface ChordDiagramProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
11
  nodes?: TNode[];
10
- edges: TEdge[];
12
+ edges?: TEdge[];
11
13
  sourceAccessor?: ChartAccessor<TEdge, string>;
12
14
  targetAccessor?: ChartAccessor<TEdge, string>;
13
15
  valueAccessor?: ChartAccessor<TEdge, number>;
@@ -21,6 +23,7 @@ export interface ChordDiagramProps<TNode extends Record<string, any> = Record<st
21
23
  nodeLabel?: ChartAccessor<TNode, string>;
22
24
  showLabels?: boolean;
23
25
  enableHover?: boolean;
26
+ legendInteraction?: LegendInteractionMode;
24
27
  edgeOpacity?: number;
25
28
  tooltip?: TooltipProp;
26
29
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
@@ -30,7 +33,7 @@ export interface ChordDiagramProps<TNode extends Record<string, any> = Record<st
30
33
  *
31
34
  * Wraps StreamNetworkFrame (canvas-first) for chord relationship visualization.
32
35
  */
33
- export declare function ChordDiagram<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: ChordDiagramProps<TNode, TEdge>): React.JSX.Element;
34
- export declare namespace ChordDiagram {
35
- var displayName: string;
36
- }
36
+ 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
+ displayName?: string;
39
+ };
@@ -1,14 +1,15 @@
1
1
  import * as React from "react";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
- import type { BaseChartProps, ChartAccessor, Accessor } from "../shared/types";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ import type { LegendInteractionMode } from "../shared/hooks";
5
6
  /**
6
7
  * CirclePack component props
7
8
  */
8
9
  export interface CirclePackProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
10
  data: TNode;
10
11
  childrenAccessor?: ChartAccessor<TNode, TNode[]>;
11
- valueAccessor?: Accessor<number>;
12
+ valueAccessor?: ChartAccessor<TNode, number>;
12
13
  nodeIdAccessor?: ChartAccessor<TNode, string>;
13
14
  colorBy?: ChartAccessor<TNode, string | number>;
14
15
  colorScheme?: string | string[];
@@ -18,6 +19,7 @@ export interface CirclePackProps<TNode extends Record<string, any> = Record<stri
18
19
  circleOpacity?: number;
19
20
  padding?: number;
20
21
  enableHover?: boolean;
22
+ legendInteraction?: LegendInteractionMode;
21
23
  tooltip?: TooltipProp;
22
24
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
23
25
  }
@@ -1,13 +1,15 @@
1
1
  import * as React from "react";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { RealtimeFrameHandle } from "../../realtime/types";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
5
7
  /**
6
8
  * ForceDirectedGraph component props
7
9
  */
8
10
  export interface ForceDirectedGraphProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
- nodes: TNode[];
10
- edges: TEdge[];
11
+ nodes?: TNode[];
12
+ edges?: TEdge[];
11
13
  nodeIDAccessor?: ChartAccessor<TNode, string>;
12
14
  sourceAccessor?: ChartAccessor<TEdge, string>;
13
15
  targetAccessor?: ChartAccessor<TEdge, string>;
@@ -24,6 +26,8 @@ export interface ForceDirectedGraphProps<TNode extends Record<string, any> = Rec
24
26
  showLabels?: boolean;
25
27
  enableHover?: boolean;
26
28
  showLegend?: boolean;
29
+ legendInteraction?: LegendInteractionMode;
30
+ legendPosition?: LegendPosition;
27
31
  tooltip?: TooltipProp;
28
32
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "nodes" | "edges" | "size">>;
29
33
  }
@@ -32,7 +36,7 @@ export interface ForceDirectedGraphProps<TNode extends Record<string, any> = Rec
32
36
  *
33
37
  * Wraps StreamNetworkFrame (canvas-first) for force-directed network visualization.
34
38
  */
35
- export declare function ForceDirectedGraph<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: ForceDirectedGraphProps<TNode, TEdge>): React.JSX.Element;
36
- export declare namespace ForceDirectedGraph {
37
- var displayName: string;
38
- }
39
+ 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
+ displayName?: string;
42
+ };
@@ -0,0 +1,79 @@
1
+ import * as React from "react";
2
+ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { BaseChartProps } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ export interface OrbitNode {
6
+ datum: any;
7
+ x: number;
8
+ y: number;
9
+ ring: number;
10
+ angle: number;
11
+ depth: number;
12
+ parent?: OrbitNode;
13
+ children?: OrbitNode[];
14
+ id?: string;
15
+ }
16
+ type OrbitMode = "flat" | "solar" | "atomic" | number[];
17
+ export interface OrbitDiagramProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
18
+ /** Hierarchical data — single root object with children */
19
+ data: TDatum;
20
+ /** How to access children from each datum @default "children" */
21
+ childrenAccessor?: string | ((d: TDatum) => TDatum[] | null | undefined);
22
+ /** How to identify each node @default "name" */
23
+ nodeIdAccessor?: string | ((d: any) => string);
24
+ /** Field or function for node color */
25
+ colorBy?: string | ((d: any) => string);
26
+ /** Color scheme @default "category10" */
27
+ colorScheme?: string | string[];
28
+ /** Color by hierarchy depth instead of field @default false */
29
+ colorByDepth?: boolean;
30
+ /**
31
+ * Ring arrangement mode:
32
+ * - "flat": all children in one ring
33
+ * - "solar": one child per ring
34
+ * - "atomic": [2, 8] electron shell pattern
35
+ * - number[]: custom ring capacities (last value repeats)
36
+ * @default "flat"
37
+ */
38
+ orbitMode?: OrbitMode;
39
+ /** Ring size divisor per depth. Larger = tighter orbits. @default 2.95 */
40
+ orbitSize?: number | ((node: any) => number);
41
+ /** Orbit speed in degrees per frame @default 0.25 */
42
+ speed?: number;
43
+ /** Per-node speed modifier @default (node) => 1 / (node.depth + 1) */
44
+ revolution?: (node: any) => number;
45
+ /**
46
+ * Built-in revolution style presets:
47
+ * - "locked": children rotate with parent at decreasing speed (default)
48
+ * - "decay": each depth level progressively slower, independent of parent
49
+ * - "alternate": odd-depth rings reverse direction
50
+ * Ignored when `revolution` function is provided.
51
+ * @default "locked"
52
+ */
53
+ revolutionStyle?: "locked" | "decay" | "alternate";
54
+ /** Vertical squash for elliptical orbits. 1 = circle, 0.5 = ellipse @default 1 */
55
+ eccentricity?: number | ((node: any) => number);
56
+ /** Show orbital ring paths @default true */
57
+ showRings?: boolean;
58
+ /** Node radius. Number or function of node. @default 6 */
59
+ nodeRadius?: number | ((node: any) => number);
60
+ /** Show node labels @default false */
61
+ showLabels?: boolean;
62
+ /** Enable animation @default true */
63
+ animated?: boolean;
64
+ /** Tooltip configuration. Function form receives the raw datum (not OrbitNode). */
65
+ tooltip?: TooltipProp;
66
+ /** Enable hover @default true */
67
+ enableHover?: boolean;
68
+ /** Annotation objects */
69
+ annotations?: Array<Record<string, any>>;
70
+ /** Additional SVG content */
71
+ foregroundGraphics?: React.ReactNode;
72
+ /** Frame props passthrough */
73
+ frameProps?: Partial<Omit<StreamNetworkFrameProps, "data" | "size">>;
74
+ }
75
+ export declare function OrbitDiagram<TDatum extends Record<string, any> = Record<string, any>>(props: OrbitDiagramProps<TDatum>): React.JSX.Element;
76
+ export declare namespace OrbitDiagram {
77
+ var displayName: string;
78
+ }
79
+ export {};
@@ -1,13 +1,15 @@
1
1
  import * as React from "react";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { RealtimeFrameHandle } from "../../realtime/types";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { LegendInteractionMode } from "../shared/hooks";
5
7
  /**
6
8
  * SankeyDiagram component props
7
9
  */
8
10
  export interface SankeyDiagramProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
11
  nodes?: TNode[];
10
- edges: TEdge[];
12
+ edges?: TEdge[];
11
13
  sourceAccessor?: ChartAccessor<TEdge, string>;
12
14
  targetAccessor?: ChartAccessor<TEdge, string>;
13
15
  valueAccessor?: ChartAccessor<TEdge, number>;
@@ -22,6 +24,7 @@ export interface SankeyDiagramProps<TNode extends Record<string, any> = Record<s
22
24
  nodeLabel?: ChartAccessor<TNode, string>;
23
25
  showLabels?: boolean;
24
26
  enableHover?: boolean;
27
+ legendInteraction?: LegendInteractionMode;
25
28
  edgeOpacity?: number;
26
29
  edgeSort?: (a: any, b: any) => number;
27
30
  tooltip?: TooltipProp;
@@ -32,7 +35,7 @@ export interface SankeyDiagramProps<TNode extends Record<string, any> = Record<s
32
35
  *
33
36
  * Wraps StreamNetworkFrame (canvas-first) for Sankey flow visualization.
34
37
  */
35
- export declare function SankeyDiagram<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: SankeyDiagramProps<TNode, TEdge>): React.JSX.Element;
36
- export declare namespace SankeyDiagram {
37
- var displayName: string;
38
- }
38
+ 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
+ displayName?: string;
41
+ };
@@ -1,7 +1,8 @@
1
1
  import * as React from "react";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
- import type { BaseChartProps, ChartAccessor, Accessor } from "../shared/types";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ import type { LegendInteractionMode } from "../shared/hooks";
5
6
  /**
6
7
  * TreeDiagram component props
7
8
  */
@@ -10,7 +11,7 @@ export interface TreeDiagramProps<TNode extends Record<string, any> = Record<str
10
11
  layout?: "tree" | "cluster" | "partition" | "treemap" | "circlepack";
11
12
  orientation?: "vertical" | "horizontal" | "radial";
12
13
  childrenAccessor?: ChartAccessor<TNode, TNode[]>;
13
- valueAccessor?: Accessor<number>;
14
+ valueAccessor?: ChartAccessor<TNode, number>;
14
15
  nodeIdAccessor?: ChartAccessor<TNode, string>;
15
16
  colorBy?: ChartAccessor<TNode, string | number>;
16
17
  colorScheme?: string | string[];
@@ -20,6 +21,7 @@ export interface TreeDiagramProps<TNode extends Record<string, any> = Record<str
20
21
  showLabels?: boolean;
21
22
  nodeSize?: number;
22
23
  enableHover?: boolean;
24
+ legendInteraction?: LegendInteractionMode;
23
25
  tooltip?: TooltipProp;
24
26
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
25
27
  }
@@ -1,14 +1,15 @@
1
1
  import * as React from "react";
2
2
  import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
- import type { BaseChartProps, ChartAccessor, Accessor } from "../shared/types";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
4
  import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ import type { LegendInteractionMode } from "../shared/hooks";
5
6
  /**
6
7
  * Treemap component props
7
8
  */
8
9
  export interface TreemapProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
10
  data: TNode;
10
11
  childrenAccessor?: ChartAccessor<TNode, TNode[]>;
11
- valueAccessor?: Accessor<number>;
12
+ valueAccessor?: ChartAccessor<TNode, number>;
12
13
  nodeIdAccessor?: ChartAccessor<TNode, string>;
13
14
  colorBy?: ChartAccessor<TNode, string | number>;
14
15
  colorScheme?: string | string[];
@@ -19,6 +20,7 @@ export interface TreemapProps<TNode extends Record<string, any> = Record<string,
19
20
  padding?: number;
20
21
  paddingTop?: number;
21
22
  enableHover?: boolean;
23
+ legendInteraction?: LegendInteractionMode;
22
24
  tooltip?: TooltipProp;
23
25
  frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
24
26
  }
@@ -1,12 +1,14 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendInteractionMode } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  /**
6
8
  * BarChart component props
7
9
  */
8
10
  export interface BarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
- data: TDatum[];
11
+ data?: TDatum[];
10
12
  categoryAccessor?: ChartAccessor<TDatum, string>;
11
13
  valueAccessor?: ChartAccessor<TDatum, number>;
12
14
  orientation?: "vertical" | "horizontal";
@@ -20,6 +22,8 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
20
22
  enableHover?: boolean;
21
23
  showGrid?: boolean;
22
24
  showLegend?: boolean;
25
+ legendInteraction?: LegendInteractionMode;
26
+ legendPosition?: "right" | "left" | "top" | "bottom";
23
27
  tooltip?: TooltipProp;
24
28
  annotations?: Record<string, any>[];
25
29
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
@@ -27,7 +31,7 @@ export interface BarChartProps<TDatum extends Record<string, any> = Record<strin
27
31
  /**
28
32
  * BarChart - Visualize categorical data with bars.
29
33
  */
30
- export declare function BarChart<TDatum extends Record<string, any> = Record<string, any>>(props: BarChartProps<TDatum>): React.JSX.Element;
31
- export declare namespace BarChart {
32
- var displayName: string;
33
- }
34
+ export declare const BarChart: {
35
+ <TDatum extends Record<string, any> = Record<string, any>>(props: BarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
36
+ displayName?: string;
37
+ };
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  export interface BoxPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
6
- data: TDatum[];
8
+ data?: TDatum[];
7
9
  categoryAccessor?: ChartAccessor<TDatum, string>;
8
10
  valueAccessor?: ChartAccessor<TDatum, number>;
9
11
  orientation?: "vertical" | "horizontal";
@@ -18,11 +20,13 @@ export interface BoxPlotProps<TDatum extends Record<string, any> = Record<string
18
20
  enableHover?: boolean;
19
21
  showGrid?: boolean;
20
22
  showLegend?: boolean;
23
+ legendInteraction?: LegendInteractionMode;
24
+ legendPosition?: LegendPosition;
21
25
  tooltip?: TooltipProp;
22
26
  annotations?: Record<string, any>[];
23
27
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
24
28
  }
25
- export declare function BoxPlot<TDatum extends Record<string, any> = Record<string, any>>(props: BoxPlotProps<TDatum>): React.JSX.Element;
26
- export declare namespace BoxPlot {
27
- var displayName: string;
28
- }
29
+ export declare const BoxPlot: {
30
+ <TDatum extends Record<string, any> = Record<string, any>>(props: BoxPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
31
+ displayName?: string;
32
+ };
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  export interface DonutChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
6
- data: TDatum[];
8
+ data?: TDatum[];
7
9
  categoryAccessor?: ChartAccessor<TDatum, string>;
8
10
  valueAccessor?: ChartAccessor<TDatum, number>;
9
11
  innerRadius?: number;
@@ -14,11 +16,13 @@ export interface DonutChartProps<TDatum extends Record<string, any> = Record<str
14
16
  slicePadding?: number;
15
17
  enableHover?: boolean;
16
18
  showLegend?: boolean;
19
+ legendInteraction?: LegendInteractionMode;
20
+ legendPosition?: LegendPosition;
17
21
  tooltip?: TooltipProp;
18
22
  annotations?: Record<string, any>[];
19
23
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
20
24
  }
21
- export declare function DonutChart<TDatum extends Record<string, any> = Record<string, any>>(props: DonutChartProps<TDatum>): React.JSX.Element;
22
- export declare namespace DonutChart {
23
- var displayName: string;
24
- }
25
+ export declare const DonutChart: {
26
+ <TDatum extends Record<string, any> = Record<string, any>>(props: DonutChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
27
+ displayName?: string;
28
+ };
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  export interface DotPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
6
- data: TDatum[];
8
+ data?: TDatum[];
7
9
  categoryAccessor?: ChartAccessor<TDatum, string>;
8
10
  valueAccessor?: ChartAccessor<TDatum, number>;
9
11
  orientation?: "vertical" | "horizontal";
@@ -18,11 +20,13 @@ export interface DotPlotProps<TDatum extends Record<string, any> = Record<string
18
20
  enableHover?: boolean;
19
21
  showGrid?: boolean;
20
22
  showLegend?: boolean;
23
+ legendInteraction?: LegendInteractionMode;
24
+ legendPosition?: LegendPosition;
21
25
  tooltip?: TooltipProp;
22
26
  annotations?: Record<string, any>[];
23
27
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
24
28
  }
25
- export declare function DotPlot<TDatum extends Record<string, any> = Record<string, any>>(props: DotPlotProps<TDatum>): React.JSX.Element;
26
- export declare namespace DotPlot {
27
- var displayName: string;
28
- }
29
+ export declare const DotPlot: {
30
+ <TDatum extends Record<string, any> = Record<string, any>>(props: DotPlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
31
+ displayName?: string;
32
+ };
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendInteractionMode } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  export interface GroupedBarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
6
- data: TDatum[];
8
+ data?: TDatum[];
7
9
  categoryAccessor?: ChartAccessor<TDatum, string>;
8
10
  groupBy: ChartAccessor<TDatum, string>;
9
11
  valueAccessor?: ChartAccessor<TDatum, number>;
@@ -17,11 +19,13 @@ export interface GroupedBarChartProps<TDatum extends Record<string, any> = Recor
17
19
  enableHover?: boolean;
18
20
  showGrid?: boolean;
19
21
  showLegend?: boolean;
22
+ legendInteraction?: LegendInteractionMode;
23
+ legendPosition?: "right" | "left" | "top" | "bottom";
20
24
  tooltip?: TooltipProp;
21
25
  annotations?: Record<string, any>[];
22
26
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
23
27
  }
24
- export declare function GroupedBarChart<TDatum extends Record<string, any> = Record<string, any>>(props: GroupedBarChartProps<TDatum>): React.JSX.Element;
25
- export declare namespace GroupedBarChart {
26
- var displayName: string;
27
- }
28
+ export declare const GroupedBarChart: {
29
+ <TDatum extends Record<string, any> = Record<string, any>>(props: GroupedBarChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
30
+ displayName?: string;
31
+ };
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendPosition } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  export interface HistogramProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
6
- data: TDatum[];
8
+ data?: TDatum[];
7
9
  categoryAccessor?: ChartAccessor<TDatum, string>;
8
10
  valueAccessor?: ChartAccessor<TDatum, number>;
9
11
  bins?: number;
@@ -17,11 +19,12 @@ export interface HistogramProps<TDatum extends Record<string, any> = Record<stri
17
19
  enableHover?: boolean;
18
20
  showGrid?: boolean;
19
21
  showLegend?: boolean;
22
+ legendPosition?: LegendPosition;
20
23
  tooltip?: TooltipProp;
21
24
  annotations?: Record<string, any>[];
22
25
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
23
26
  }
24
- export declare function Histogram<TDatum extends Record<string, any> = Record<string, any>>(props: HistogramProps<TDatum>): React.JSX.Element;
25
- export declare namespace Histogram {
26
- var displayName: string;
27
- }
27
+ export declare const Histogram: {
28
+ <TDatum extends Record<string, any> = Record<string, any>>(props: HistogramProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
29
+ displayName?: string;
30
+ };
@@ -1,9 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
6
+ import type { RealtimeFrameHandle } from "../../realtime/types";
5
7
  export interface PieChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
6
- data: TDatum[];
8
+ data?: TDatum[];
7
9
  categoryAccessor?: ChartAccessor<TDatum, string>;
8
10
  valueAccessor?: ChartAccessor<TDatum, number>;
9
11
  colorBy?: ChartAccessor<TDatum, string>;
@@ -12,11 +14,13 @@ export interface PieChartProps<TDatum extends Record<string, any> = Record<strin
12
14
  slicePadding?: number;
13
15
  enableHover?: boolean;
14
16
  showLegend?: boolean;
17
+ legendInteraction?: LegendInteractionMode;
18
+ legendPosition?: LegendPosition;
15
19
  tooltip?: TooltipProp;
16
20
  annotations?: Record<string, any>[];
17
21
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
18
22
  }
19
- export declare function PieChart<TDatum extends Record<string, any> = Record<string, any>>(props: PieChartProps<TDatum>): React.JSX.Element;
20
- export declare namespace PieChart {
21
- var displayName: string;
22
- }
23
+ export declare const PieChart: {
24
+ <TDatum extends Record<string, any> = Record<string, any>>(props: PieChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
25
+ displayName?: string;
26
+ };
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
2
  import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
3
+ import type { LegendPosition } from "../shared/hooks";
3
4
  import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
5
  import { type TooltipProp } from "../../Tooltip/Tooltip";
5
6
  export interface RidgelinePlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
@@ -19,6 +20,7 @@ export interface RidgelinePlotProps<TDatum extends Record<string, any> = Record<
19
20
  enableHover?: boolean;
20
21
  showGrid?: boolean;
21
22
  showLegend?: boolean;
23
+ legendPosition?: LegendPosition;
22
24
  tooltip?: TooltipProp;
23
25
  annotations?: Record<string, any>[];
24
26
  frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;