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,73 @@
1
+ import * as React from "react";
2
+ import type { StreamXYFrameProps } from "../../stream/types";
3
+ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ export interface MinimapConfig {
6
+ /** Height of the minimap overview (default: 60) */
7
+ height?: number;
8
+ /** Margin for the minimap chart */
9
+ margin?: {
10
+ top?: number;
11
+ right?: number;
12
+ bottom?: number;
13
+ left?: number;
14
+ };
15
+ /** Line style override for the minimap */
16
+ lineStyle?: (d: Record<string, any>) => Record<string, any>;
17
+ /** Show axes in minimap (default: false) */
18
+ showAxes?: boolean;
19
+ /** Background color for minimap */
20
+ background?: string;
21
+ /** Brush direction: "x" (default) or "y" */
22
+ brushDirection?: "x" | "y";
23
+ }
24
+ export interface MinimapChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps, AxisConfig {
25
+ /** Array of data points or line objects with coordinates */
26
+ data: TDatum[];
27
+ /** X accessor (default: "x") */
28
+ xAccessor?: ChartAccessor<TDatum, number>;
29
+ /** Y accessor (default: "y") */
30
+ yAccessor?: ChartAccessor<TDatum, number>;
31
+ /** Group data into multiple lines */
32
+ lineBy?: ChartAccessor<TDatum, string>;
33
+ /** Field containing coordinate arrays in line objects (default: "coordinates") */
34
+ lineDataAccessor?: string;
35
+ /** Color-by field or function */
36
+ colorBy?: ChartAccessor<TDatum, string>;
37
+ /** Color scheme (default: "category10") */
38
+ colorScheme?: string | string[];
39
+ /** Curve type (default: "linear") */
40
+ curve?: "linear" | "monotoneX" | "monotoneY" | "step" | "stepAfter" | "stepBefore" | "basis" | "cardinal" | "catmullRom";
41
+ /** Line stroke width (default: 2) */
42
+ lineWidth?: number;
43
+ /** Fill area under lines */
44
+ fillArea?: boolean;
45
+ /** Area opacity when fillArea is true (default: 0.3) */
46
+ areaOpacity?: number;
47
+ /** Show points on lines */
48
+ showPoints?: boolean;
49
+ /** Point radius (default: 3) */
50
+ pointRadius?: number;
51
+ /** Enable hover (default: true) */
52
+ enableHover?: boolean;
53
+ /** Show grid (default: false) */
54
+ showGrid?: boolean;
55
+ /** Show legend */
56
+ showLegend?: boolean;
57
+ /** Tooltip config */
58
+ tooltip?: TooltipProp;
59
+ /** Minimap configuration */
60
+ minimap?: MinimapConfig;
61
+ /** Show minimap above the main chart (default: false — below) */
62
+ renderBefore?: boolean;
63
+ /** Callback when brush extent changes */
64
+ onBrush?: (extent: [number, number] | null) => void;
65
+ /** Controlled brush extent */
66
+ brushExtent?: [number, number];
67
+ /** Additional StreamXYFrame props */
68
+ frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size">>;
69
+ }
70
+ export declare function MinimapChart<TDatum extends Record<string, any> = Record<string, any>>(props: MinimapChartProps<TDatum>): React.JSX.Element;
71
+ export declare namespace MinimapChart {
72
+ var displayName: string;
73
+ }
@@ -0,0 +1,55 @@
1
+ import * as React from "react";
2
+ import type { StreamXYFrameProps, MarginalGraphicsConfig } from "../../stream/types";
3
+ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * Scatterplot component props
7
+ */
8
+ export interface ScatterplotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps, AxisConfig {
9
+ /** Array of data points. Each point should have x and y properties. */
10
+ data: TDatum[];
11
+ /** Field name or function to access x values @default "x" */
12
+ xAccessor?: ChartAccessor<TDatum, number>;
13
+ /** Field name or function to access y values @default "y" */
14
+ yAccessor?: ChartAccessor<TDatum, number>;
15
+ /** Field name or function to determine point color */
16
+ colorBy?: ChartAccessor<TDatum, string>;
17
+ /** Color scheme for categorical data or custom colors array @default "category10" */
18
+ colorScheme?: string | string[];
19
+ /** Field name or function to determine point size */
20
+ sizeBy?: ChartAccessor<TDatum, number>;
21
+ /** Min and max radius for points @default [3, 15] */
22
+ sizeRange?: [number, number];
23
+ /** Default point radius when sizeBy is not specified @default 5 */
24
+ pointRadius?: number;
25
+ /** Point opacity @default 0.8 */
26
+ pointOpacity?: number;
27
+ /** Enable hover annotations @default true */
28
+ enableHover?: boolean;
29
+ /** Show grid lines @default false */
30
+ showGrid?: boolean;
31
+ /** Show legend @default true (when colorBy is specified) */
32
+ showLegend?: boolean;
33
+ /** Tooltip configuration */
34
+ tooltip?: TooltipProp;
35
+ /** Marginal distribution plots in axis margins */
36
+ marginalGraphics?: MarginalGraphicsConfig;
37
+ /** Additional StreamXYFrame props for advanced customization */
38
+ frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size">>;
39
+ }
40
+ /**
41
+ * Scatterplot - Visualize relationships between two continuous variables
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * <Scatterplot
46
+ * data={[{x: 1, y: 10}, {x: 2, y: 20}]}
47
+ * xLabel="Time"
48
+ * yLabel="Value"
49
+ * />
50
+ * ```
51
+ */
52
+ export declare function Scatterplot<TDatum extends Record<string, any> = Record<string, any>>(props: ScatterplotProps<TDatum>): React.JSX.Element;
53
+ export declare namespace Scatterplot {
54
+ var displayName: string;
55
+ }
@@ -0,0 +1,71 @@
1
+ import * as React from "react";
2
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
3
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
4
+ export interface ScatterplotMatrixProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
5
+ /** Array of data objects */
6
+ data: TDatum[];
7
+ /** Array of field names to include in the matrix */
8
+ fields: string[];
9
+ /** Optional display labels for fields */
10
+ fieldLabels?: Record<string, string>;
11
+ /** Field or function to determine point color */
12
+ colorBy?: ChartAccessor<TDatum, string>;
13
+ /** Color scheme @default "category10" */
14
+ colorScheme?: string | string[];
15
+ /** Size of each cell in pixels @default 150 */
16
+ cellSize?: number;
17
+ /** Gap between cells in pixels @default 4 */
18
+ cellGap?: number;
19
+ /** Point radius @default 2 */
20
+ pointRadius?: number;
21
+ /** Point opacity @default 0.5 */
22
+ pointOpacity?: number;
23
+ /** What to show on the diagonal @default "histogram" */
24
+ diagonal?: "histogram" | "density" | "label";
25
+ /** Number of histogram bins @default 20 */
26
+ histogramBins?: number;
27
+ /** Brush interaction mode @default "crossfilter" */
28
+ brushMode?: "crossfilter" | "intersect" | false;
29
+ /** Enable hover cross-highlighting @default true */
30
+ hoverMode?: boolean;
31
+ /** Opacity for unselected points @default 0.1 */
32
+ unselectedOpacity?: number;
33
+ /** Show grid lines @default false */
34
+ showGrid?: boolean;
35
+ /** Tooltip configuration */
36
+ tooltip?: TooltipProp;
37
+ /** Show legend @default true when colorBy is set */
38
+ showLegend?: boolean;
39
+ /** Field or function to identify each data point in tooltips. Defaults to "Row {index}" */
40
+ idAccessor?: string | ((d: TDatum) => string);
41
+ }
42
+ /**
43
+ * ScatterplotMatrix (SPLOM) — multi-dimensional scatter visualization
44
+ *
45
+ * Renders an N×N grid of scatterplots for all pairwise combinations of the
46
+ * specified fields. Diagonal cells show histograms. Supports two interaction
47
+ * modes:
48
+ *
49
+ * - **Hover** (default): hover a point to cross-highlight the same datum
50
+ * in every cell. Set `hoverMode={true}` (the default).
51
+ * - **Brush**: drag to select a region in one cell; matching points are
52
+ * highlighted across all cells (crossfilter: the brushed cell excludes
53
+ * its own filter). Set `hoverMode={false}` to enable brush mode.
54
+ *
55
+ * The two modes are mutually exclusive — hover takes priority when enabled.
56
+ *
57
+ * @example
58
+ * ```tsx
59
+ * <ScatterplotMatrix
60
+ * data={iris}
61
+ * fields={["sepalLength", "sepalWidth", "petalLength", "petalWidth"]}
62
+ * colorBy="species"
63
+ * cellSize={160}
64
+ * diagonal="histogram"
65
+ * />
66
+ * ```
67
+ */
68
+ export declare function ScatterplotMatrix<TDatum extends Record<string, any> = Record<string, any>>(props: ScatterplotMatrixProps<TDatum>): React.JSX.Element;
69
+ export declare namespace ScatterplotMatrix {
70
+ var displayName: string;
71
+ }
@@ -0,0 +1,134 @@
1
+ import * as React from "react";
2
+ import type { StreamXYFrameProps } from "../../stream/types";
3
+ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * StackedAreaChart component props
7
+ */
8
+ export interface StackedAreaChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps, AxisConfig {
9
+ /**
10
+ * Array of data points, grouped by category.
11
+ * @example
12
+ * ```ts
13
+ * [{x: 1, y: 10, category: 'A'}, {x: 2, y: 20, category: 'A'}, {x: 1, y: 15, category: 'B'}]
14
+ * ```
15
+ */
16
+ data: TDatum[];
17
+ /**
18
+ * Field name or function to access x values
19
+ * @default "x"
20
+ */
21
+ xAccessor?: ChartAccessor<TDatum, number>;
22
+ /**
23
+ * Field name or function to access y values
24
+ * @default "y"
25
+ */
26
+ yAccessor?: ChartAccessor<TDatum, number>;
27
+ /**
28
+ * Field name or function to group data into multiple areas
29
+ * @example
30
+ * ```ts
31
+ * areaBy="category" // Group by category field
32
+ * areaBy={d => d.group} // Use function
33
+ * ```
34
+ */
35
+ areaBy?: ChartAccessor<TDatum, string>;
36
+ /**
37
+ * Field name in area objects that contains coordinate arrays
38
+ * Used when data is in area objects format
39
+ * @default "coordinates"
40
+ */
41
+ lineDataAccessor?: string;
42
+ /**
43
+ * Field name or function to determine area color
44
+ * @example
45
+ * ```ts
46
+ * colorBy="category"
47
+ * colorBy={d => d.label}
48
+ * ```
49
+ */
50
+ colorBy?: ChartAccessor<TDatum, string>;
51
+ /**
52
+ * Color scheme for categorical data or custom colors array
53
+ * @default "category10"
54
+ */
55
+ colorScheme?: string | string[];
56
+ /**
57
+ * Curve interpolation type
58
+ * @default "monotoneX"
59
+ */
60
+ curve?: "linear" | "monotoneX" | "monotoneY" | "step" | "stepAfter" | "stepBefore" | "basis" | "cardinal" | "catmullRom";
61
+ /**
62
+ * Area opacity
63
+ * @default 0.7
64
+ */
65
+ areaOpacity?: number;
66
+ /**
67
+ * Show line on top of area
68
+ * @default true
69
+ */
70
+ showLine?: boolean;
71
+ /**
72
+ * Line stroke width when showLine is true
73
+ * @default 2
74
+ */
75
+ lineWidth?: number;
76
+ /**
77
+ * Normalize to 100% stacked (proportional)
78
+ * @default false
79
+ */
80
+ normalize?: boolean;
81
+ /**
82
+ * Enable hover annotations
83
+ * @default true
84
+ */
85
+ enableHover?: boolean;
86
+ /**
87
+ * Show grid lines
88
+ * @default false
89
+ */
90
+ showGrid?: boolean;
91
+ /**
92
+ * Show legend for multiple areas
93
+ * @default true (when multiple areas)
94
+ */
95
+ showLegend?: boolean;
96
+ /**
97
+ * Tooltip configuration
98
+ */
99
+ tooltip?: TooltipProp;
100
+ /**
101
+ * Additional StreamXYFrame props for advanced customization
102
+ * For full control, consider using StreamXYFrame directly
103
+ * @see https://semiotic.nteract.io/guides/xy-frame
104
+ */
105
+ frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size">>;
106
+ }
107
+ /**
108
+ * StackedAreaChart - Visualize quantities stacked on top of each other over continuous intervals
109
+ *
110
+ * Each series is stacked so that the total height represents the sum of all series.
111
+ * Use `normalize` for 100% stacked (proportional) areas.
112
+ *
113
+ * For overlapping (non-stacked) areas use {@link AreaChart}.
114
+ *
115
+ * @example
116
+ * ```tsx
117
+ * <StackedAreaChart
118
+ * data={[
119
+ * {x: 1, y: 10, category: 'A'},
120
+ * {x: 2, y: 20, category: 'A'},
121
+ * {x: 1, y: 15, category: 'B'},
122
+ * {x: 2, y: 25, category: 'B'}
123
+ * ]}
124
+ * areaBy="category"
125
+ * colorBy="category"
126
+ * xLabel="Time"
127
+ * yLabel="Value"
128
+ * />
129
+ * ```
130
+ */
131
+ export declare function StackedAreaChart<TDatum extends Record<string, any> = Record<string, any>>(props: StackedAreaChartProps<TDatum>): React.JSX.Element;
132
+ export declare namespace StackedAreaChart {
133
+ var displayName: string;
134
+ }
@@ -1,4 +1,13 @@
1
1
  export declare const xyFrameDataProps: string[];
