semiotic 2.0.2 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/CLAUDE.md +530 -0
  2. package/README.md +190 -37
  3. package/ai/cli.js +48 -0
  4. package/ai/dist/ai/componentRegistry.js +45 -0
  5. package/ai/dist/ai/mcp-server.js +99 -0
  6. package/ai/dist/ai/renderHOCToSVG.js +77 -0
  7. package/ai/dist/src/components/Annotation.js +358 -0
  8. package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
  9. package/ai/dist/src/components/Axis/Axis.js +373 -0
  10. package/ai/dist/src/components/Axis/axisTitle.js +14 -0
  11. package/ai/dist/src/components/Axis/index.js +7 -0
  12. package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
  13. package/ai/dist/src/components/Brush.js +84 -0
  14. package/ai/dist/src/components/DividedLine.js +65 -0
  15. package/ai/dist/src/components/FacetController.js +259 -0
  16. package/ai/dist/src/components/Frame.js +139 -0
  17. package/ai/dist/src/components/InteractionLayer.js +328 -0
  18. package/ai/dist/src/components/Legend.js +140 -0
  19. package/ai/dist/src/components/MiniMap.js +75 -0
  20. package/ai/dist/src/components/MinimapXYFrame.js +99 -0
  21. package/ai/dist/src/components/NetworkFrame.js +335 -0
  22. package/ai/dist/src/components/OrdinalFrame.js +437 -0
  23. package/ai/dist/src/components/ResponsiveFrame.js +68 -0
  24. package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
  25. package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
  26. package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
  27. package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
  28. package/ai/dist/src/components/SparkFrame.js +113 -0
  29. package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
  30. package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
  31. package/ai/dist/src/components/SparkXYFrame.js +11 -0
  32. package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
  33. package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
  34. package/ai/dist/src/components/VisualizationLayer.js +395 -0
  35. package/ai/dist/src/components/XYFrame.js +524 -0
  36. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
  37. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
  38. package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
  39. package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
  40. package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
  41. package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
  42. package/ai/dist/src/components/batchWork.js +35 -0
  43. package/ai/dist/src/components/charts/index.js +96 -0
  44. package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
  45. package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
  46. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
  47. package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
  48. package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
  49. package/ai/dist/src/components/charts/network/Treemap.js +177 -0
  50. package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
  51. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
  52. package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
  53. package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
  54. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
  55. package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
  56. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
  57. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
  58. package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
  59. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
  60. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
  61. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
  62. package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
  63. package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
  64. package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
  65. package/ai/dist/src/components/charts/shared/hooks.js +49 -0
  66. package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
  67. package/ai/dist/src/components/charts/shared/types.js +2 -0
  68. package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
  69. package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
  70. package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
  71. package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
  72. package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
  73. package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
  74. package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
  75. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
  76. package/ai/dist/src/components/constants/coordinateNames.js +11 -0
  77. package/ai/dist/src/components/constants/frame_props.js +251 -0
  78. package/ai/dist/src/components/constants/jsx.js +71 -0
  79. package/ai/dist/src/components/data/dataFunctions.js +473 -0
  80. package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
  81. package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
  82. package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
  83. package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
  84. package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
  85. package/ai/dist/src/components/generic_utilities/functions.js +5 -0
  86. package/ai/dist/src/components/index.js +145 -0
  87. package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
  88. package/ai/dist/src/components/processing/InteractionItems.js +223 -0
  89. package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
  90. package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
  91. package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
  92. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
  93. package/ai/dist/src/components/processing/layouts/index.js +32 -0
  94. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
  95. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
  96. package/ai/dist/src/components/processing/layouts/types.js +2 -0
  97. package/ai/dist/src/components/processing/network.js +771 -0
  98. package/ai/dist/src/components/processing/networkDefaults.js +39 -0
  99. package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
  100. package/ai/dist/src/components/processing/ordinal.js +889 -0
  101. package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
  102. package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
  103. package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
  104. package/ai/dist/src/components/processing/xyDrawing.js +484 -0
  105. package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
  106. package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
  107. package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
  108. package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
  109. package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
  110. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
  111. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
  112. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
  113. package/ai/dist/src/components/realtime/renderers/types.js +2 -0
  114. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
  115. package/ai/dist/src/components/realtime/types.js +2 -0
  116. package/ai/dist/src/components/semiotic-ai.js +66 -0
  117. package/ai/dist/src/components/semiotic-network.js +30 -0
  118. package/ai/dist/src/components/semiotic-ordinal.js +28 -0
  119. package/ai/dist/src/components/semiotic-realtime.js +37 -0
  120. package/ai/dist/src/components/semiotic-server.js +8 -0
  121. package/ai/dist/src/components/semiotic-xy.js +41 -0
  122. package/ai/dist/src/components/semiotic.js +101 -0
  123. package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
  124. package/ai/dist/src/components/store/TooltipStore.js +13 -0
  125. package/ai/dist/src/components/store/createStore.js +77 -0
  126. package/ai/dist/src/components/svg/SvgHelper.js +308 -0
  127. package/ai/dist/src/components/svg/areaDrawing.js +312 -0
  128. package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
  129. package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
  130. package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
  131. package/ai/dist/src/components/svg/ckmeans.js +238 -0
  132. package/ai/dist/src/components/svg/contourLayout.js +73 -0
  133. package/ai/dist/src/components/svg/contourRenderer.js +53 -0
  134. package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
  135. package/ai/dist/src/components/svg/frameFunctions.js +579 -0
  136. package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
  137. package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
  138. package/ai/dist/src/components/svg/lineDrawing.js +427 -0
  139. package/ai/dist/src/components/svg/networkDrawing.js +207 -0
  140. package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
  141. package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
  142. package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
  143. package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
  144. package/ai/dist/src/components/svg/summaryAxis.js +48 -0
  145. package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
  146. package/ai/dist/src/components/svg/swarmLayout.js +128 -0
  147. package/ai/dist/src/components/types/annotationTypes.js +2 -0
  148. package/ai/dist/src/components/types/canvasTypes.js +2 -0
  149. package/ai/dist/src/components/types/generalTypes.js +2 -0
  150. package/ai/dist/src/components/types/interactionTypes.js +2 -0
  151. package/ai/dist/src/components/types/legendTypes.js +2 -0
  152. package/ai/dist/src/components/types/networkTypes.js +2 -0
  153. package/ai/dist/src/components/types/ordinalTypes.js +2 -0
  154. package/ai/dist/src/components/types/xyTypes.js +2 -0
  155. package/ai/dist/src/components/useBoundingRect.js +24 -0
  156. package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
  157. package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
  158. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
  159. package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
  160. package/ai/dist/src/setupTests.js +4 -0
  161. package/ai/examples.md +394 -0
  162. package/ai/schema.json +1178 -0
  163. package/ai/system-prompt.md +38 -0
  164. package/dist/Annotation.d.ts +3 -0
  165. package/dist/AnnotationLayer/AnnotationLayer.d.ts +25 -0
  166. package/dist/Axis/Axis.d.ts +7 -0
  167. package/dist/Axis/axisTitle.d.ts +10 -0
  168. package/dist/Axis/index.d.ts +2 -0
  169. package/dist/Axis/summaryGraphic.d.ts +17 -0
  170. package/dist/Brush.d.ts +12 -0
  171. package/dist/DividedLine.d.ts +16 -0
  172. package/dist/FacetController.d.ts +12 -0
  173. package/dist/Frame.d.ts +2 -0
  174. package/dist/InteractionLayer.d.ts +3 -0
  175. package/dist/Legend.d.ts +3 -0
  176. package/dist/MiniMap.d.ts +14 -0
  177. package/dist/MinimapXYFrame.d.ts +10 -0
  178. package/dist/NetworkFrame.d.ts +8 -0
  179. package/dist/OrdinalFrame.d.ts +8 -0
  180. package/dist/ResponsiveFrame.d.ts +22 -0
  181. package/dist/ResponsiveMinimapXYFrame.d.ts +3 -0
  182. package/dist/ResponsiveNetworkFrame.d.ts +3 -0
  183. package/dist/ResponsiveOrdinalFrame.d.ts +3 -0
  184. package/dist/ResponsiveXYFrame.d.ts +3 -0
  185. package/dist/SparkFrame.d.ts +14 -0
  186. package/dist/SparkNetworkFrame.d.ts +5 -0
  187. package/dist/SparkOrdinalFrame.d.ts +5 -0
  188. package/dist/SparkXYFrame.d.ts +5 -0
  189. package/dist/Tooltip/Tooltip.d.ts +141 -0
  190. package/dist/TooltipPositioner/index.d.ts +7 -0
  191. package/dist/VisualizationLayer.d.ts +33 -0
  192. package/dist/XYFrame.d.ts +8 -0
  193. package/dist/annotationLayerBehavior/annotationHandling.d.ts +19 -0
  194. package/dist/annotationLayerBehavior/d3labeler.d.ts +9 -0
  195. package/dist/annotationRules/baseRules.d.ts +25 -0
  196. package/dist/annotationRules/networkframeRules.d.ts +48 -0
  197. package/dist/annotationRules/orframeRules.d.ts +103 -0
  198. package/dist/annotationRules/xyframeRules.d.ts +117 -0
  199. package/dist/batchWork.d.ts +6 -0
  200. package/dist/charts/index.d.ts +62 -0
  201. package/dist/charts/network/ChordDiagram.d.ts +181 -0
  202. package/dist/charts/network/CirclePack.d.ts +103 -0
  203. package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
  204. package/dist/charts/network/SankeyDiagram.d.ts +195 -0
  205. package/dist/charts/network/TreeDiagram.d.ts +200 -0
  206. package/dist/charts/network/Treemap.d.ts +98 -0
  207. package/dist/charts/ordinal/BarChart.d.ts +119 -0
  208. package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
  209. package/dist/charts/ordinal/DonutChart.d.ts +95 -0
  210. package/dist/charts/ordinal/DotPlot.d.ts +128 -0
  211. package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
  212. package/dist/charts/ordinal/PieChart.d.ts +83 -0
  213. package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
  214. package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
  215. package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
  216. package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
  217. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
  218. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
  219. package/dist/charts/shared/ChartError.d.ts +19 -0
  220. package/dist/charts/shared/colorUtils.d.ts +62 -0
  221. package/dist/charts/shared/formatUtils.d.ts +82 -0
  222. package/dist/charts/shared/hooks.d.ts +20 -0
  223. package/dist/charts/shared/legendUtils.d.ts +32 -0
  224. package/dist/charts/shared/types.d.ts +58 -0
  225. package/dist/charts/shared/validateChartData.d.ts +41 -0
  226. package/dist/charts/shared/validateProps.d.ts +18 -0
  227. package/dist/charts/xy/AreaChart.d.ts +127 -0
  228. package/dist/charts/xy/BubbleChart.d.ts +157 -0
  229. package/dist/charts/xy/Heatmap.d.ts +153 -0
  230. package/dist/charts/xy/LineChart.d.ts +193 -0
  231. package/dist/charts/xy/Scatterplot.d.ts +50 -0
  232. package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
  233. package/dist/constants/coordinateNames.d.ts +8 -0
  234. package/dist/constants/frame_props.d.ts +13 -0
  235. package/dist/constants/jsx.d.ts +19 -0
  236. package/dist/data/dataFunctions.d.ts +45 -0
  237. package/dist/data/multiAccessorUtils.d.ts +1 -0
  238. package/dist/data/networkPipelineCache.d.ts +27 -0
  239. package/dist/data/ordinalPipelineCache.d.ts +33 -0
  240. package/dist/data/unflowedFunctions.d.ts +1 -0
  241. package/dist/data/xyPipelineCache.d.ts +35 -0
  242. package/dist/generic_utilities/functions.d.ts +1 -0
  243. package/dist/index.d.ts +133 -0
  244. package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +20 -0
  245. package/dist/network.js +8520 -0
  246. package/dist/network.js.map +1 -0
  247. package/dist/network.min.js +1 -0
  248. package/dist/network.module.js +8484 -0
  249. package/dist/network.module.js.map +1 -0
  250. package/dist/network.module.min.js +1 -0
  251. package/dist/ordinal.js +9276 -0
  252. package/dist/ordinal.js.map +1 -0
  253. package/dist/ordinal.min.js +1 -0
  254. package/dist/ordinal.module.js +9242 -0
  255. package/dist/ordinal.module.js.map +1 -0
  256. package/dist/ordinal.module.min.js +1 -0
  257. package/dist/processing/InteractionItems.d.ts +13 -0
  258. package/dist/processing/hierarchyUtils.d.ts +16 -0
  259. package/dist/processing/layouts/chordLayout.d.ts +2 -0
  260. package/dist/processing/layouts/forceLayout.d.ts +3 -0
  261. package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
  262. package/dist/processing/layouts/index.d.ts +8 -0
  263. package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
  264. package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
  265. package/dist/processing/layouts/types.d.ts +17 -0
  266. package/dist/processing/network.d.ts +111 -0
  267. package/dist/processing/networkDefaults.d.ts +36 -0
  268. package/dist/processing/networkLayoutHelpers.d.ts +54 -0
  269. package/dist/processing/ordinal.d.ts +102 -0
  270. package/dist/processing/ordinalConstants.d.ts +33 -0
  271. package/dist/processing/ordinalOverlays.d.ts +33 -0
  272. package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
  273. package/dist/processing/xyDrawing.d.ts +140 -0
  274. package/dist/realtime/BinAccumulator.d.ts +8 -0
  275. package/dist/realtime/IncrementalExtent.d.ts +13 -0
  276. package/dist/realtime/RealtimeFrame.d.ts +4 -0
  277. package/dist/realtime/RingBuffer.d.ts +19 -0
  278. package/dist/realtime/renderers/barRenderer.d.ts +2 -0
  279. package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
  280. package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
  281. package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
  282. package/dist/realtime/renderers/types.d.ts +9 -0
  283. package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
  284. package/dist/realtime/types.d.ts +113 -0
  285. package/dist/realtime.js +1598 -0
  286. package/dist/realtime.js.map +1 -0
  287. package/dist/realtime.min.js +1 -0
  288. package/dist/realtime.module.js +1566 -0
  289. package/dist/realtime.module.js.map +1 -0
  290. package/dist/realtime.module.min.js +1 -0
  291. package/dist/semiotic-ai.d.ts +28 -0
  292. package/dist/semiotic-ai.js +18722 -0
  293. package/dist/semiotic-ai.js.map +1 -0
  294. package/dist/semiotic-ai.min.js +1 -0
  295. package/dist/semiotic-ai.module.js +18668 -0
  296. package/dist/semiotic-ai.module.js.map +1 -0
  297. package/dist/semiotic-ai.module.min.js +1 -0
  298. package/dist/semiotic-network.d.ts +19 -0
  299. package/dist/semiotic-ordinal.d.ts +18 -0
  300. package/dist/semiotic-realtime.d.ts +23 -0
  301. package/dist/semiotic-server.d.ts +1 -0
  302. package/dist/semiotic-xy.d.ts +24 -0
  303. package/dist/semiotic.d.ts +51 -0
  304. package/dist/semiotic.js +18723 -12996
  305. package/dist/semiotic.js.map +1 -0
  306. package/dist/semiotic.min.js +1 -0
  307. package/dist/semiotic.module.js +18666 -12965
  308. package/dist/semiotic.module.js.map +1 -0
  309. package/dist/semiotic.module.min.js +1 -0
  310. package/dist/server/renderToStaticSVG.d.ts +9 -0
  311. package/dist/server.js +8360 -0
  312. package/dist/server.js.map +1 -0
  313. package/dist/server.min.js +1 -0
  314. package/dist/server.module.js +8331 -0
  315. package/dist/server.module.js.map +1 -0
  316. package/dist/server.module.min.js +1 -0
  317. package/dist/store/TooltipStore.d.ts +2 -0
  318. package/dist/store/createStore.d.ts +1 -0
  319. package/dist/svg/SvgHelper.d.ts +33 -0
  320. package/dist/svg/areaDrawing.d.ts +21 -0
  321. package/dist/svg/boxplotRenderer.d.ts +15 -0
  322. package/dist/svg/bucketizedRenderer.d.ts +16 -0
  323. package/dist/svg/ckbinsRenderer.d.ts +20 -0
  324. package/dist/svg/ckmeans.d.ts +69 -0
  325. package/dist/svg/contourLayout.d.ts +6 -0
  326. package/dist/svg/contourRenderer.d.ts +12 -0
  327. package/dist/svg/edgeGenerators.d.ts +51 -0
  328. package/dist/svg/frameFunctions.d.ts +108 -0
  329. package/dist/svg/graphAlgorithms.d.ts +14 -0
  330. package/dist/svg/hexbinLayout.d.ts +7 -0
  331. package/dist/svg/lineDrawing.d.ts +99 -0
  332. package/dist/svg/networkDrawing.d.ts +16 -0
  333. package/dist/svg/nodeGenerators.d.ts +58 -0
  334. package/dist/svg/pieceDrawing.d.ts +12 -0
  335. package/dist/svg/pieceLayouts.d.ts +53 -0
  336. package/dist/svg/sankeyLinks.d.ts +3 -0
  337. package/dist/svg/summaryAxis.d.ts +6 -0
  338. package/dist/svg/summaryLayouts.d.ts +53 -0
  339. package/dist/svg/swarmLayout.d.ts +13 -0
  340. package/dist/types/annotationTypes.d.ts +135 -0
  341. package/dist/types/canvasTypes.d.ts +9 -0
  342. package/dist/types/generalTypes.d.ts +238 -0
  343. package/dist/types/interactionTypes.d.ts +72 -0
  344. package/dist/types/legendTypes.d.ts +20 -0
  345. package/dist/types/networkTypes.d.ts +175 -0
  346. package/dist/types/ordinalTypes.d.ts +112 -0
  347. package/dist/types/xyTypes.d.ts +115 -0
  348. package/dist/useBoundingRect.d.ts +2 -0
  349. package/dist/useDerivedStateFromProps.d.ts +1 -0
  350. package/dist/useLegacyUnmountCallback.d.ts +2 -0
  351. package/dist/visualizationLayerBehavior/axis.d.ts +36 -0
  352. package/dist/visualizationLayerBehavior/general.d.ts +80 -0
  353. package/dist/xy.js +7944 -0
  354. package/dist/xy.js.map +1 -0
  355. package/dist/xy.min.js +1 -0
  356. package/dist/xy.module.js +7903 -0
  357. package/dist/xy.module.js.map +1 -0
  358. package/dist/xy.module.min.js +1 -0
  359. package/package.json +116 -65
