semiotic 2.0.3 → 3.0.0-beta.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 (508) hide show
  1. package/CLAUDE.md +828 -0
  2. package/README.md +215 -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 +374 -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/ChartErrorBoundary.js +91 -0
  15. package/ai/dist/src/components/DividedLine.js +65 -0
  16. package/ai/dist/src/components/Legend.js +140 -0
  17. package/ai/dist/src/components/LinkedCharts.js +95 -0
  18. package/ai/dist/src/components/ThemeProvider.js +79 -0
  19. package/ai/dist/src/components/Tooltip/Tooltip.js +309 -0
  20. package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
  21. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
  22. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
  23. package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
  24. package/ai/dist/src/components/annotationRules/networkframeRules.js +196 -0
  25. package/ai/dist/src/components/annotationRules/xyframeRules.js +297 -0
  26. package/ai/dist/src/components/batchWork.js +35 -0
  27. package/ai/dist/src/components/charts/index.js +109 -0
  28. package/ai/dist/src/components/charts/network/ChordDiagram.js +142 -0
  29. package/ai/dist/src/components/charts/network/CirclePack.js +108 -0
  30. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +121 -0
  31. package/ai/dist/src/components/charts/network/SankeyDiagram.js +155 -0
  32. package/ai/dist/src/components/charts/network/TreeDiagram.js +110 -0
  33. package/ai/dist/src/components/charts/network/Treemap.js +106 -0
  34. package/ai/dist/src/components/charts/ordinal/BarChart.js +156 -0
  35. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +139 -0
  36. package/ai/dist/src/components/charts/ordinal/DonutChart.js +130 -0
  37. package/ai/dist/src/components/charts/ordinal/DotPlot.js +126 -0
  38. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +129 -0
  39. package/ai/dist/src/components/charts/ordinal/Histogram.js +132 -0
  40. package/ai/dist/src/components/charts/ordinal/PieChart.js +128 -0
  41. package/ai/dist/src/components/charts/ordinal/RidgelinePlot.js +130 -0
  42. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +130 -0
  43. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +147 -0
  44. package/ai/dist/src/components/charts/ordinal/ViolinPlot.js +138 -0
  45. package/ai/dist/src/components/charts/realtime/RealtimeHeatmap.js +79 -0
  46. package/ai/dist/src/components/charts/realtime/RealtimeHistogram.js +114 -0
  47. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +93 -0
  48. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +105 -0
  49. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +106 -0
  50. package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
  51. package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
  52. package/ai/dist/src/components/charts/shared/formatUtils.js +213 -0
  53. package/ai/dist/src/components/charts/shared/hooks.js +49 -0
  54. package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
  55. package/ai/dist/src/components/charts/shared/selectionUtils.js +67 -0
  56. package/ai/dist/src/components/charts/shared/tooltipUtils.js +79 -0
  57. package/ai/dist/src/components/charts/shared/types.js +2 -0
  58. package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
  59. package/ai/dist/src/components/charts/shared/validateProps.js +736 -0
  60. package/ai/dist/src/components/charts/xy/AreaChart.js +230 -0
  61. package/ai/dist/src/components/charts/xy/BubbleChart.js +251 -0
  62. package/ai/dist/src/components/charts/xy/Heatmap.js +235 -0
  63. package/ai/dist/src/components/charts/xy/LineChart.js +307 -0
  64. package/ai/dist/src/components/charts/xy/MinimapChart.js +298 -0
  65. package/ai/dist/src/components/charts/xy/Scatterplot.js +172 -0
  66. package/ai/dist/src/components/charts/xy/ScatterplotMatrix.js +426 -0
  67. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +231 -0
  68. package/ai/dist/src/components/constants/coordinateNames.js +11 -0
  69. package/ai/dist/src/components/constants/frame_props.js +251 -0
  70. package/ai/dist/src/components/data/dataFunctions.js +487 -0
  71. package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
  72. package/ai/dist/src/components/data/transforms.js +143 -0
  73. package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
  74. package/ai/dist/src/components/export/exportChart.js +121 -0
  75. package/ai/dist/src/components/generic_utilities/functions.js +5 -0
  76. package/ai/dist/src/components/geometry/areaDrawing.js +312 -0
  77. package/ai/dist/src/components/geometry/contourLayout.js +73 -0
  78. package/ai/dist/src/components/geometry/hexbinLayout.js +163 -0
  79. package/ai/dist/src/components/geometry/lineDrawing.js +356 -0
  80. package/ai/dist/src/components/geometry/sankeyLinks.js +331 -0
  81. package/ai/dist/src/components/geometry/summaryLayouts.js +136 -0
  82. package/ai/dist/src/components/index.js +18 -0
  83. package/ai/dist/src/components/processing/InteractionItems.js +223 -0
  84. package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
  85. package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
  86. package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
  87. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
  88. package/ai/dist/src/components/processing/layouts/index.js +32 -0
  89. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
  90. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
  91. package/ai/dist/src/components/processing/layouts/types.js +2 -0
  92. package/ai/dist/src/components/processing/networkDefaults.js +39 -0
  93. package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
  94. package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
  95. package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
  96. package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
  97. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
  98. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
  99. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
  100. package/ai/dist/src/components/realtime/renderers/types.js +2 -0
  101. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
  102. package/ai/dist/src/components/realtime/types.js +2 -0
  103. package/ai/dist/src/components/semiotic-ai.js +89 -0
  104. package/ai/dist/src/components/semiotic-data.js +12 -0
  105. package/ai/dist/src/components/semiotic-network.js +38 -0
  106. package/ai/dist/src/components/semiotic-ordinal.js +28 -0
  107. package/ai/dist/src/components/semiotic-realtime.js +30 -0
  108. package/ai/dist/src/components/semiotic-server.js +8 -0
  109. package/ai/dist/src/components/semiotic-xy.js +35 -0
  110. package/ai/dist/src/components/semiotic.js +109 -0
  111. package/ai/dist/src/components/server/renderToStaticSVG.js +594 -0
  112. package/ai/dist/src/components/store/SelectionStore.js +91 -0
  113. package/ai/dist/src/components/store/ThemeStore.js +78 -0
  114. package/ai/dist/src/components/store/TooltipStore.js +13 -0
  115. package/ai/dist/src/components/store/createStore.js +81 -0
  116. package/ai/dist/src/components/store/useSelection.js +133 -0
  117. package/ai/dist/src/components/stream/CanvasHitTester.js +164 -0
  118. package/ai/dist/src/components/stream/DataSourceAdapter.js +99 -0
  119. package/ai/dist/src/components/stream/MarginalGraphics.js +266 -0
  120. package/ai/dist/src/components/stream/NetworkCanvasHitTester.js +228 -0
  121. package/ai/dist/src/components/stream/NetworkPipelineStore.js +498 -0
  122. package/ai/dist/src/components/stream/NetworkSVGOverlay.js +70 -0
  123. package/ai/dist/src/components/stream/NetworkSceneGraph.js +38 -0
  124. package/ai/dist/src/components/stream/OrdinalCanvasHitTester.js +146 -0
  125. package/ai/dist/src/components/stream/OrdinalPipelineStore.js +786 -0
  126. package/ai/dist/src/components/stream/OrdinalSVGOverlay.js +130 -0
  127. package/ai/dist/src/components/stream/ParticlePool.js +174 -0
  128. package/ai/dist/src/components/stream/PipelineStore.js +1243 -0
  129. package/ai/dist/src/components/stream/SVGOverlay.js +129 -0
  130. package/ai/dist/src/components/stream/SceneGraph.js +132 -0
  131. package/ai/dist/src/components/stream/StreamNetworkFrame.js +561 -0
  132. package/ai/dist/src/components/stream/StreamOrdinalFrame.js +492 -0
  133. package/ai/dist/src/components/stream/StreamXYFrame.js +590 -0
  134. package/ai/dist/src/components/stream/accessorUtils.js +20 -0
  135. package/ai/dist/src/components/stream/index.js +32 -0
  136. package/ai/dist/src/components/stream/layouts/chordLayoutPlugin.js +352 -0
  137. package/ai/dist/src/components/stream/layouts/forceLayoutPlugin.js +230 -0
  138. package/ai/dist/src/components/stream/layouts/hierarchyLayoutPlugin.js +568 -0
  139. package/ai/dist/src/components/stream/layouts/index.js +28 -0
  140. package/ai/dist/src/components/stream/layouts/sankeyLayoutPlugin.js +245 -0
  141. package/ai/dist/src/components/stream/networkTypes.js +17 -0
  142. package/ai/dist/src/components/stream/ordinalSceneBuilders/barScene.js +126 -0
  143. package/ai/dist/src/components/stream/ordinalSceneBuilders/connectorScene.js +62 -0
  144. package/ai/dist/src/components/stream/ordinalSceneBuilders/pieScene.js +33 -0
  145. package/ai/dist/src/components/stream/ordinalSceneBuilders/pointScene.js +63 -0
  146. package/ai/dist/src/components/stream/ordinalSceneBuilders/statisticalScene.js +278 -0
  147. package/ai/dist/src/components/stream/ordinalSceneBuilders/timelineScene.js +30 -0
  148. package/ai/dist/src/components/stream/ordinalSceneBuilders/types.js +2 -0
  149. package/ai/dist/src/components/stream/ordinalTypes.js +2 -0
  150. package/ai/dist/src/components/stream/renderers/areaCanvasRenderer.js +48 -0
  151. package/ai/dist/src/components/stream/renderers/barCanvasRenderer.js +70 -0
  152. package/ai/dist/src/components/stream/renderers/boxplotCanvasRenderer.js +75 -0
  153. package/ai/dist/src/components/stream/renderers/candlestickCanvasRenderer.js +28 -0
  154. package/ai/dist/src/components/stream/renderers/connectorCanvasRenderer.js +47 -0
  155. package/ai/dist/src/components/stream/renderers/heatmapCanvasRenderer.js +31 -0
  156. package/ai/dist/src/components/stream/renderers/lineCanvasRenderer.js +140 -0
  157. package/ai/dist/src/components/stream/renderers/networkArcRenderer.js +38 -0
  158. package/ai/dist/src/components/stream/renderers/networkCircleRenderer.js +37 -0
  159. package/ai/dist/src/components/stream/renderers/networkEdgeRenderer.js +102 -0
  160. package/ai/dist/src/components/stream/renderers/networkParticleRenderer.js +63 -0
  161. package/ai/dist/src/components/stream/renderers/networkRectRenderer.js +35 -0
  162. package/ai/dist/src/components/stream/renderers/pointCanvasRenderer.js +38 -0
  163. package/ai/dist/src/components/stream/renderers/swarmCanvasRenderer.js +10 -0
  164. package/ai/dist/src/components/stream/renderers/types.js +2 -0
  165. package/ai/dist/src/components/stream/renderers/violinCanvasRenderer.js +47 -0
  166. package/ai/dist/src/components/stream/renderers/waterfallCanvasRenderer.js +38 -0
  167. package/ai/dist/src/components/stream/renderers/wedgeCanvasRenderer.js +33 -0
  168. package/ai/dist/src/components/stream/types.js +2 -0
  169. package/ai/dist/src/components/types/annotationTypes.js +2 -0
  170. package/ai/dist/src/components/types/canvasTypes.js +2 -0
  171. package/ai/dist/src/components/types/generalTypes.js +2 -0
  172. package/ai/dist/src/components/types/interactionTypes.js +2 -0
  173. package/ai/dist/src/components/types/legendTypes.js +2 -0
  174. package/ai/dist/src/components/types/networkTypes.js +2 -0
  175. package/ai/dist/src/components/types/ordinalTypes.js +2 -0
  176. package/ai/dist/src/components/types/xyTypes.js +2 -0
  177. package/ai/dist/src/components/useBoundingRect.js +24 -0
  178. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +301 -0
  179. package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
  180. package/ai/dist/src/setupTests.js +4 -0
  181. package/ai/examples.md +489 -0
  182. package/ai/schema.json +1338 -0
  183. package/ai/system-prompt.md +41 -0
  184. package/dist/AnnotationLayer/AnnotationLayer.d.ts +0 -1
  185. package/dist/Axis/axisTitle.d.ts +3 -3
  186. package/dist/Axis/summaryGraphic.d.ts +1 -1
  187. package/dist/ChartErrorBoundary.d.ts +39 -0
  188. package/dist/LinkedCharts.d.ts +42 -0
  189. package/dist/ThemeProvider.d.ts +12 -0
  190. package/dist/Tooltip/Tooltip.d.ts +141 -0
  191. package/dist/TooltipPositioner/index.d.ts +1 -1
  192. package/dist/annotationLayerBehavior/annotationHandling.d.ts +2 -2
  193. package/dist/annotationRules/networkframeRules.d.ts +2 -2
  194. package/dist/annotationRules/xyframeRules.d.ts +2 -2
  195. package/dist/batchWork.d.ts +1 -1
  196. package/dist/charts/index.d.ts +74 -0
  197. package/dist/charts/network/ChordDiagram.d.ts +36 -0
  198. package/dist/charts/network/CirclePack.d.ts +32 -0
  199. package/dist/charts/network/ForceDirectedGraph.d.ts +38 -0
  200. package/dist/charts/network/SankeyDiagram.d.ts +38 -0
  201. package/dist/charts/network/TreeDiagram.d.ts +34 -0
  202. package/dist/charts/network/Treemap.d.ts +33 -0
  203. package/dist/charts/ordinal/BarChart.d.ts +32 -0
  204. package/dist/charts/ordinal/BoxPlot.d.ts +27 -0
  205. package/dist/charts/ordinal/DonutChart.d.ts +23 -0
  206. package/dist/charts/ordinal/DotPlot.d.ts +27 -0
  207. package/dist/charts/ordinal/GroupedBarChart.d.ts +26 -0
  208. package/dist/charts/ordinal/Histogram.d.ts +26 -0
  209. package/dist/charts/ordinal/PieChart.d.ts +21 -0
  210. package/dist/charts/ordinal/RidgelinePlot.d.ts +34 -0
  211. package/dist/charts/ordinal/StackedBarChart.d.ts +27 -0
  212. package/dist/charts/ordinal/SwarmPlot.d.ts +29 -0
  213. package/dist/charts/ordinal/ViolinPlot.d.ts +28 -0
  214. package/dist/charts/realtime/RealtimeHeatmap.d.ts +95 -0
  215. package/dist/charts/realtime/RealtimeHistogram.d.ts +119 -0
  216. package/dist/charts/realtime/RealtimeLineChart.d.ts +98 -0
  217. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +100 -0
  218. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +97 -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 +94 -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/selectionUtils.d.ts +51 -0
  225. package/dist/charts/shared/tooltipUtils.d.ts +18 -0
  226. package/dist/charts/shared/types.d.ts +97 -0
  227. package/dist/charts/shared/validateChartData.d.ts +41 -0
  228. package/dist/charts/shared/validateProps.d.ts +18 -0
  229. package/dist/charts/xy/AreaChart.d.ts +130 -0
  230. package/dist/charts/xy/BubbleChart.d.ts +164 -0
  231. package/dist/charts/xy/Heatmap.d.ts +156 -0
  232. package/dist/charts/xy/LineChart.d.ts +196 -0
  233. package/dist/charts/xy/MinimapChart.d.ts +73 -0
  234. package/dist/charts/xy/Scatterplot.d.ts +55 -0
  235. package/dist/charts/xy/ScatterplotMatrix.d.ts +71 -0
  236. package/dist/charts/xy/StackedAreaChart.d.ts +134 -0
  237. package/dist/constants/frame_props.d.ts +9 -0
  238. package/dist/data/dataFunctions.d.ts +10 -11
  239. package/dist/data/transforms.d.ts +45 -0
  240. package/dist/export/exportChart.d.ts +16 -0
  241. package/dist/{svg → geometry}/areaDrawing.d.ts +3 -13
  242. package/dist/geometry/contourLayout.d.ts +6 -0
  243. package/dist/geometry/hexbinLayout.d.ts +7 -0
  244. package/dist/{svg → geometry}/lineDrawing.d.ts +7 -35
  245. package/dist/geometry/sankeyLinks.d.ts +2 -0
  246. package/dist/geometry/summaryLayouts.d.ts +45 -0
  247. package/dist/index.d.ts +1 -125
  248. package/dist/network.js +7495 -0
  249. package/dist/network.js.map +1 -0
  250. package/dist/network.min.js +1 -0
  251. package/dist/network.module.js +7458 -0
  252. package/dist/network.module.js.map +1 -0
  253. package/dist/network.module.min.js +1 -0
  254. package/dist/ordinal.js +6497 -0
  255. package/dist/ordinal.js.map +1 -0
  256. package/dist/ordinal.min.js +1 -0
  257. package/dist/ordinal.module.js +6465 -0
  258. package/dist/ordinal.module.js.map +1 -0
  259. package/dist/ordinal.module.min.js +1 -0
  260. package/dist/processing/InteractionItems.d.ts +5 -4
  261. package/dist/processing/hierarchyUtils.d.ts +16 -0
  262. package/dist/processing/layouts/chordLayout.d.ts +2 -0
  263. package/dist/processing/layouts/forceLayout.d.ts +3 -0
  264. package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
  265. package/dist/processing/layouts/index.d.ts +8 -0
  266. package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
  267. package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
  268. package/dist/processing/layouts/types.d.ts +17 -0
  269. package/dist/processing/networkDefaults.d.ts +36 -0
  270. package/dist/realtime/BinAccumulator.d.ts +8 -0
  271. package/dist/realtime/IncrementalExtent.d.ts +13 -0
  272. package/dist/realtime/RingBuffer.d.ts +19 -0
  273. package/dist/realtime/renderers/barRenderer.d.ts +2 -0
  274. package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
  275. package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
  276. package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
  277. package/dist/realtime/renderers/types.d.ts +9 -0
  278. package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
  279. package/dist/realtime/types.d.ts +113 -0
  280. package/dist/realtime.js +7072 -0
  281. package/dist/realtime.js.map +1 -0
  282. package/dist/realtime.min.js +1 -0
  283. package/dist/realtime.module.js +7043 -0
  284. package/dist/realtime.module.js.map +1 -0
  285. package/dist/realtime.module.min.js +1 -0
  286. package/dist/semiotic-ai.d.ts +36 -0
  287. package/dist/semiotic-ai.js +13323 -0
  288. package/dist/semiotic-ai.js.map +1 -0
  289. package/dist/semiotic-ai.min.js +1 -0
  290. package/dist/semiotic-ai.module.js +13264 -0
  291. package/dist/semiotic-ai.module.js.map +1 -0
  292. package/dist/semiotic-ai.module.min.js +1 -0
  293. package/dist/semiotic-data.d.ts +5 -0
  294. package/dist/semiotic-data.js +141 -0
  295. package/dist/semiotic-data.js.map +1 -0
  296. package/dist/semiotic-data.min.js +1 -0
  297. package/dist/semiotic-data.module.js +136 -0
  298. package/dist/semiotic-data.module.js.map +1 -0
  299. package/dist/semiotic-data.module.min.js +1 -0
  300. package/dist/semiotic-network.d.ts +23 -0
  301. package/dist/semiotic-ordinal.d.ts +19 -0
  302. package/dist/semiotic-realtime.d.ts +22 -0
  303. package/dist/semiotic-server.d.ts +1 -0
  304. package/dist/semiotic-xy.d.ts +21 -0
  305. package/dist/semiotic.d.ts +41 -28
  306. package/dist/semiotic.js +16257 -13130
  307. package/dist/semiotic.js.map +1 -0
  308. package/dist/semiotic.min.js +1 -0
  309. package/dist/semiotic.module.js +16198 -13100
  310. package/dist/semiotic.module.js.map +1 -0
  311. package/dist/semiotic.module.min.js +1 -0
  312. package/dist/server/renderToStaticSVG.d.ts +9 -0
  313. package/dist/server.js +5191 -0
  314. package/dist/server.js.map +1 -0
  315. package/dist/server.min.js +1 -0
  316. package/dist/server.module.js +5166 -0
  317. package/dist/server.module.js.map +1 -0
  318. package/dist/server.module.min.js +1 -0
  319. package/dist/store/SelectionStore.d.ts +29 -0
  320. package/dist/store/ThemeStore.d.ts +26 -0
  321. package/dist/store/useSelection.d.ts +66 -0
  322. package/dist/stream/CanvasHitTester.d.ts +18 -0
  323. package/dist/stream/DataSourceAdapter.d.ts +32 -0
  324. package/dist/stream/MarginalGraphics.d.ts +19 -0
  325. package/dist/stream/NetworkCanvasHitTester.d.ts +14 -0
  326. package/dist/stream/NetworkPipelineStore.d.ts +74 -0
  327. package/dist/stream/NetworkSVGOverlay.d.ts +40 -0
  328. package/dist/stream/NetworkSceneGraph.d.ts +14 -0
  329. package/dist/stream/OrdinalCanvasHitTester.d.ts +9 -0
  330. package/dist/stream/OrdinalPipelineStore.d.ts +65 -0
  331. package/dist/stream/OrdinalSVGOverlay.d.ts +34 -0
  332. package/dist/stream/ParticlePool.d.ts +28 -0
  333. package/dist/stream/PipelineStore.d.ts +161 -0
  334. package/dist/stream/SVGOverlay.d.ts +37 -0
  335. package/dist/stream/SceneGraph.d.ts +16 -0
  336. package/dist/stream/StreamNetworkFrame.d.ts +4 -0
  337. package/dist/stream/StreamOrdinalFrame.d.ts +4 -0
  338. package/dist/stream/StreamXYFrame.d.ts +4 -0
  339. package/dist/stream/accessorUtils.d.ts +2 -0
  340. package/dist/stream/index.d.ts +16 -0
  341. package/dist/stream/layouts/chordLayoutPlugin.d.ts +8 -0
  342. package/dist/stream/layouts/forceLayoutPlugin.d.ts +9 -0
  343. package/dist/stream/layouts/hierarchyLayoutPlugin.d.ts +17 -0
  344. package/dist/stream/layouts/index.d.ts +11 -0
  345. package/dist/stream/layouts/sankeyLayoutPlugin.d.ts +8 -0
  346. package/dist/stream/networkTypes.d.ts +346 -0
  347. package/dist/stream/ordinalSceneBuilders/barScene.d.ts +4 -0
  348. package/dist/stream/ordinalSceneBuilders/connectorScene.d.ts +3 -0
  349. package/dist/stream/ordinalSceneBuilders/pieScene.d.ts +3 -0
  350. package/dist/stream/ordinalSceneBuilders/pointScene.d.ts +4 -0
  351. package/dist/stream/ordinalSceneBuilders/statisticalScene.d.ts +6 -0
  352. package/dist/stream/ordinalSceneBuilders/timelineScene.d.ts +3 -0
  353. package/dist/stream/ordinalSceneBuilders/types.d.ts +21 -0
  354. package/dist/stream/ordinalTypes.d.ts +225 -0
  355. package/dist/stream/renderers/areaCanvasRenderer.d.ts +7 -0
  356. package/dist/stream/renderers/barCanvasRenderer.d.ts +7 -0
  357. package/dist/stream/renderers/boxplotCanvasRenderer.d.ts +2 -0
  358. package/dist/stream/renderers/candlestickCanvasRenderer.d.ts +2 -0
  359. package/dist/stream/renderers/connectorCanvasRenderer.d.ts +2 -0
  360. package/dist/stream/renderers/heatmapCanvasRenderer.d.ts +6 -0
  361. package/dist/stream/renderers/lineCanvasRenderer.d.ts +8 -0
  362. package/dist/stream/renderers/networkArcRenderer.d.ts +5 -0
  363. package/dist/stream/renderers/networkCircleRenderer.d.ts +5 -0
  364. package/dist/stream/renderers/networkEdgeRenderer.d.ts +10 -0
  365. package/dist/stream/renderers/networkParticleRenderer.d.ts +11 -0
  366. package/dist/stream/renderers/networkRectRenderer.d.ts +5 -0
  367. package/dist/stream/renderers/pointCanvasRenderer.d.ts +7 -0
  368. package/dist/stream/renderers/swarmCanvasRenderer.d.ts +7 -0
  369. package/dist/stream/renderers/types.d.ts +7 -0
  370. package/dist/stream/renderers/violinCanvasRenderer.d.ts +2 -0
  371. package/dist/stream/renderers/waterfallCanvasRenderer.d.ts +8 -0
  372. package/dist/stream/renderers/wedgeCanvasRenderer.d.ts +2 -0
  373. package/dist/stream/types.d.ts +307 -0
  374. package/dist/types/annotationTypes.d.ts +13 -18
  375. package/dist/types/canvasTypes.d.ts +1 -1
  376. package/dist/types/generalTypes.d.ts +41 -36
  377. package/dist/types/interactionTypes.d.ts +7 -9
  378. package/dist/types/legendTypes.d.ts +2 -2
  379. package/dist/types/networkTypes.d.ts +40 -30
  380. package/dist/types/ordinalTypes.d.ts +27 -18
  381. package/dist/types/xyTypes.d.ts +1 -95
  382. package/dist/visualizationLayerBehavior/axis.d.ts +3 -5
  383. package/dist/visualizationLayerBehavior/general.d.ts +8 -12
  384. package/dist/xy.js +6993 -0
  385. package/dist/xy.js.map +1 -0
  386. package/dist/xy.min.js +1 -0
  387. package/dist/xy.module.js +6957 -0
  388. package/dist/xy.module.js.map +1 -0
  389. package/dist/xy.module.min.js +1 -0
  390. package/package.json +123 -67
  391. package/dist/AnnotationLayer/helpers.d.ts +0 -6
  392. package/dist/AnnotationLayer/index.d.ts +0 -2
  393. package/dist/FacetController.d.ts +0 -12
  394. package/dist/Frame.d.ts +0 -2
  395. package/dist/InteractionLayer.d.ts +0 -3
  396. package/dist/Mark/Mark.d.ts +0 -3
  397. package/dist/Mark/Mark.types.d.ts +0 -10
  398. package/dist/Mark/constants/markTransition.d.ts +0 -10
  399. package/dist/Mark/markBehavior/drawing.d.ts +0 -13
  400. package/dist/MiniMap.d.ts +0 -14
  401. package/dist/MinimapXYFrame.d.ts +0 -10
  402. package/dist/NetworkFrame.d.ts +0 -4
  403. package/dist/OrdinalFrame.d.ts +0 -4
  404. package/dist/ResponsiveFrame.d.ts +0 -22
  405. package/dist/ResponsiveMinimapXYFrame.d.ts +0 -6
  406. package/dist/ResponsiveNetworkFrame.d.ts +0 -6
  407. package/dist/ResponsiveOrdinalFrame.d.ts +0 -6
  408. package/dist/ResponsiveXYFrame.d.ts +0 -6
  409. package/dist/SpanOrDiv.d.ts +0 -10
  410. package/dist/SparkFrame.d.ts +0 -14
  411. package/dist/SparkNetworkFrame.d.ts +0 -5
  412. package/dist/SparkOrdinalFrame.d.ts +0 -5
  413. package/dist/SparkXYFrame.d.ts +0 -5
  414. package/dist/VisualizationLayer.d.ts +0 -33
  415. package/dist/XYFrame.d.ts +0 -4
  416. package/dist/annotationRules/orframeRules.d.ts +0 -105
  417. package/dist/components/Annotation.d.ts +0 -3
  418. package/dist/components/AnnotationLayer/AnnotationLayer.d.ts +0 -26
  419. package/dist/components/Axis/Axis.d.ts +0 -7
  420. package/dist/components/Axis/axisTitle.d.ts +0 -10
  421. package/dist/components/Axis/index.d.ts +0 -2
  422. package/dist/components/Axis/summaryGraphic.d.ts +0 -17
  423. package/dist/components/Brush.d.ts +0 -12
  424. package/dist/components/DividedLine.d.ts +0 -16
  425. package/dist/components/FacetController.d.ts +0 -12
  426. package/dist/components/Frame.d.ts +0 -2
  427. package/dist/components/InteractionLayer.d.ts +0 -3
  428. package/dist/components/Legend.d.ts +0 -3
  429. package/dist/components/Mark/Mark.d.ts +0 -3
  430. package/dist/components/Mark/Mark.types.d.ts +0 -10
  431. package/dist/components/Mark/markBehavior/drawing.d.ts +0 -13
  432. package/dist/components/MiniMap.d.ts +0 -14
  433. package/dist/components/MinimapXYFrame.d.ts +0 -10
  434. package/dist/components/NetworkFrame.d.ts +0 -4
  435. package/dist/components/OrdinalFrame.d.ts +0 -4
  436. package/dist/components/ResponsiveFrame.d.ts +0 -22
  437. package/dist/components/ResponsiveMinimapXYFrame.d.ts +0 -6
  438. package/dist/components/ResponsiveNetworkFrame.d.ts +0 -6
  439. package/dist/components/ResponsiveOrdinalFrame.d.ts +0 -6
  440. package/dist/components/ResponsiveXYFrame.d.ts +0 -6
  441. package/dist/components/SpanOrDiv.d.ts +0 -10
  442. package/dist/components/SparkFrame.d.ts +0 -14
  443. package/dist/components/SparkNetworkFrame.d.ts +0 -5
  444. package/dist/components/SparkOrdinalFrame.d.ts +0 -5
  445. package/dist/components/SparkXYFrame.d.ts +0 -5
  446. package/dist/components/TooltipPositioner/index.d.ts +0 -7
  447. package/dist/components/VisualizationLayer.d.ts +0 -33
  448. package/dist/components/XYFrame.d.ts +0 -4
  449. package/dist/components/annotationLayerBehavior/annotationHandling.d.ts +0 -19
  450. package/dist/components/annotationLayerBehavior/d3labeler.d.ts +0 -9
  451. package/dist/components/annotationRules/baseRules.d.ts +0 -25
  452. package/dist/components/annotationRules/networkframeRules.d.ts +0 -48
  453. package/dist/components/annotationRules/orframeRules.d.ts +0 -105
  454. package/dist/components/annotationRules/xyframeRules.d.ts +0 -117
  455. package/dist/components/batchWork.d.ts +0 -6
  456. package/dist/components/constants/coordinateNames.d.ts +0 -8
  457. package/dist/components/constants/frame_props.d.ts +0 -4
  458. package/dist/components/constants/jsx.d.ts +0 -19
  459. package/dist/components/data/dataFunctions.d.ts +0 -46
  460. package/dist/components/data/multiAccessorUtils.d.ts +0 -1
  461. package/dist/components/data/unflowedFunctions.d.ts +0 -1
  462. package/dist/components/generic_utilities/functions.d.ts +0 -1
  463. package/dist/components/index.d.ts +0 -125
  464. package/dist/components/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
  465. package/dist/components/processing/InteractionItems.d.ts +0 -12
  466. package/dist/components/processing/network.d.ts +0 -114
  467. package/dist/components/processing/ordinal.d.ts +0 -102
  468. package/dist/components/processing/xyDrawing.d.ts +0 -135
  469. package/dist/components/semiotic.d.ts +0 -35
  470. package/dist/components/store/TooltipStore.d.ts +0 -2
  471. package/dist/components/store/createStore.d.ts +0 -1
  472. package/dist/components/svg/SvgHelper.d.ts +0 -37
  473. package/dist/components/svg/areaDrawing.d.ts +0 -31
  474. package/dist/components/svg/ckmeans.d.ts +0 -69
  475. package/dist/components/svg/frameFunctions.d.ts +0 -119
  476. package/dist/components/svg/lineDrawing.d.ts +0 -99
  477. package/dist/components/svg/networkDrawing.d.ts +0 -134
  478. package/dist/components/svg/pieceDrawing.d.ts +0 -13
  479. package/dist/components/svg/pieceLayouts.d.ts +0 -71
  480. package/dist/components/svg/summaryLayouts.d.ts +0 -74
  481. package/dist/components/types/annotationTypes.d.ts +0 -140
  482. package/dist/components/types/canvasTypes.d.ts +0 -9
  483. package/dist/components/types/generalTypes.d.ts +0 -236
  484. package/dist/components/types/interactionTypes.d.ts +0 -74
  485. package/dist/components/types/legendTypes.d.ts +0 -20
  486. package/dist/components/types/networkTypes.d.ts +0 -165
  487. package/dist/components/types/ordinalTypes.d.ts +0 -103
  488. package/dist/components/types/xyTypes.d.ts +0 -118
  489. package/dist/components/useBoundingRect.d.ts +0 -2
  490. package/dist/components/useDerivedStateFromProps.d.ts +0 -1
  491. package/dist/components/useLegacyUnmountCallback.d.ts +0 -1
  492. package/dist/components/visualizationLayerBehavior/axis.d.ts +0 -38
  493. package/dist/components/visualizationLayerBehavior/general.d.ts +0 -84
  494. package/dist/constants/jsx.d.ts +0 -19
  495. package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
  496. package/dist/processing/network.d.ts +0 -114
  497. package/dist/processing/ordinal.d.ts +0 -102
  498. package/dist/processing/xyDrawing.d.ts +0 -135
  499. package/dist/setupTests.d.ts +0 -1
  500. package/dist/svg/SvgHelper.d.ts +0 -37
  501. package/dist/svg/ckmeans.d.ts +0 -69
  502. package/dist/svg/frameFunctions.d.ts +0 -119
  503. package/dist/svg/networkDrawing.d.ts +0 -134
  504. package/dist/svg/pieceDrawing.d.ts +0 -13
  505. package/dist/svg/pieceLayouts.d.ts +0 -71
  506. package/dist/svg/summaryLayouts.d.ts +0 -74
  507. package/dist/useDerivedStateFromProps.d.ts +0 -1
  508. package/dist/useLegacyUnmountCallback.d.ts +0 -1