2
+ export declare const xyFrameDataAffectingProps: string[];
3
+ export declare const xyFrameScaleAffectingProps: string[];
4
+ export declare const xyFrameStylingProps: string[];
2
5
  export declare const xyFrameChangeProps: string[];
6
+ export declare const orFrameDataAffectingProps: string[];
7
+ export declare const orFrameScaleAffectingProps: string[];
8
+ export declare const orFrameStylingProps: string[];
3
9
  export declare const orFrameChangeProps: string[];
10
+ export declare const networkFrameDataAffectingProps: string[];
11
+ export declare const networkFrameScaleAffectingProps: string[];
12
+ export declare const networkFrameStylingProps: string[];
4
13
  export declare const networkFrameChangeProps: string[];
@@ -1,8 +1,8 @@
1
- import { ProjectedPoint, ProjectedLine, ProjectedSummary, ProjectedBin, RawSummary, RawPoint, RawLine, LineTypeSettings, SummaryTypeSettings, GenericObject, ExtentType, MarginType } from "../types/generalTypes";
2
- declare type validStrFnTypes = boolean | string | number | GenericObject | GenericObject[] | RawPoint | RawPoint[];
3
- export declare function stringToFn<StrFnType extends validStrFnTypes>(accessor?: ((args?: GenericObject, index?: number) => StrFnType) | string | StrFnType, defaultAccessor?: (arg?: GenericObject, i?: number) => StrFnType, raw?: boolean): (d?: GenericObject, i?: number) => StrFnType;
4
- export declare function stringToArrayFn<StrFnType extends validStrFnTypes>(accessor?: ((arg?: GenericObject, index?: number) => StrFnType) | string | StrFnType | Array<((arg?: GenericObject, index?: number) => StrFnType) | string | StrFnType>, defaultAccessor?: (arg?: GenericObject, index?: number) => StrFnType, raw?: boolean): Array<(arg?: GenericObject, index?: number) => StrFnType>;
5
- declare type CalculateDataTypes = {
1
+ import { ProjectedPoint, ProjectedLine, ProjectedSummary, ProjectedBin, RawSummary, RawPoint, RawLine, LineTypeSettings, SummaryTypeSettings, ExtentType, MarginType } from "../types/generalTypes";
2
+ type validStrFnTypes = boolean | string | number | Record<string, any> | Record<string, any>[] | RawPoint | RawPoint[];
3
+ export declare function stringToFn<StrFnType extends validStrFnTypes>(accessor?: ((args?: Record<string, any>, index?: number) => StrFnType) | string | StrFnType, defaultAccessor?: (arg?: Record<string, any>, i?: number) => StrFnType, raw?: boolean): (d?: Record<string, any>, i?: number) => StrFnType;
4
+ export declare function stringToArrayFn<StrFnType extends validStrFnTypes>(accessor?: ((arg?: Record<string, any>, index?: number) => StrFnType) | string | StrFnType | Array<((arg?: Record<string, any>, index?: number) => StrFnType) | string | StrFnType>, defaultAccessor?: (arg?: Record<string, any>, index?: number) => StrFnType, raw?: boolean): Array<(arg?: Record<string, any>, index?: number) => StrFnType>;
5
+ type CalculateDataTypes = {
6
6
  lineDataAccessor: Array<Function>;
7
7
  summaryDataAccessor: Array<Function>;
8
8
  summaryStyleFn: Function;
@@ -25,7 +25,6 @@ declare type CalculateDataTypes = {
25
25
  chartSize: Array<number>;
26
26
  xScaleType: Function;
27
27
  yScaleType: Function;
28
- baseMarkProps?: object;
29
28
  margin: MarginType;
30
29
  defined?: Function;
31
30
  annotations: object[];
@@ -33,14 +32,14 @@ declare type CalculateDataTypes = {
33
32
  filterRenderedSummaries: (value: ProjectedSummary, index: number, array: ProjectedSummary[]) => any;
34
33
  filterRenderedPoints: (value: ProjectedPoint | ProjectedBin | ProjectedSummary, index: number, array: (ProjectedPoint | ProjectedBin | ProjectedSummary)[]) => any;
35
34
  };
36
- export declare const calculateDataExtent: ({ lineDataAccessor, xAccessor, yAccessor, summaries, points, lines, lineType, showLinePoints, showSummaryPoints, xExtent, yExtent, invertX, invertY, summaryDataAccessor, summaryType, adjustedSize: size, margin, baseMarkProps, summaryStyleFn, summaryClassFn, summaryRenderModeFn, chartSize, filterRenderedLines, filterRenderedSummaries, filterRenderedPoints, defined, annotations }: CalculateDataTypes) => {
37
- xExtent: any[];
38
- yExtent: any[];
35
+ export declare const calculateDataExtent: ({ lineDataAccessor, xAccessor, yAccessor, summaries, points, lines, lineType, showLinePoints, showSummaryPoints, xExtent, yExtent, invertX, invertY, summaryDataAccessor, summaryType, adjustedSize: size, margin, summaryStyleFn, summaryClassFn, summaryRenderModeFn, chartSize, filterRenderedLines, filterRenderedSummaries, filterRenderedPoints, defined, annotations }: CalculateDataTypes) => {
36
+ xExtent: number[];
37
+ yExtent: number[];
39
38
  projectedLines: ProjectedLine[];
40
39
  projectedPoints: ProjectedPoint[];
41
40
  projectedSummaries: ProjectedSummary[];
42
41
  fullDataset: (ProjectedPoint | ProjectedSummary | ProjectedBin)[];
43
- calculatedXExtent: any[];
44
- calculatedYExtent: any[];
42
+ calculatedXExtent: number[];
43
+ calculatedYExtent: number[];
45
44
  };
46
45
  export {};
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Data transform helpers for common data shapes.
3
+ * Import from "semiotic/data"
4
+ */
5
+ /**
6
+ * Bin continuous data into histogram-ready format.
7
+ * Returns array of { category, value } objects suitable for BarChart.
8
+ */
9
+ export declare function bin<T extends Record<string, any>>(data: T[], options: {
10
+ field: string;
11
+ bins?: number;
12
+ domain?: [number, number];
13
+ }): {
14
+ category: string;
15
+ value: number;
16
+ }[];
17
+ /**
18
+ * Group and aggregate data.
19
+ * Returns array of { [groupBy]: string, value: number } objects.
20
+ */
21
+ export declare function rollup<T extends Record<string, any>>(data: T[], options: {
22
+ groupBy: string;
23
+ value: string;
24
+ agg?: "sum" | "mean" | "count" | "min" | "max";
25
+ }): Record<string, any>[];
26
+ /**
27
+ * Group flat rows into line-chart-ready nested format.
28
+ * Returns array of { id, coordinates } objects for LineChart with lineBy.
29
+ */
30
+ export declare function groupBy<T extends Record<string, any>>(data: T[], options: {
31
+ key: string;
32
+ fields?: string[];
33
+ }): {
34
+ id: string;
35
+ coordinates: Record<string, any>[];
36
+ }[];
37
+ /**
38
+ * Pivot wide data to long format.
39
+ * Converts column-per-variable to row-per-variable.
40
+ */
41
+ export declare function pivot<T extends Record<string, any>>(data: T[], options: {
42
+ columns: string[];
43
+ nameField?: string;
44
+ valueField?: string;
45
+ }): Record<string, any>[];
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Export a semiotic chart to SVG or PNG from the browser.
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * const ref = useRef<HTMLDivElement>(null)
7
+ * // ... render chart inside ref ...
8
+ * <button onClick={() => exportChart(ref.current!)}>Download</button>
9
+ * ```
10
+ */
11
+ export declare function exportChart(container: HTMLElement, options?: {
12
+ format?: "svg" | "png";
13
+ filename?: string;
14
+ scale?: number;
15
+ background?: string;
16
+ }): Promise<void>;
@@ -1,23 +1,13 @@
1
1
  import { SummaryLayoutType } from "../types/xyTypes";
2
2
  import { ProjectedSummary } from "../types/generalTypes";
3
+ export { contouring } from "./contourLayout";
4
+ export { hexbinning } from "./hexbinLayout";
3
5
  export declare function lineBounding({ summaryType, data, defined }: {
4
6
  summaryType: any;
5
7
  data: any;
6
8
  defined: any;
7
9
  }): any[];
8
- export declare function contouring({ summaryType, data, finalXExtent, finalYExtent }: {
9
- summaryType: any;
10
- data: any;
11
- finalXExtent: any;
12
- finalYExtent: any;
13
- }): any[];
14
- export declare function hexbinning({ preprocess, processedData, summaryType: baseSummaryType, data: baseData, finalXExtent: baseXExtent, finalYExtent: baseYExtent, size, xScaleType, yScaleType, margin, baseMarkProps, styleFn, classFn, renderFn, chartSize }: SummaryLayoutType): any[] | {
15
- type: string;
16
- processedData: boolean;
17
- coordinates: any[];
18
- binMax: any;
19
- };
20
- export declare function heatmapping({ preprocess, processedData, summaryType: baseSummaryType, data: baseData, finalXExtent, finalYExtent, size, xScaleType, yScaleType, margin, baseMarkProps, styleFn, classFn, renderFn, chartSize }: SummaryLayoutType): ProjectedSummary | {
10
+ export declare function heatmapping({ preprocess, processedData, summaryType: baseSummaryType, data: baseData, finalXExtent, finalYExtent, size, xScaleType, yScaleType, margin, styleFn, classFn, renderFn, chartSize }: SummaryLayoutType): ProjectedSummary | {
21
11
  x: number;
22
12
  y: number;
23
13
  }[];
@@ -0,0 +1,6 @@
1
+ export declare function contouring({ summaryType, data, finalXExtent, finalYExtent }: {
2
+ summaryType: any;
3
+ data: any;
4
+ finalXExtent: any;
5
+ finalYExtent: any;
6
+ }): any[];
@@ -0,0 +1,7 @@
1
+ import { SummaryLayoutType } from "../types/xyTypes";
2
+ export declare function hexbinning({ preprocess, processedData, summaryType: baseSummaryType, data: baseData, finalXExtent: baseXExtent, finalYExtent: baseYExtent, size, xScaleType, yScaleType, margin, styleFn, classFn, renderFn, chartSize }: SummaryLayoutType): any[] | {
3
+ type: string;
4
+ processedData: boolean;
5
+ coordinates: any[];
6
+ binMax: any;
7
+ };
@@ -1,12 +1,11 @@
1
- import { ProjectedLine, ProjectedPoint, RawLine, RawSummary } from "../types/generalTypes";
2
- import { AnnotationType } from "../types/annotationTypes";
3
- declare type SummaryProjectionTypes = {
1
+ import { ProjectedLine, RawLine, RawSummary } from "../types/generalTypes";
2
+ type SummaryProjectionTypes = {
4
3
  data: Array<RawSummary>;
5
4
  summaryDataAccessor: Array<Function>;
6
5
  xAccessor: Array<Function>;
7
6
  yAccessor: Array<Function>;
8
7
  };
9
- declare type LineProjectionTypes = {
8
+ type LineProjectionTypes = {
10
9
  data: Array<RawLine>;
11
10
  lineDataAccessor: Array<Function>;
12
11
  xProp: string;
@@ -18,13 +17,13 @@ declare type LineProjectionTypes = {
18
17
  xAccessor: Array<Function>;
19
18
  yAccessor: Array<Function>;
20
19
  };
21
- declare type DifferenceLineProps = {
20
+ type DifferenceLineProps = {
22
21
  data: Array<ProjectedLine>;
23
22
  yProp: string;
24
23
  yPropTop: string;
25
24
  yPropBottom: string;
26
25
  };
27
- declare type StackedAreaTypes = {
26
+ type StackedAreaTypes = {
28
27
  type: string;
29
28
  data: Array<ProjectedLine>;
30
29
  xProp: string;
@@ -34,7 +33,7 @@ declare type StackedAreaTypes = {
34
33
  yPropTop: string;
35
34
  yPropBottom: string;
36
35
  };
37
- declare type CumulativeLineTypes = {
36
+ type CumulativeLineTypes = {
38
37
  type: string;
39
38
  data: Array<ProjectedLine>;
40
39
  yPropMiddle: string;
@@ -42,7 +41,7 @@ declare type CumulativeLineTypes = {
42
41
  yPropBottom: string;
43
42
  y1?: Function;
44
43
  };
45
- declare type LineChartTypes = {
44
+ type LineChartTypes = {
46
45
  data: Array<ProjectedLine>;
47
46
  y1?: Function;
48
47
  x1?: Function;
@@ -53,21 +52,6 @@ declare type LineChartTypes = {
53
52
  xPropMiddle: string;
54
53
  xPropBottom: string;
55
54
  };
56
- declare type RelativeYTypes = {
57
- point?: ProjectedPoint | AnnotationType;
58
- projectedYMiddle: string;
59
- projectedY: string;
60
- yAccessor: Array<Function>;
61
- yScale: Function;
62
- showLinePoints?: boolean | string;
63
- };
64
- declare type RelativeXTypes = {
65
- point?: ProjectedPoint | AnnotationType;
66
- projectedXMiddle: string;
67
- projectedX: string;
68
- xAccessor: Array<Function>;
69
- xScale: Function;
70
- };
71
55
  export declare const projectSummaryData: ({ data, summaryDataAccessor, xAccessor, yAccessor }: SummaryProjectionTypes) => any[];
72
56
  export declare const projectLineData: ({ data, lineDataAccessor, xProp, xPropTop, xPropBottom, yProp, yPropTop, yPropBottom, xAccessor, yAccessor }: LineProjectionTypes) => ProjectedLine[];
73
57
  export declare const differenceLine: ({ data, yProp, yPropTop, yPropBottom }: DifferenceLineProps) => ProjectedLine[];
@@ -84,16 +68,4 @@ export declare function funnelize({ data, steps, key }: {
84
68
  steps: Array<string>;
85
69
  key: string;
86
70
  }): any[];
87
- export declare function relativeY({ point, projectedY, yAccessor, yScale, showLinePoints }: RelativeYTypes): any;
88
- export declare function relativeX({ point, projectedXMiddle, projectedX, xAccessor, xScale }: RelativeXTypes): any;
89
- export declare function findPointByID({ point, idAccessor, lines, xScale, projectedX, xAccessor }: {
90
- point: ProjectedPoint;
91
- idAccessor: Function;
92
- lines: {
93
- data: ProjectedLine[];
94
- };
95
- xScale: Function;
96
- projectedX: string;
97
- xAccessor: Array<Function>;
98
- }): ProjectedPoint;
99
71
  export {};
@@ -0,0 +1,2 @@
1
+ export declare const areaLink: (d: any) => string;
2
+ export declare function circularAreaLink(link: any): any;
@@ -0,0 +1,45 @@
1
+ import { ProjectionTypes } from "../types/generalTypes";
2
+ type SummaryType = {
3
+ type: string | Function;
4
+ };
5
+ type ORFrameSummaryRendererTypes = {
6
+ data: Array<object>;
7
+ type: SummaryType;
8
+ renderMode: Function;
9
+ eventListenersGenerator: Function;
10
+ styleFn: Function;
11
+ classFn: Function;
12
+ projection: ProjectionTypes;
13
+ adjustedSize: Array<number>;
14
+ chartSize: number;
15
+ margin: object;
16
+ axisCreator?: Function;
17
+ };
18
+ export declare function orFrameSummaryRenderer({ data, type, renderMode, eventListenersGenerator, styleFn, classFn, projection, adjustedSize, chartSize, margin, axisCreator }: ORFrameSummaryRendererTypes): any;
19
+ /**
20
+ * Main drawing function for summary visualizations
21
+ */
22
+ export declare const drawSummaries: ({ data, type, renderMode, eventListenersGenerator, styleFn, classFn, projection, adjustedSize, margin, axisCreator }: {
23
+ data: object;
24
+ type: {
25
+ type?: string | Function;
26
+ };
27
+ renderMode: Function;
28
+ eventListenersGenerator: Function;
29
+ styleFn: Function;
30
+ classFn: Function;
31
+ projection: ProjectionTypes;
32
+ adjustedSize: number[];
33
+ margin: object;
34
+ axisCreator?: Function;
35
+ }) => any;
36
+ interface summaryInstruction {
37
+ Mark?: JSX.Element;
38
+ containerProps?: object;
39
+ elements: object[];
40
+ }
41
+ /**
42
+ * Converts summary instructions to rendered SVG elements
43
+ */
44
+ export declare function summaryInstructionsToMarks(data: summaryInstruction[]): JSX.Element[];
45
+ export {};