@@ -0,0 +1,119 @@
1
+ import * as React from "react";
2
+ import type { OrdinalFrameProps } from "../../types/ordinalTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * StackedBarChart component props
7
+ */
8
+ export interface StackedBarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ /**
10
+ * Array of data points with category, subcategory, and value.
11
+ * @example
12
+ * ```ts
13
+ * [
14
+ * {category: 'Q1', subcategory: 'Product A', value: 100},
15
+ * {category: 'Q1', subcategory: 'Product B', value: 150},
16
+ * {category: 'Q2', subcategory: 'Product A', value: 120}
17
+ * ]
18
+ * ```
19
+ */
20
+ data: TDatum[];
21
+ /**
22
+ * Field name or function to access category values
23
+ * @default "category"
24
+ */
25
+ categoryAccessor?: ChartAccessor<TDatum, string>;
26
+ /**
27
+ * Field name or function to access subcategory values (for stacking)
28
+ * @default "subcategory"
29
+ */
30
+ stackBy: ChartAccessor<TDatum, string>;
31
+ /**
32
+ * Field name or function to access numeric values
33
+ * @default "value"
34
+ */
35
+ valueAccessor?: ChartAccessor<TDatum, number>;
36
+ /**
37
+ * Chart orientation
38
+ * @default "vertical"
39
+ */
40
+ orientation?: "vertical" | "horizontal";
41
+ /**
42
+ * Label for the category axis
43
+ */
44
+ categoryLabel?: string;
45
+ /**
46
+ * Label for the value axis
47
+ */
48
+ valueLabel?: string;
49
+ /**
50
+ * Format function for value axis tick labels
51
+ */
52
+ valueFormat?: (d: number | string) => string;
53
+ /**
54
+ * Field name or function to determine bar color (typically stackBy)
55
+ * @default stackBy value
56
+ */
57
+ colorBy?: ChartAccessor<TDatum, string>;
58
+ /**
59
+ * Color scheme for categorical data or custom colors array
60
+ * @default "category10"
61
+ */
62
+ colorScheme?: string | string[];
63
+ /**
64
+ * Normalize to 100% (percentage stacked)
65
+ * @default false
66
+ */
67
+ normalize?: boolean;
68
+ /**
69
+ * Padding between bar groups (in pixels)
70
+ * @default 5
71
+ */
72
+ barPadding?: number;
73
+ /**
74
+ * Enable hover annotations
75
+ * @default true
76
+ */
77
+ enableHover?: boolean;
78
+ /**
79
+ * Show grid lines
80
+ * @default false
81
+ */
82
+ showGrid?: boolean;
83
+ /**
84
+ * Show legend for stack categories
85
+ * @default true
86
+ */
87
+ showLegend?: boolean;
88
+ /**
89
+ * Tooltip configuration
90
+ */
91
+ tooltip?: TooltipProp;
92
+ /**
93
+ * Additional OrdinalFrame props for advanced customization
94
+ * For full control, consider using OrdinalFrame directly
95
+ * @see https://semiotic.nteract.io/guides/ordinal-frame
96
+ */
97
+ frameProps?: Partial<Omit<OrdinalFrameProps, "data" | "size">>;
98
+ }
99
+ /**
100
+ * StackedBarChart - Visualize part-to-whole relationships with stacked bars.
101
+ *
102
+ * A simplified wrapper around OrdinalFrame for creating stacked bar charts.
103
+ *
104
+ * @example
105
+ * ```tsx
106
+ * <StackedBarChart
107
+ * data={[
108
+ * {category: 'Q1', product: 'A', value: 100},
109
+ * {category: 'Q1', product: 'B', value: 150},
110
+ * {category: 'Q2', product: 'A', value: 120},
111
+ * {category: 'Q2', product: 'B', value: 180}
112
+ * ]}
113
+ * stackBy="product"
114
+ * categoryLabel="Quarter"
115
+ * valueLabel="Sales"
116
+ * />
117
+ * ```
118
+ */
119
+ export declare function StackedBarChart<TDatum extends Record<string, any> = Record<string, any>>(props: StackedBarChartProps<TDatum>): React.JSX.Element;
@@ -0,0 +1,137 @@
1
+ import * as React from "react";
2
+ import type { OrdinalFrameProps } from "../../types/ordinalTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * SwarmPlot component props
7
+ */
8
+ export interface SwarmPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ /**
10
+ * Array of data points with category and value.
11
+ * @example
12
+ * ```ts
13
+ * [
14
+ * {category: 'Group A', value: 10, type: 'X'},
15
+ * {category: 'Group A', value: 12, type: 'Y'},
16
+ * {category: 'Group B', value: 15, type: 'X'}
17
+ * ]
18
+ * ```
19
+ */
20
+ data: TDatum[];
21
+ /**
22
+ * Field name or function to access category values
23
+ * @default "category"
24
+ */
25
+ categoryAccessor?: ChartAccessor<TDatum, string>;
26
+ /**
27
+ * Field name or function to access numeric values
28
+ * @default "value"
29
+ */
30
+ valueAccessor?: ChartAccessor<TDatum, number>;
31
+ /**
32
+ * Chart orientation
33
+ * @default "vertical"
34
+ */
35
+ orientation?: "vertical" | "horizontal";
36
+ /**
37
+ * Label for the category axis
38
+ */
39
+ categoryLabel?: string;
40
+ /**
41
+ * Label for the value axis
42
+ */
43
+ valueLabel?: string;
44
+ /**
45
+ * Format function for value axis tick labels
46
+ */
47
+ valueFormat?: (d: number | string) => string;
48
+ /**
49
+ * Field name or function to determine point color
50
+ * @example
51
+ * ```ts
52
+ * colorBy="type"
53
+ * colorBy={d => d.score > 10 ? 'red' : 'blue'}
54
+ * ```
55
+ */
56
+ colorBy?: ChartAccessor<TDatum, string>;
57
+ /**
58
+ * Color scheme for categorical data or custom colors array
59
+ * @default "category10"
60
+ */
61
+ colorScheme?: string | string[];
62
+ /**
63
+ * Field name or function to determine point size
64
+ * @example
65
+ * ```ts
66
+ * sizeBy="importance"
67
+ * sizeBy={d => Math.sqrt(d.value)}
68
+ * ```
69
+ */
70
+ sizeBy?: ChartAccessor<TDatum, number>;
71
+ /**
72
+ * Min and max radius for points when using dynamic sizing
73
+ * @default [3, 8]
74
+ */
75
+ sizeRange?: [number, number];
76
+ /**
77
+ * Default point radius when sizeBy is not specified
78
+ * @default 4
79
+ */
80
+ pointRadius?: number;
81
+ /**
82
+ * Point opacity
83
+ * @default 0.7
84
+ */
85
+ pointOpacity?: number;
86
+ /**
87
+ * Padding between categories (in pixels)
88
+ * @default 20
89
+ */
90
+ categoryPadding?: number;
91
+ /**
92
+ * Enable hover annotations
93
+ * @default true
94
+ */
95
+ enableHover?: boolean;
96
+ /**
97
+ * Show grid lines
98
+ * @default false
99
+ */
100
+ showGrid?: boolean;
101
+ /**
102
+ * Show legend
103
+ * @default true (when colorBy is specified)
104
+ */
105
+ showLegend?: boolean;
106
+ /**
107
+ * Tooltip configuration
108
+ */
109
+ tooltip?: TooltipProp;
110
+ /**
111
+ * Additional OrdinalFrame props for advanced customization
112
+ * For full control, consider using OrdinalFrame directly
113
+ * @see https://semiotic.nteract.io/guides/ordinal-frame
114
+ */
115
+ frameProps?: Partial<Omit<OrdinalFrameProps, "data" | "size">>;
116
+ }
117
+ /**
118
+ * SwarmPlot - Visualize distributions with non-overlapping points.
119
+ *
120
+ * A simplified wrapper around OrdinalFrame for creating swarm plots (beeswarm plots).
121
+ *
122
+ * @example
123
+ * ```tsx
124
+ * <SwarmPlot
125
+ * data={[
126
+ * {category: 'Group A', value: 10},
127
+ * {category: 'Group A', value: 12},
128
+ * {category: 'Group A', value: 11},
129
+ * {category: 'Group B', value: 15},
130
+ * {category: 'Group B', value: 14}
131
+ * ]}
132
+ * categoryLabel="Group"
133
+ * valueLabel="Value"
134
+ * />
135
+ * ```
136
+ */
137
+ export declare function SwarmPlot<TDatum extends Record<string, any> = Record<string, any>>(props: SwarmPlotProps<TDatum>): React.JSX.Element;
@@ -0,0 +1,102 @@
1
+ import * as React from "react";
2
+ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
3
+ import type { ReactNode } from "react";
4
+ export interface RealtimeBarChartProps {
5
+ /** Time interval for binning */
6
+ binSize: number;
7
+ /** Chart dimensions as [width, height] */
8
+ size?: [number, number];
9
+ /** Chart margins */
10
+ margin?: {
11
+ top?: number;
12
+ right?: number;
13
+ bottom?: number;
14
+ left?: number;
15
+ };
16
+ /** CSS class name */
17
+ className?: string;
18
+ /** Direction time flows */
19
+ arrowOfTime?: ArrowOfTime;
20
+ /** Data retention strategy */
21
+ windowMode?: WindowMode;
22
+ /** Ring buffer capacity */
23
+ windowSize?: number;
24
+ /** Controlled data array */
25
+ data?: Record<string, any>[];
26
+ /** Time value accessor */
27
+ timeAccessor?: string | ((d: Record<string, any>) => number);
28
+ /** Value accessor */
29
+ valueAccessor?: string | ((d: Record<string, any>) => number);
30
+ /** Fixed time domain */
31
+ timeExtent?: [number, number];
32
+ /** Fixed value domain */
33
+ valueExtent?: [number, number];
34
+ /** Extent padding factor */
35
+ extentPadding?: number;
36
+ /**
37
+ * Category accessor for stacked bars.
38
+ * When provided, bars are stacked by category within each bin.
39
+ */
40
+ categoryAccessor?: string | ((d: Record<string, any>) => string);
41
+ /**
42
+ * Category-to-color map for stacked bars.
43
+ * Keys also determine stack order (listed keys first, then alphabetical).
44
+ */
45
+ colors?: Record<string, string>;
46
+ /** Bar fill color (non-stacked mode) */
47
+ fill?: string;
48
+ /** Bar stroke color */
49
+ stroke?: string;
50
+ /** Bar stroke width */
51
+ strokeWidth?: number;
52
+ /** Gap between bars in pixels */
53
+ gap?: number;
54
+ /** Show canvas-drawn axes */
55
+ showAxes?: boolean;
56
+ /** Background fill color */
57
+ background?: string;
58
+ /** Enable hover interaction */
59
+ enableHover?: boolean | HoverAnnotationConfig;
60
+ /** Custom tooltip renderer */
61
+ tooltipContent?: (d: HoverData) => ReactNode;
62
+ /** Callback on hover */
63
+ onHover?: (d: HoverData | null) => void;
64
+ /** Annotation objects */
65
+ annotations?: Record<string, any>[];
66
+ /** SVG annotation render function */
67
+ svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
68
+ /** Custom formatter for time axis ticks */
69
+ tickFormatTime?: (value: number) => string;
70
+ /** Custom formatter for value axis ticks */
71
+ tickFormatValue?: (value: number) => string;
72
+ }
73
+ /**
74
+ * RealtimeBarChart - Simplified wrapper for streaming temporal histograms.
75
+ *
76
+ * Wraps RealtimeFrame with `chartType="bar"` and exposes bar styling as
77
+ * top-level props. Supports both simple and stacked (categorical) modes.
78
+ *
79
+ * Edge bins that only partially fall within the visible time window are
80
+ * rendered at proportionally narrower widths (Datadog-style).
81
+ *
82
+ * @example
83
+ * ```tsx
84
+ * // Simple histogram
85
+ * <RealtimeBarChart
86
+ * ref={ref}
87
+ * binSize={20}
88
+ * fill="#007bff"
89
+ * enableHover
90
+ * />
91
+ *
92
+ * // Stacked by category
93
+ * <RealtimeBarChart
94
+ * ref={ref}
95
+ * binSize={25}
96
+ * categoryAccessor="category"
97
+ * colors={{ errors: "#dc3545", warnings: "#fd7e14", info: "#007bff" }}
98
+ * enableHover
99
+ * />
100
+ * ```
101
+ */
102
+ export declare const RealtimeBarChart: React.ForwardRefExoticComponent<RealtimeBarChartProps & React.RefAttributes<RealtimeFrameHandle>>;
@@ -0,0 +1,78 @@
1
+ import * as React from "react";
2
+ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
3
+ import type { ReactNode } from "react";
4
+ export interface RealtimeLineChartProps {
5
+ /** Chart dimensions as [width, height] */
6
+ size?: [number, number];
7
+ /** Chart margins */
8
+ margin?: {
9
+ top?: number;
10
+ right?: number;
11
+ bottom?: number;
12
+ left?: number;
13
+ };
14
+ /** CSS class name */
15
+ className?: string;
16
+ /** Direction time flows */
17
+ arrowOfTime?: ArrowOfTime;
18
+ /** Data retention strategy */
19
+ windowMode?: WindowMode;
20
+ /** Ring buffer capacity */
21
+ windowSize?: number;
22
+ /** Controlled data array */
23
+ data?: Record<string, any>[];
24
+ /** Time value accessor */
25
+ timeAccessor?: string | ((d: Record<string, any>) => number);
26
+ /** Value accessor */
27
+ valueAccessor?: string | ((d: Record<string, any>) => number);
28
+ /** Fixed time domain */
29
+ timeExtent?: [number, number];
30
+ /** Fixed value domain */
31
+ valueExtent?: [number, number];
32
+ /** Extent padding factor */
33
+ extentPadding?: number;
34
+ /** Line color */
35
+ stroke?: string;
36
+ /** Line width */
37
+ strokeWidth?: number;
38
+ /** Dash pattern (e.g. "4,2") */
39
+ strokeDasharray?: string;
40
+ /** Show canvas-drawn axes */
41
+ showAxes?: boolean;
42
+ /** Background fill color */
43
+ background?: string;
44
+ /** Enable hover interaction */
45
+ enableHover?: boolean | HoverAnnotationConfig;
46
+ /** Custom tooltip renderer */
47
+ tooltipContent?: (d: HoverData) => ReactNode;
48
+ /** Callback on hover */
49
+ onHover?: (d: HoverData | null) => void;
50
+ /** Annotation objects */
51
+ annotations?: Record<string, any>[];
52
+ /** SVG annotation render function */
53
+ svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
54
+ /** Custom formatter for time axis ticks */
55
+ tickFormatTime?: (value: number) => string;
56
+ /** Custom formatter for value axis ticks */
57
+ tickFormatValue?: (value: number) => string;
58
+ }
59
+ /**
60
+ * RealtimeLineChart - Simplified wrapper for streaming line charts.
61
+ *
62
+ * Wraps RealtimeFrame with `chartType="line"` and exposes stroke/strokeWidth
63
+ * as top-level props instead of requiring a `lineStyle` object.
64
+ *
65
+ * @example
66
+ * ```tsx
67
+ * const ref = useRef<RealtimeFrameHandle>(null)
68
+ *
69
+ * <RealtimeLineChart
70
+ * ref={ref}
71
+ * stroke="#007bff"
72
+ * strokeWidth={2}
73
+ * windowSize={200}
74
+ * enableHover
75
+ * />
76
+ * ```
77
+ */
78
+ export declare const RealtimeLineChart: React.ForwardRefExoticComponent<RealtimeLineChartProps & React.RefAttributes<RealtimeFrameHandle>>;
@@ -0,0 +1,88 @@
1
+ import * as React from "react";
2
+ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
3
+ import type { ReactNode } from "react";
4
+ export interface RealtimeSwarmChartProps {
5
+ /** Chart dimensions as [width, height] */
6
+ size?: [number, number];
7
+ /** Chart margins */
8
+ margin?: {
9
+ top?: number;
10
+ right?: number;
11
+ bottom?: number;
12
+ left?: number;
13
+ };
14
+ /** CSS class name */
15
+ className?: string;
16
+ /** Direction time flows */
17
+ arrowOfTime?: ArrowOfTime;
18
+ /** Data retention strategy */
19
+ windowMode?: WindowMode;
20
+ /** Ring buffer capacity */
21
+ windowSize?: number;
22
+ /** Controlled data array */
23
+ data?: Record<string, any>[];
24
+ /** Time value accessor */
25
+ timeAccessor?: string | ((d: Record<string, any>) => number);
26
+ /** Value accessor */
27
+ valueAccessor?: string | ((d: Record<string, any>) => number);
28
+ /** Fixed time domain */
29
+ timeExtent?: [number, number];
30
+ /** Fixed value domain */
31
+ valueExtent?: [number, number];
32
+ /** Extent padding factor */
33
+ extentPadding?: number;
34
+ /** Category accessor for color-coding dots */
35
+ categoryAccessor?: string | ((d: Record<string, any>) => string);
36
+ /** Category-to-color map */
37
+ colors?: Record<string, string>;
38
+ /** Dot radius */
39
+ radius?: number;
40
+ /** Dot fill color (when no categoryAccessor) */
41
+ fill?: string;
42
+ /** Dot opacity */
43
+ opacity?: number;
44
+ /** Dot stroke color */
45
+ stroke?: string;
46
+ /** Dot stroke width */
47
+ strokeWidth?: number;
48
+ /** Show canvas-drawn axes */
49
+ showAxes?: boolean;
50
+ /** Background fill color */
51
+ background?: string;
52
+ /** Enable hover interaction */
53
+ enableHover?: boolean | HoverAnnotationConfig;
54
+ /** Custom tooltip renderer */
55
+ tooltipContent?: (d: HoverData) => ReactNode;
56
+ /** Callback on hover */
57
+ onHover?: (d: HoverData | null) => void;
58
+ /** Annotation objects (including threshold coloring) */
59
+ annotations?: Record<string, any>[];
60
+ /** SVG annotation render function */
61
+ svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
62
+ /** Custom formatter for time axis ticks */
63
+ tickFormatTime?: (value: number) => string;
64
+ /** Custom formatter for value axis ticks */
65
+ tickFormatValue?: (value: number) => string;
66
+ }
67
+ /**
68
+ * RealtimeSwarmChart - Simplified wrapper for streaming dot/swarm charts.
69
+ *
70
+ * Wraps RealtimeFrame with `chartType="swarm"` and exposes dot styling as
71
+ * top-level props. Each data point renders as an individual dot at its
72
+ * (time, value) coordinates.
73
+ *
74
+ * Supports threshold coloring via annotations to recolor dots that cross
75
+ * value boundaries.
76
+ *
77
+ * @example
78
+ * ```tsx
79
+ * <RealtimeSwarmChart
80
+ * ref={ref}
81
+ * radius={4}
82
+ * opacity={0.8}
83
+ * categoryAccessor="sensor"
84
+ * colors={{ sensor1: "#007bff", sensor2: "#28a745" }}
85
+ * />
86
+ * ```
87
+ */
88
+ export declare const RealtimeSwarmChart: React.ForwardRefExoticComponent<RealtimeSwarmChartProps & React.RefAttributes<RealtimeFrameHandle>>;
@@ -0,0 +1,85 @@
1
+ import * as React from "react";
2
+ import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
3
+ import type { ReactNode } from "react";
4
+ export interface RealtimeWaterfallChartProps {
5
+ /** Chart dimensions as [width, height] */
6
+ size?: [number, number];
7
+ /** Chart margins */
8
+ margin?: {
9
+ top?: number;
10
+ right?: number;
11
+ bottom?: number;
12
+ left?: number;
13
+ };
14
+ /** CSS class name */
15
+ className?: string;
16
+ /** Direction time flows */
17
+ arrowOfTime?: ArrowOfTime;
18
+ /** Data retention strategy */
19
+ windowMode?: WindowMode;
20
+ /** Ring buffer capacity */
21
+ windowSize?: number;
22
+ /** Controlled data array */
23
+ data?: Record<string, any>[];
24
+ /** Time value accessor */
25
+ timeAccessor?: string | ((d: Record<string, any>) => number);
26
+ /** Value accessor (positive = gain, negative = loss) */
27
+ valueAccessor?: string | ((d: Record<string, any>) => number);
28
+ /** Fixed time domain */
29
+ timeExtent?: [number, number];
30
+ /** Fixed value domain */
31
+ valueExtent?: [number, number];
32
+ /** Extent padding factor */
33
+ extentPadding?: number;
34
+ /** Color for positive (gain) bars */
35
+ positiveColor?: string;
36
+ /** Color for negative (loss) bars */
37
+ negativeColor?: string;
38
+ /** Connector line stroke color (omit to hide connectors) */
39
+ connectorStroke?: string;
40
+ /** Connector line width */
41
+ connectorWidth?: number;
42
+ /** Gap between bars in pixels */
43
+ gap?: number;
44
+ /** Bar stroke color */
45
+ stroke?: string;
46
+ /** Bar stroke width */
47
+ strokeWidth?: number;
48
+ /** Show canvas-drawn axes */
49
+ showAxes?: boolean;
50
+ /** Background fill color */
51
+ background?: string;
52
+ /** Enable hover interaction */
53
+ enableHover?: boolean | HoverAnnotationConfig;
54
+ /** Custom tooltip renderer */
55
+ tooltipContent?: (d: HoverData) => ReactNode;
56
+ /** Callback on hover */
57
+ onHover?: (d: HoverData | null) => void;
58
+ /** Annotation objects */
59
+ annotations?: Record<string, any>[];
60
+ /** SVG annotation render function */
61
+ svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
62
+ /** Custom formatter for time axis ticks */
63
+ tickFormatTime?: (value: number) => string;
64
+ /** Custom formatter for value axis ticks */
65
+ tickFormatValue?: (value: number) => string;
66
+ }
67
+ /**
68
+ * RealtimeWaterfallChart - Simplified wrapper for streaming waterfall charts.
69
+ *
70
+ * Wraps RealtimeFrame with `chartType="waterfall"` and exposes waterfall styling
71
+ * as top-level props. Visualizes cumulative deltas as connected bars rising and
72
+ * falling from a running baseline.
73
+ *
74
+ * @example
75
+ * ```tsx
76
+ * <RealtimeWaterfallChart
77
+ * ref={ref}
78
+ * positiveColor="#28a745"
79
+ * negativeColor="#dc3545"
80
+ * connectorStroke="#999"
81
+ * windowSize={300}
82
+ * />
83
+ * ```
84
+ */
85
+ export declare const RealtimeWaterfallChart: React.ForwardRefExoticComponent<RealtimeWaterfallChartProps & React.RefAttributes<RealtimeFrameHandle>>;
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ export interface ChartErrorProps {
3
+ /** Component name for the error message */
4
+ componentName: string;
5
+ /** The error message to display */
6
+ message: string;
7
+ /** Chart width */
8
+ width: number;
9
+ /** Chart height */
10
+ height: number;
11
+ }
12
+ /**
13
+ * Renders a visible, styled error state inside the chart's dimensions.
14
+ * Shows the component name, error message, and a hint for developers.
15
+ *
16
+ * Designed to be obvious in development but not alarming in production —
17
+ * uses muted colors that adapt to light/dark backgrounds.
18
+ */
19
+ export default function ChartError({ componentName, message, width, height, }: ChartErrorProps): React.JSX.Element;
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Predefined color schemes
3
+ */
4
+ export declare const COLOR_SCHEMES: {
5
+ category10: any;
6
+ tableau10: any;
7
+ set3: any;
8
+ blues: any;
9
+ reds: any;
10
+ greens: any;
11
+ oranges: any;
12
+ purples: any;
13
+ viridis: any;
14
+ plasma: any;
15
+ };
16
+ /**
17
+ * Default colors for charts
18
+ */
19
+ export declare const DEFAULT_COLORS: any;
20
+ /**
21
+ * Gets a color for a data point based on the colorBy configuration
22
+ *
23
+ * @param dataPoint - The data point
24
+ * @param colorBy - Field name or function to determine color
25
+ * @param colorScale - Optional custom color scale
26
+ * @returns Color string
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * // Using a field name
31
+ * getColor({category: 'A', value: 10}, 'category', colorScale)
32
+ *
33
+ * // Using a function
34
+ * getColor({value: 10}, d => d.value > 5 ? 'red' : 'blue')
35
+ * ```
36
+ */
37
+ export declare function getColor(dataPoint: any, colorBy: string | ((d: any) => string), colorScale?: (v: any) => string): string;
38
+ /**
39
+ * Creates a color scale function from data
40
+ *
41
+ * @param data - Array of data points
42
+ * @param colorBy - Field name to use for coloring
43
+ * @param scheme - Color scheme name or custom palette
44
+ * @returns Color scale function
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const colorScale = createColorScale(data, 'category')
49
+ * const color = colorScale('A') // Returns color for category 'A'
50
+ * ```
51
+ */
52
+ export declare function createColorScale(data: Array<Record<string, any>>, colorBy: string, scheme?: string | string[]): (v: string) => string;
53
+ /**
54
+ * Generates a size function based on sizeBy configuration
55
+ *
56
+ * @param dataPoint - The data point
57
+ * @param sizeBy - Field name or function to determine size
58
+ * @param sizeRange - Min and max size range [min, max]
59
+ * @param domain - Optional domain for scaling [minValue, maxValue]
60
+ * @returns Size value
61
+ */
62
+ export declare function getSize(dataPoint: any, sizeBy: string | ((d: any) => number), sizeRange?: [number, number], domain?: [number, number]): number;