@@ -0,0 +1,41 @@
1
+ # Semiotic — React Data Visualization
2
+
3
+ Use `import { ComponentName } from "semiotic/ai"` for all components below.
4
+
5
+ ## Flat Array Data (`data: object[]`)
6
+ - **LineChart** — `xAccessor`, `yAccessor`, `lineBy` (multi-line), `curve`
7
+ - **AreaChart** — `xAccessor`, `yAccessor`, `areaBy`, `areaOpacity`
8
+ - **StackedAreaChart** — `xAccessor`, `yAccessor`, `areaBy` (required), `normalize`
9
+ - **Scatterplot** — `xAccessor`, `yAccessor`, `colorBy`, `sizeBy`
10
+ - **BubbleChart** — `xAccessor`, `yAccessor`, **`sizeBy`** (required), `sizeRange`
11
+ - **Heatmap** — `xAccessor`, `yAccessor`, `valueAccessor`, `colorScheme` ("blues"|"reds"|"greens"|"viridis")
12
+ - **BarChart** — `categoryAccessor`, `valueAccessor`, `orientation`, `sort`
13
+ - **StackedBarChart** — `categoryAccessor`, `valueAccessor`, **`stackBy`** (required), `normalize`
14
+ - **GroupedBarChart** — `categoryAccessor`, `valueAccessor`, **`groupBy`** (required)
15
+ - **SwarmPlot** — `categoryAccessor`, `valueAccessor`, `pointRadius`
16
+ - **BoxPlot** — `categoryAccessor`, `valueAccessor`, `showOutliers`
17
+ - **Histogram** — `categoryAccessor`, `valueAccessor`, `bins` (default 25), `relative`
18
+ - **ViolinPlot** — `categoryAccessor`, `valueAccessor`, `bins`, `curve`, `showIQR`
19
+ - **DotPlot** — `categoryAccessor`, `valueAccessor`, `sort`, `dotRadius`
20
+ - **PieChart** — `categoryAccessor`, `valueAccessor`
21
+ - **DonutChart** — `categoryAccessor`, `valueAccessor`, `innerRadius`, `centerContent`
22
+
23
+ ## Hierarchical Data (`data: { children: [...] }`)
24
+ - **TreeDiagram** — `childrenAccessor`, `nodeIdAccessor`, `layout` ("tree"|"cluster"|"partition"), `orientation`
25
+ - **Treemap** — `childrenAccessor`, `valueAccessor`, `nodeIdAccessor`, `colorByDepth`
26
+ - **CirclePack** — `childrenAccessor`, `valueAccessor`, `nodeIdAccessor`, `colorByDepth`
27
+
28
+ ## Network Data (`nodes: object[]`, `edges: object[]`)
29
+ - **ForceDirectedGraph** — **`nodes`**, **`edges`** (both required), `nodeIDAccessor`, `sourceAccessor`, `targetAccessor`
30
+ - **SankeyDiagram** — **`edges`** (required), `sourceAccessor`, `targetAccessor`, `valueAccessor`
31
+ - **ChordDiagram** — **`edges`** (required), `sourceAccessor`, `targetAccessor`, `valueAccessor`
32
+
33
+ ## Realtime (ref-based push API, canvas)
34
+ - **RealtimeLineChart** — `ref.current.push(datum)`, `timeAccessor`, `valueAccessor`, `windowSize`
35
+ - **RealtimeHistogram** — **`binSize`** (required), `timeAccessor`, `valueAccessor`
36
+ - **RealtimeSwarmChart** — `timeAccessor`, `valueAccessor`, `categoryAccessor`
37
+ - **RealtimeWaterfallChart** — `timeAccessor`, `valueAccessor`, `positiveColor`, `negativeColor`
38
+ - **StreamNetworkFrame** (`chartType="sankey"`) — `ref.current.push({ source, target, value })`, `sourceAccessor`, `targetAccessor`, `valueAccessor` (import from `semiotic`)
39
+
40
+ ## Common Props (all components)
41
+ `width`, `height`, `margin`, `title`, `colorBy`, `colorScheme`, `enableHover`, `tooltip`, `showLegend`, `className`, `frameProps`
@@ -2,7 +2,6 @@ import * as React from "react";
2
2
  import { AnnotationHandling, AnnotationTypes, AnnotationType } from "./../types/annotationTypes";
3
3
  import { LegendProps } from "./../types/legendTypes";
4
4
  export interface AnnotationLayerProps {
5
- useSpans: boolean;
6
5
  legendSettings?: LegendProps;
7
6
  margin: {
8
7
  top?: number;
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  export interface AxisTitleProps {
3
3
  className: string;
4
4
  translation: Array<number>;
5
5
  position: Array<number>;
6
6
  rotation: number | string;
7
7
  labelName: any;
8
- anchorMod: string;
8
+ anchorMod: "inherit" | "middle" | "end" | "start";
9
9
  }
10
- export default function AxisTitle(props: AxisTitleProps): JSX.Element;
10
+ export default function AxisTitle(props: AxisTitleProps): React.JSX.Element;
@@ -14,4 +14,4 @@ export interface SummaryGraphicProps {
14
14
  renderedSummary: any;
15
15
  points?: React.ReactNode;
16
16
  }
17
- export default function SummaryGraphic(props: SummaryGraphicProps): JSX.Element;
17
+ export default function SummaryGraphic(props: SummaryGraphicProps): React.JSX.Element;
@@ -0,0 +1,39 @@
1
+ import * as React from "react";
2
+ export interface ChartErrorBoundaryProps {
3
+ children: React.ReactNode;
4
+ /** Custom fallback to show on error. Can be a ReactNode or render function. */
5
+ fallback?: React.ReactNode | ((error: Error) => React.ReactNode);
6
+ /** Callback when an error is caught */
7
+ onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
8
+ }
9
+ interface ChartErrorBoundaryState {
10
+ error: Error | null;
11
+ }
12
+ /**
13
+ * Error boundary for Semiotic charts.
14
+ * Catches render errors and shows a friendly fallback instead of crashing the app.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <ChartErrorBoundary>
19
+ * <LineChart data={data} xAccessor="x" yAccessor="y" />
20
+ * </ChartErrorBoundary>
21
+ *
22
+ * // With custom fallback:
23
+ * <ChartErrorBoundary fallback={<div>Chart failed to render</div>}>
24
+ * <BarChart data={data} categoryAccessor="cat" valueAccessor="val" />
25
+ * </ChartErrorBoundary>
26
+ *
27
+ * // With error callback:
28
+ * <ChartErrorBoundary onError={(err) => logError(err)}>
29
+ * <Scatterplot data={data} xAccessor="x" yAccessor="y" />
30
+ * </ChartErrorBoundary>
31
+ * ```
32
+ */
33
+ export declare class ChartErrorBoundary extends React.Component<ChartErrorBoundaryProps, ChartErrorBoundaryState> {
34
+ constructor(props: ChartErrorBoundaryProps);
35
+ static getDerivedStateFromError(error: Error): ChartErrorBoundaryState;
36
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
37
+ render(): React.ReactNode;
38
+ }
39
+ export {};
@@ -0,0 +1,42 @@
1
+ import * as React from "react";
2
+ import type { ResolutionMode } from "./store/SelectionStore";
3
+ export { useSelection, useLinkedHover, useBrushSelection, useFilteredData } from "./store/useSelection";
4
+ export type { UseSelectionOptions, UseSelectionResult, UseLinkedHoverOptions, UseLinkedHoverResult, UseBrushSelectionOptions, UseBrushSelectionResult } from "./store/useSelection";
5
+ export interface LinkedChartsProps {
6
+ children: React.ReactNode;
7
+ /** Pre-configure selections with resolution modes */
8
+ selections?: Record<string, {
9
+ resolution?: ResolutionMode;
10
+ }>;
11
+ }
12
+ /**
13
+ * LinkedCharts — context provider for coordinated chart views.
14
+ *
15
+ * Wraps any number of chart components (at any depth) and enables
16
+ * cross-highlighting, brushing-and-linking, and cross-filtering via
17
+ * the `selection`, `linkedHover`, and `linkedBrush` props on each chart.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <LinkedCharts>
22
+ * <Scatterplot data={d} xAccessor="x" yAccessor="y" colorBy="cat"
23
+ * linkedHover={{ name: "hl", fields: ["cat"] }}
24
+ * selection={{ name: "hl" }} />
25
+ * <BarChart data={agg} categoryAccessor="cat" valueAccessor="total"
26
+ * selection={{ name: "hl" }} />
27
+ * </LinkedCharts>
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * // Cross-filtering (each chart's own brush is excluded from its filter)
33
+ * <LinkedCharts selections={{ dash: { resolution: "crossfilter" } }}>
34
+ * <Scatterplot data={d} xAccessor="age" yAccessor="income"
35
+ * linkedBrush={{ name: "dash", xField: "age", yField: "income" }}
36
+ * selection={{ name: "dash" }} />
37
+ * <BarChart data={d} categoryAccessor="region" valueAccessor="count"
38
+ * selection={{ name: "dash" }} />
39
+ * </LinkedCharts>
40
+ * ```
41
+ */
42
+ export declare function LinkedCharts({ children, selections }: LinkedChartsProps): React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { LIGHT_THEME, DARK_THEME } from "./store/ThemeStore";
3
+ import type { SemioticTheme } from "./store/ThemeStore";
4
+ interface ThemeProviderProps {
5
+ theme?: "light" | "dark" | Partial<SemioticTheme>;
6
+ children: React.ReactNode;
7
+ }
8
+ declare function ThemeProviderWrapper({ theme, children }: ThemeProviderProps): React.JSX.Element;
9
+ declare function useTheme(): SemioticTheme;
10
+ export { ThemeProviderWrapper as ThemeProvider, useTheme };
11
+ export { LIGHT_THEME, DARK_THEME };
12
+ export type { SemioticTheme };
@@ -0,0 +1,141 @@
1
+ import * as React from "react";
2
+ import type { Accessor } from "../charts/shared/types";
3
+ /**
4
+ * Configuration for a single tooltip field
5
+ */
6
+ export interface TooltipField {
7
+ /**
8
+ * Label for this field
9
+ */
10
+ label?: string;
11
+ /**
12
+ * Field name or accessor function to get the value
13
+ * (alias for 'accessor')
14
+ */
15
+ key?: Accessor;
16
+ /**
17
+ * Field name or accessor function to get the value
18
+ */
19
+ accessor?: Accessor;
20
+ /**
21
+ * Optional format function for the value
22
+ */
23
+ format?: (value: unknown) => string;
24
+ }
25
+ /**
26
+ * Base tooltip configuration
27
+ */
28
+ export interface TooltipConfig {
29
+ /**
30
+ * Array of fields to display in the tooltip
31
+ * Can be simple field names or full TooltipField objects
32
+ */
33
+ fields?: Array<string | TooltipField>;
34
+ /**
35
+ * Custom title accessor (field name or function)
36
+ */
37
+ title?: Accessor<string>;
38
+ /**
39
+ * Custom format function for all values (if fields don't specify their own)
40
+ */
41
+ format?: (value: unknown) => string;
42
+ /**
43
+ * Custom style object for the tooltip container
44
+ */
45
+ style?: React.CSSProperties;
46
+ /**
47
+ * Custom className for the tooltip container
48
+ */
49
+ className?: string;
50
+ }
51
+ /**
52
+ * Multi-line tooltip configuration
53
+ */
54
+ export interface MultiLineTooltipConfig extends TooltipConfig {
55
+ /**
56
+ * Show field labels (default: true)
57
+ */
58
+ showLabels?: boolean;
59
+ /**
60
+ * Separator between label and value (default: ": ")
61
+ */
62
+ separator?: string;
63
+ }
64
+ /**
65
+ * Default tooltip styles following best practices
66
+ */
67
+ export declare const defaultTooltipStyle: React.CSSProperties;
68
+ /**
69
+ * Create a simple tooltip that displays a single value or title
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * <Scatterplot
74
+ * data={data}
75
+ * tooltip={Tooltip({ title: "name" })}
76
+ * />
77
+ * ```
78
+ *
79
+ * @example
80
+ * ```tsx
81
+ * <BarChart
82
+ * data={data}
83
+ * tooltip={Tooltip({
84
+ * title: d => `${d.category}: ${d.value}`,
85
+ * style: { background: "#333" }
86
+ * })}
87
+ * />
88
+ * ```
89
+ */
90
+ export declare function Tooltip(config?: TooltipConfig): (data: Record<string, unknown>) => React.JSX.Element;
91
+ /**
92
+ * Create a multi-line tooltip that displays multiple fields
93
+ *
94
+ * @example
95
+ * ```tsx
96
+ * <Scatterplot
97
+ * data={data}
98
+ * tooltip={MultiLineTooltip({
99
+ * fields: ["name", "value", "category"]
100
+ * })}
101
+ * />
102
+ * ```
103
+ *
104
+ * @example
105
+ * ```tsx
106
+ * <LineChart
107
+ * data={data}
108
+ * tooltip={MultiLineTooltip({
109
+ * title: "series",
110
+ * fields: [
111
+ * { label: "X", accessor: "x", format: v => v.toFixed(2) },
112
+ * { label: "Y", accessor: "y", format: v => v.toFixed(2) },
113
+ * { label: "Category", accessor: "category" }
114
+ * ]
115
+ * })}
116
+ * />
117
+ * ```
118
+ *
119
+ * @example
120
+ * ```tsx
121
+ * <BarChart
122
+ * data={data}
123
+ * tooltip={MultiLineTooltip({
124
+ * fields: [
125
+ * { label: "Category", accessor: "category" },
126
+ * { label: "Sales", accessor: "value", format: v => `$${v.toLocaleString()}` }
127
+ * ],
128
+ * showLabels: true
129
+ * })}
130
+ * />
131
+ * ```
132
+ */
133
+ export declare function MultiLineTooltip(config?: MultiLineTooltipConfig): (data: Record<string, unknown>) => React.JSX.Element;
134
+ /**
135
+ * Type for tooltip prop that chart components accept
136
+ */
137
+ export type TooltipProp = boolean | ((data: Record<string, unknown>) => React.ReactNode) | ReturnType<typeof Tooltip> | ReturnType<typeof MultiLineTooltip> | TooltipConfig;
138
+ /**
139
+ * Convert a tooltip prop to the format Semiotic expects
140
+ */
141
+ export declare function normalizeTooltip(tooltip: TooltipProp): boolean | Function;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- declare type Props = {
2
+ type Props = {
3
3
  tooltipContent: Function;
4
4
  tooltipContentArgs?: object;
5
5
  };
@@ -1,8 +1,8 @@
1
1
  import { AnnotationProps } from "../types/annotationTypes";
2
- declare type NoteType = {
2
+ type NoteType = {
3
3
  props: AnnotationProps;
4
4
  };
5
- declare type AnnotationTypes = "marginalia" | "bump" | false;
5
+ type AnnotationTypes = "marginalia" | "bump" | false;
6
6
  interface Layout {
7
7
  type: AnnotationTypes;
8
8
  orient?: "nearest" | "left" | "right" | "top" | "bottom" | string[];
@@ -1,13 +1,13 @@
1
1
  import * as React from "react";
2
- export declare const htmlFrameHoverRule: ({ d: baseD, i, tooltipContent, optimizeCustomTooltipPosition, useSpans, nodes, edges, nodeIDAccessor }: {
2
+ export declare const htmlFrameHoverRule: ({ d: baseD, i, tooltipContent, optimizeCustomTooltipPosition, nodes, edges, nodeIDAccessor, adjustedSize }: {
3
3
  d: any;
4
4
  i: any;
5
5
  tooltipContent: any;
6
6
  optimizeCustomTooltipPosition: any;
7
- useSpans: any;
8
7
  nodes: any;
9
8
  edges: any;
10
9
  nodeIDAccessor: any;
10
+ adjustedSize: any;
11
11
  }) => React.JSX.Element;
12
12
  export declare const svgNodeRule: ({ d, i, nodeSizeAccessor }: {
13
13
  d: any;
@@ -93,12 +93,12 @@ export declare const svgAreaAnnotation: ({ d, i, xScale, xAccessor, yScale, yAcc
93
93
  yAccessor: any;
94
94
  annotationLayer: any;
95
95
  }) => React.JSX.Element[];
96
- export declare const htmlTooltipAnnotation: ({ content, screenCoordinates, i, d, useSpans }: {
96
+ export declare const htmlTooltipAnnotation: ({ content, screenCoordinates, i, d, adjustedSize }: {
97
97
  content: any;
98
98
  screenCoordinates: any;
99
99
  i: any;
100
100
  d: any;
101
- useSpans: any;
101
+ adjustedSize: any;
102
102
  }) => React.JSX.Element;
103
103
  export declare const svgRectEncloseAnnotation: ({ d, i, screenCoordinates }: {
104
104
  d: any;
@@ -1,4 +1,4 @@
1
- declare type BatchOptions = {
1
+ type BatchOptions = {
2
2
  signal?: AbortSignal;
3
3
  timeFrameMs?: number;
4
4
  };
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Higher-order chart components
3
+ *
4
+ * These components provide simplified, opinionated wrappers around
5
+ * XYFrame, OrdinalFrame, and NetworkFrame for common chart types.
6
+ *
7
+ * @module charts
8
+ */
9
+ export { Scatterplot } from "./xy/Scatterplot";
10
+ export type { ScatterplotProps } from "./xy/Scatterplot";
11
+ export { LineChart } from "./xy/LineChart";
12
+ export type { LineChartProps } from "./xy/LineChart";
13
+ export { AreaChart } from "./xy/AreaChart";
14
+ export type { AreaChartProps } from "./xy/AreaChart";
15
+ export { StackedAreaChart } from "./xy/StackedAreaChart";
16
+ export type { StackedAreaChartProps } from "./xy/StackedAreaChart";
17
+ export { Heatmap } from "./xy/Heatmap";
18
+ export type { HeatmapProps } from "./xy/Heatmap";
19
+ export { BubbleChart } from "./xy/BubbleChart";
20
+ export type { BubbleChartProps } from "./xy/BubbleChart";
21
+ export { ScatterplotMatrix } from "./xy/ScatterplotMatrix";
22
+ export type { ScatterplotMatrixProps } from "./xy/ScatterplotMatrix";
23
+ export { MinimapChart } from "./xy/MinimapChart";
24
+ export type { MinimapChartProps, MinimapConfig } from "./xy/MinimapChart";
25
+ export { BarChart } from "./ordinal/BarChart";
26
+ export type { BarChartProps } from "./ordinal/BarChart";
27
+ export { StackedBarChart } from "./ordinal/StackedBarChart";
28
+ export type { StackedBarChartProps } from "./ordinal/StackedBarChart";
29
+ export { SwarmPlot } from "./ordinal/SwarmPlot";
30
+ export type { SwarmPlotProps } from "./ordinal/SwarmPlot";
31
+ export { BoxPlot } from "./ordinal/BoxPlot";
32
+ export type { BoxPlotProps } from "./ordinal/BoxPlot";
33
+ export { Histogram } from "./ordinal/Histogram";
34
+ export type { HistogramProps } from "./ordinal/Histogram";
35
+ export { ViolinPlot } from "./ordinal/ViolinPlot";
36
+ export type { ViolinPlotProps } from "./ordinal/ViolinPlot";
37
+ export { RidgelinePlot } from "./ordinal/RidgelinePlot";
38
+ export type { RidgelinePlotProps } from "./ordinal/RidgelinePlot";
39
+ export { DotPlot } from "./ordinal/DotPlot";
40
+ export type { DotPlotProps } from "./ordinal/DotPlot";
41
+ export { PieChart } from "./ordinal/PieChart";
42
+ export type { PieChartProps } from "./ordinal/PieChart";
43
+ export { DonutChart } from "./ordinal/DonutChart";
44
+ export type { DonutChartProps } from "./ordinal/DonutChart";
45
+ export { GroupedBarChart } from "./ordinal/GroupedBarChart";
46
+ export type { GroupedBarChartProps } from "./ordinal/GroupedBarChart";
47
+ export { ForceDirectedGraph } from "./network/ForceDirectedGraph";
48
+ export type { ForceDirectedGraphProps } from "./network/ForceDirectedGraph";
49
+ export { ChordDiagram } from "./network/ChordDiagram";
50
+ export type { ChordDiagramProps } from "./network/ChordDiagram";
51
+ export { SankeyDiagram } from "./network/SankeyDiagram";
52
+ export type { SankeyDiagramProps } from "./network/SankeyDiagram";
53
+ export { TreeDiagram } from "./network/TreeDiagram";
54
+ export type { TreeDiagramProps } from "./network/TreeDiagram";
55
+ export { Treemap } from "./network/Treemap";
56
+ export type { TreemapProps } from "./network/Treemap";
57
+ export { CirclePack } from "./network/CirclePack";
58
+ export type { CirclePackProps } from "./network/CirclePack";
59
+ export { RealtimeLineChart } from "./realtime/RealtimeLineChart";
60
+ export type { RealtimeLineChartProps } from "./realtime/RealtimeLineChart";
61
+ export { RealtimeTemporalHistogram, RealtimeHistogram } from "./realtime/RealtimeHistogram";
62
+ export type { RealtimeTemporalHistogramProps, RealtimeHistogramProps } from "./realtime/RealtimeHistogram";
63
+ export { RealtimeSwarmChart } from "./realtime/RealtimeSwarmChart";
64
+ export type { RealtimeSwarmChartProps } from "./realtime/RealtimeSwarmChart";
65
+ export { RealtimeWaterfallChart } from "./realtime/RealtimeWaterfallChart";
66
+ export type { RealtimeWaterfallChartProps } from "./realtime/RealtimeWaterfallChart";
67
+ export { RealtimeHeatmap } from "./realtime/RealtimeHeatmap";
68
+ export type { RealtimeHeatmapProps } from "./realtime/RealtimeHeatmap";
69
+ export type { BaseChartProps, AxisConfig, Accessor, ChartAccessor } from "./shared/types";
70
+ export { useColorScale, useSortedData, DEFAULT_COLOR } from "./shared/hooks";
71
+ export { COLOR_SCHEMES, DEFAULT_COLORS, getColor, createColorScale, getSize } from "./shared/colorUtils";
72
+ export { formatNumber, formatDate, formatAxis, createTooltip, formatLargeNumber, truncateText } from "./shared/formatUtils";
73
+ export { Tooltip, MultiLineTooltip, normalizeTooltip } from "../Tooltip/Tooltip";
74
+ export type { TooltipProp, TooltipConfig, TooltipField, MultiLineTooltipConfig } from "../Tooltip/Tooltip";
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * ChordDiagram component props
7
+ */
8
+ export interface ChordDiagramProps<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
+ sourceAccessor?: ChartAccessor<TEdge, string>;
12
+ targetAccessor?: ChartAccessor<TEdge, string>;
13
+ valueAccessor?: ChartAccessor<TEdge, number>;
14
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
15
+ colorBy?: ChartAccessor<TNode, string>;
16
+ colorScheme?: string | string[];
17
+ edgeColorBy?: "source" | "target" | ((d: any) => string);
18
+ padAngle?: number;
19
+ groupWidth?: number;
20
+ sortGroups?: (a: any, b: any) => number;
21
+ nodeLabel?: ChartAccessor<TNode, string>;
22
+ showLabels?: boolean;
23
+ enableHover?: boolean;
24
+ edgeOpacity?: number;
25
+ tooltip?: TooltipProp;
26
+ frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
27
+ }
28
+ /**
29
+ * ChordDiagram - Visualize directed relationships with circular chord layout
30
+ *
31
+ * Wraps StreamNetworkFrame (canvas-first) for chord relationship visualization.
32
+ */
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
+ }
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { BaseChartProps, ChartAccessor, Accessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * CirclePack component props
7
+ */
8
+ export interface CirclePackProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ data: TNode;
10
+ childrenAccessor?: ChartAccessor<TNode, TNode[]>;
11
+ valueAccessor?: Accessor<number>;
12
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
13
+ colorBy?: ChartAccessor<TNode, string | number>;
14
+ colorScheme?: string | string[];
15
+ colorByDepth?: boolean;
16
+ showLabels?: boolean;
17
+ nodeLabel?: ChartAccessor<TNode, string>;
18
+ circleOpacity?: number;
19
+ padding?: number;
20
+ enableHover?: boolean;
21
+ tooltip?: TooltipProp;
22
+ frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
23
+ }
24
+ /**
25
+ * CirclePack - Visualize hierarchical data as nested circles.
26
+ *
27
+ * Wraps StreamNetworkFrame (canvas-first) for circle-pack visualization.
28
+ */
29
+ export declare function CirclePack<TNode extends Record<string, any> = Record<string, any>>(props: CirclePackProps<TNode>): React.JSX.Element;
30
+ export declare namespace CirclePack {
31
+ var displayName: string;
32
+ }
@@ -0,0 +1,38 @@
1
+ import * as React from "react";
2
+ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * ForceDirectedGraph component props
7
+ */
8
+ 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
+ nodeIDAccessor?: ChartAccessor<TNode, string>;
12
+ sourceAccessor?: ChartAccessor<TEdge, string>;
13
+ targetAccessor?: ChartAccessor<TEdge, string>;
14
+ nodeLabel?: ChartAccessor<TNode, string>;
15
+ colorBy?: ChartAccessor<TNode, string>;
16
+ colorScheme?: string | string[];
17
+ nodeSize?: number | ChartAccessor<TNode, number>;
18
+ nodeSizeRange?: [number, number];
19
+ edgeWidth?: number | ChartAccessor<TEdge, number>;
20
+ edgeColor?: string;
21
+ edgeOpacity?: number;
22
+ iterations?: number;
23
+ forceStrength?: number;
24
+ showLabels?: boolean;
25
+ enableHover?: boolean;
26
+ showLegend?: boolean;
27
+ tooltip?: TooltipProp;
28
+ frameProps?: Partial<Omit<StreamNetworkFrameProps, "nodes" | "edges" | "size">>;
29
+ }
30
+ /**
31
+ * ForceDirectedGraph - Visualize network relationships with force-directed layout
32
+ *
33
+ * Wraps StreamNetworkFrame (canvas-first) for force-directed network visualization.
34
+ */
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
+ }
@@ -0,0 +1,38 @@
1
+ import * as React from "react";
2
+ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * SankeyDiagram component props
7
+ */
8
+ export interface SankeyDiagramProps<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
+ sourceAccessor?: ChartAccessor<TEdge, string>;
12
+ targetAccessor?: ChartAccessor<TEdge, string>;
13
+ valueAccessor?: ChartAccessor<TEdge, number>;
14
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
15
+ colorBy?: ChartAccessor<TNode, string>;
16
+ colorScheme?: string | string[];
17
+ edgeColorBy?: "source" | "target" | "gradient" | ((d: any) => string);
18
+ orientation?: "horizontal" | "vertical";
19
+ nodeAlign?: "justify" | "left" | "right" | "center";
20
+ nodePaddingRatio?: number;
21
+ nodeWidth?: number;
22
+ nodeLabel?: ChartAccessor<TNode, string>;
23
+ showLabels?: boolean;
24
+ enableHover?: boolean;
25
+ edgeOpacity?: number;
26
+ edgeSort?: (a: any, b: any) => number;
27
+ tooltip?: TooltipProp;
28
+ frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
29
+ }
30
+ /**
31
+ * SankeyDiagram - Visualize flow and magnitude of movement between nodes
32
+ *
33
+ * Wraps StreamNetworkFrame (canvas-first) for Sankey flow visualization.
34
+ */
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
+ }
@@ -0,0 +1,34 @@
1
+ import * as React from "react";
2
+ import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
3
+ import type { BaseChartProps, ChartAccessor, Accessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * TreeDiagram component props
7
+ */
8
+ export interface TreeDiagramProps<TNode extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ data: TNode;
10
+ layout?: "tree" | "cluster" | "partition" | "treemap" | "circlepack";
11
+ orientation?: "vertical" | "horizontal" | "radial";
12
+ childrenAccessor?: ChartAccessor<TNode, TNode[]>;
13
+ valueAccessor?: Accessor<number>;
14
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
15
+ colorBy?: ChartAccessor<TNode, string | number>;
16
+ colorScheme?: string | string[];
17
+ colorByDepth?: boolean;
18
+ edgeStyle?: "line" | "curve";
19
+ nodeLabel?: ChartAccessor<TNode, string>;
20
+ showLabels?: boolean;
21
+ nodeSize?: number;
22
+ enableHover?: boolean;
23
+ tooltip?: TooltipProp;
24
+ frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
25
+ }
26
+ /**
27
+ * TreeDiagram - Visualize hierarchical data structures
28
+ *
29
+ * Wraps StreamNetworkFrame (canvas-first) for hierarchical tree visualization.
30
+ */
31
+ export declare function TreeDiagram<TNode extends Record<string, any> = Record<string, any>>(props: TreeDiagramProps<TNode>): React.JSX.Element;
32
+ export declare namespace TreeDiagram {
33
+ var displayName: string;
34
+ }