semiotic 2.0.3 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/CLAUDE.md +530 -0
  2. package/README.md +190 -37
  3. package/ai/cli.js +48 -0
  4. package/ai/dist/ai/componentRegistry.js +45 -0
  5. package/ai/dist/ai/mcp-server.js +99 -0
  6. package/ai/dist/ai/renderHOCToSVG.js +77 -0
  7. package/ai/dist/src/components/Annotation.js +358 -0
  8. package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
  9. package/ai/dist/src/components/Axis/Axis.js +373 -0
  10. package/ai/dist/src/components/Axis/axisTitle.js +14 -0
  11. package/ai/dist/src/components/Axis/index.js +7 -0
  12. package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
  13. package/ai/dist/src/components/Brush.js +84 -0
  14. package/ai/dist/src/components/DividedLine.js +65 -0
  15. package/ai/dist/src/components/FacetController.js +259 -0
  16. package/ai/dist/src/components/Frame.js +139 -0
  17. package/ai/dist/src/components/InteractionLayer.js +328 -0
  18. package/ai/dist/src/components/Legend.js +140 -0
  19. package/ai/dist/src/components/MiniMap.js +75 -0
  20. package/ai/dist/src/components/MinimapXYFrame.js +99 -0
  21. package/ai/dist/src/components/NetworkFrame.js +335 -0
  22. package/ai/dist/src/components/OrdinalFrame.js +437 -0
  23. package/ai/dist/src/components/ResponsiveFrame.js +68 -0
  24. package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
  25. package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
  26. package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
  27. package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
  28. package/ai/dist/src/components/SparkFrame.js +113 -0
  29. package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
  30. package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
  31. package/ai/dist/src/components/SparkXYFrame.js +11 -0
  32. package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
  33. package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
  34. package/ai/dist/src/components/VisualizationLayer.js +395 -0
  35. package/ai/dist/src/components/XYFrame.js +524 -0
  36. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
  37. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
  38. package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
  39. package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
  40. package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
  41. package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
  42. package/ai/dist/src/components/batchWork.js +35 -0
  43. package/ai/dist/src/components/charts/index.js +96 -0
  44. package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
  45. package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
  46. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
  47. package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
  48. package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
  49. package/ai/dist/src/components/charts/network/Treemap.js +177 -0
  50. package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
  51. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
  52. package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
  53. package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
  54. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
  55. package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
  56. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
  57. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
  58. package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
  59. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
  60. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
  61. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
  62. package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
  63. package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
  64. package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
  65. package/ai/dist/src/components/charts/shared/hooks.js +49 -0
  66. package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
  67. package/ai/dist/src/components/charts/shared/types.js +2 -0
  68. package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
  69. package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
  70. package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
  71. package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
  72. package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
  73. package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
  74. package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
  75. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
  76. package/ai/dist/src/components/constants/coordinateNames.js +11 -0
  77. package/ai/dist/src/components/constants/frame_props.js +251 -0
  78. package/ai/dist/src/components/constants/jsx.js +71 -0
  79. package/ai/dist/src/components/data/dataFunctions.js +473 -0
  80. package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
  81. package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
  82. package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
  83. package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
  84. package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
  85. package/ai/dist/src/components/generic_utilities/functions.js +5 -0
  86. package/ai/dist/src/components/index.js +145 -0
  87. package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
  88. package/ai/dist/src/components/processing/InteractionItems.js +223 -0
  89. package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
  90. package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
  91. package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
  92. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
  93. package/ai/dist/src/components/processing/layouts/index.js +32 -0
  94. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
  95. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
  96. package/ai/dist/src/components/processing/layouts/types.js +2 -0
  97. package/ai/dist/src/components/processing/network.js +771 -0
  98. package/ai/dist/src/components/processing/networkDefaults.js +39 -0
  99. package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
  100. package/ai/dist/src/components/processing/ordinal.js +889 -0
  101. package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
  102. package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
  103. package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
  104. package/ai/dist/src/components/processing/xyDrawing.js +484 -0
  105. package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
  106. package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
  107. package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
  108. package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
  109. package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
  110. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
  111. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
  112. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
  113. package/ai/dist/src/components/realtime/renderers/types.js +2 -0
  114. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
  115. package/ai/dist/src/components/realtime/types.js +2 -0
  116. package/ai/dist/src/components/semiotic-ai.js +66 -0
  117. package/ai/dist/src/components/semiotic-network.js +30 -0
  118. package/ai/dist/src/components/semiotic-ordinal.js +28 -0
  119. package/ai/dist/src/components/semiotic-realtime.js +37 -0
  120. package/ai/dist/src/components/semiotic-server.js +8 -0
  121. package/ai/dist/src/components/semiotic-xy.js +41 -0
  122. package/ai/dist/src/components/semiotic.js +101 -0
  123. package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
  124. package/ai/dist/src/components/store/TooltipStore.js +13 -0
  125. package/ai/dist/src/components/store/createStore.js +77 -0
  126. package/ai/dist/src/components/svg/SvgHelper.js +308 -0
  127. package/ai/dist/src/components/svg/areaDrawing.js +312 -0
  128. package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
  129. package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
  130. package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
  131. package/ai/dist/src/components/svg/ckmeans.js +238 -0
  132. package/ai/dist/src/components/svg/contourLayout.js +73 -0
  133. package/ai/dist/src/components/svg/contourRenderer.js +53 -0
  134. package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
  135. package/ai/dist/src/components/svg/frameFunctions.js +579 -0
  136. package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
  137. package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
  138. package/ai/dist/src/components/svg/lineDrawing.js +427 -0
  139. package/ai/dist/src/components/svg/networkDrawing.js +207 -0
  140. package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
  141. package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
  142. package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
  143. package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
  144. package/ai/dist/src/components/svg/summaryAxis.js +48 -0
  145. package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
  146. package/ai/dist/src/components/svg/swarmLayout.js +128 -0
  147. package/ai/dist/src/components/types/annotationTypes.js +2 -0
  148. package/ai/dist/src/components/types/canvasTypes.js +2 -0
  149. package/ai/dist/src/components/types/generalTypes.js +2 -0
  150. package/ai/dist/src/components/types/interactionTypes.js +2 -0
  151. package/ai/dist/src/components/types/legendTypes.js +2 -0
  152. package/ai/dist/src/components/types/networkTypes.js +2 -0
  153. package/ai/dist/src/components/types/ordinalTypes.js +2 -0
  154. package/ai/dist/src/components/types/xyTypes.js +2 -0
  155. package/ai/dist/src/components/useBoundingRect.js +24 -0
  156. package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
  157. package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
  158. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
  159. package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
  160. package/ai/dist/src/setupTests.js +4 -0
  161. package/ai/examples.md +394 -0
  162. package/ai/schema.json +1178 -0
  163. package/ai/system-prompt.md +38 -0
  164. package/dist/AnnotationLayer/AnnotationLayer.d.ts +0 -1
  165. package/dist/Axis/axisTitle.d.ts +3 -3
  166. package/dist/Axis/summaryGraphic.d.ts +1 -1
  167. package/dist/FacetController.d.ts +1 -1
  168. package/dist/MinimapXYFrame.d.ts +2 -2
  169. package/dist/NetworkFrame.d.ts +5 -1
  170. package/dist/OrdinalFrame.d.ts +5 -1
  171. package/dist/ResponsiveFrame.d.ts +2 -2
  172. package/dist/ResponsiveMinimapXYFrame.d.ts +3 -6
  173. package/dist/ResponsiveNetworkFrame.d.ts +3 -6
  174. package/dist/ResponsiveOrdinalFrame.d.ts +3 -6
  175. package/dist/ResponsiveXYFrame.d.ts +3 -6
  176. package/dist/SparkFrame.d.ts +1 -1
  177. package/dist/SparkNetworkFrame.d.ts +3 -3
  178. package/dist/SparkOrdinalFrame.d.ts +3 -3
  179. package/dist/SparkXYFrame.d.ts +3 -3
  180. package/dist/Tooltip/Tooltip.d.ts +141 -0
  181. package/dist/TooltipPositioner/index.d.ts +1 -1
  182. package/dist/VisualizationLayer.d.ts +3 -3
  183. package/dist/XYFrame.d.ts +5 -1
  184. package/dist/annotationLayerBehavior/annotationHandling.d.ts +2 -2
  185. package/dist/annotationRules/networkframeRules.d.ts +2 -2
  186. package/dist/annotationRules/orframeRules.d.ts +2 -4
  187. package/dist/annotationRules/xyframeRules.d.ts +2 -2
  188. package/dist/batchWork.d.ts +1 -1
  189. package/dist/charts/index.d.ts +62 -0
  190. package/dist/charts/network/ChordDiagram.d.ts +181 -0
  191. package/dist/charts/network/CirclePack.d.ts +103 -0
  192. package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
  193. package/dist/charts/network/SankeyDiagram.d.ts +195 -0
  194. package/dist/charts/network/TreeDiagram.d.ts +200 -0
  195. package/dist/charts/network/Treemap.d.ts +98 -0
  196. package/dist/charts/ordinal/BarChart.d.ts +119 -0
  197. package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
  198. package/dist/charts/ordinal/DonutChart.d.ts +95 -0
  199. package/dist/charts/ordinal/DotPlot.d.ts +128 -0
  200. package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
  201. package/dist/charts/ordinal/PieChart.d.ts +83 -0
  202. package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
  203. package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
  204. package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
  205. package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
  206. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
  207. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
  208. package/dist/charts/shared/ChartError.d.ts +19 -0
  209. package/dist/charts/shared/colorUtils.d.ts +62 -0
  210. package/dist/charts/shared/formatUtils.d.ts +82 -0
  211. package/dist/charts/shared/hooks.d.ts +20 -0
  212. package/dist/charts/shared/legendUtils.d.ts +32 -0
  213. package/dist/charts/shared/types.d.ts +58 -0
  214. package/dist/charts/shared/validateChartData.d.ts +41 -0
  215. package/dist/charts/shared/validateProps.d.ts +18 -0
  216. package/dist/charts/xy/AreaChart.d.ts +127 -0
  217. package/dist/charts/xy/BubbleChart.d.ts +157 -0
  218. package/dist/charts/xy/Heatmap.d.ts +153 -0
  219. package/dist/charts/xy/LineChart.d.ts +193 -0
  220. package/dist/charts/xy/Scatterplot.d.ts +50 -0
  221. package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
  222. package/dist/constants/frame_props.d.ts +9 -0
  223. package/dist/constants/jsx.d.ts +2 -2
  224. package/dist/data/dataFunctions.d.ts +11 -12
  225. package/dist/data/networkPipelineCache.d.ts +27 -0
  226. package/dist/data/ordinalPipelineCache.d.ts +33 -0
  227. package/dist/data/xyPipelineCache.d.ts +35 -0
  228. package/dist/index.d.ts +70 -62
  229. package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +1 -1
  230. package/dist/network.js +8520 -0
  231. package/dist/network.js.map +1 -0
  232. package/dist/network.min.js +1 -0
  233. package/dist/network.module.js +8484 -0
  234. package/dist/network.module.js.map +1 -0
  235. package/dist/network.module.min.js +1 -0
  236. package/dist/ordinal.js +9276 -0
  237. package/dist/ordinal.js.map +1 -0
  238. package/dist/ordinal.min.js +1 -0
  239. package/dist/ordinal.module.js +9242 -0
  240. package/dist/ordinal.module.js.map +1 -0
  241. package/dist/ordinal.module.min.js +1 -0
  242. package/dist/processing/InteractionItems.d.ts +5 -4
  243. package/dist/processing/hierarchyUtils.d.ts +16 -0
  244. package/dist/processing/layouts/chordLayout.d.ts +2 -0
  245. package/dist/processing/layouts/forceLayout.d.ts +3 -0
  246. package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
  247. package/dist/processing/layouts/index.d.ts +8 -0
  248. package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
  249. package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
  250. package/dist/processing/layouts/types.d.ts +17 -0
  251. package/dist/processing/network.d.ts +25 -28
  252. package/dist/processing/networkDefaults.d.ts +36 -0
  253. package/dist/processing/networkLayoutHelpers.d.ts +54 -0
  254. package/dist/processing/ordinal.d.ts +43 -43
  255. package/dist/processing/ordinalConstants.d.ts +33 -0
  256. package/dist/processing/ordinalOverlays.d.ts +33 -0
  257. package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
  258. package/dist/processing/xyDrawing.d.ts +46 -41
  259. package/dist/realtime/BinAccumulator.d.ts +8 -0
  260. package/dist/realtime/IncrementalExtent.d.ts +13 -0
  261. package/dist/realtime/RealtimeFrame.d.ts +4 -0
  262. package/dist/realtime/RingBuffer.d.ts +19 -0
  263. package/dist/realtime/renderers/barRenderer.d.ts +2 -0
  264. package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
  265. package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
  266. package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
  267. package/dist/realtime/renderers/types.d.ts +9 -0
  268. package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
  269. package/dist/realtime/types.d.ts +113 -0
  270. package/dist/realtime.js +1598 -0
  271. package/dist/realtime.js.map +1 -0
  272. package/dist/realtime.min.js +1 -0
  273. package/dist/realtime.module.js +1566 -0
  274. package/dist/realtime.module.js.map +1 -0
  275. package/dist/realtime.module.min.js +1 -0
  276. package/dist/semiotic-ai.d.ts +28 -0
  277. package/dist/semiotic-ai.js +18722 -0
  278. package/dist/semiotic-ai.js.map +1 -0
  279. package/dist/semiotic-ai.min.js +1 -0
  280. package/dist/semiotic-ai.module.js +18668 -0
  281. package/dist/semiotic-ai.module.js.map +1 -0
  282. package/dist/semiotic-ai.module.min.js +1 -0
  283. package/dist/semiotic-network.d.ts +19 -0
  284. package/dist/semiotic-ordinal.d.ts +18 -0
  285. package/dist/semiotic-realtime.d.ts +23 -0
  286. package/dist/semiotic-server.d.ts +1 -0
  287. package/dist/semiotic-xy.d.ts +24 -0
  288. package/dist/semiotic.d.ts +19 -3
  289. package/dist/semiotic.js +18707 -12983
  290. package/dist/semiotic.js.map +1 -0
  291. package/dist/semiotic.min.js +1 -0
  292. package/dist/semiotic.module.js +18651 -12953
  293. package/dist/semiotic.module.js.map +1 -0
  294. package/dist/semiotic.module.min.js +1 -0
  295. package/dist/server/renderToStaticSVG.d.ts +9 -0
  296. package/dist/server.js +8360 -0
  297. package/dist/server.js.map +1 -0
  298. package/dist/server.min.js +1 -0
  299. package/dist/server.module.js +8331 -0
  300. package/dist/server.module.js.map +1 -0
  301. package/dist/server.module.min.js +1 -0
  302. package/dist/svg/SvgHelper.d.ts +1 -5
  303. package/dist/svg/areaDrawing.d.ts +3 -13
  304. package/dist/svg/boxplotRenderer.d.ts +15 -0
  305. package/dist/svg/bucketizedRenderer.d.ts +16 -0
  306. package/dist/svg/ckbinsRenderer.d.ts +20 -0
  307. package/dist/svg/contourLayout.d.ts +6 -0
  308. package/dist/svg/contourRenderer.d.ts +12 -0
  309. package/dist/svg/edgeGenerators.d.ts +51 -0
  310. package/dist/svg/frameFunctions.d.ts +17 -28
  311. package/dist/svg/graphAlgorithms.d.ts +14 -0
  312. package/dist/svg/hexbinLayout.d.ts +7 -0
  313. package/dist/svg/lineDrawing.d.ts +8 -8
  314. package/dist/svg/networkDrawing.d.ts +5 -123
  315. package/dist/svg/nodeGenerators.d.ts +58 -0
  316. package/dist/svg/pieceDrawing.d.ts +1 -2
  317. package/dist/svg/pieceLayouts.d.ts +5 -23
  318. package/dist/svg/sankeyLinks.d.ts +3 -0
  319. package/dist/svg/summaryAxis.d.ts +6 -0
  320. package/dist/svg/summaryLayouts.d.ts +36 -57
  321. package/dist/svg/swarmLayout.d.ts +13 -0
  322. package/dist/types/annotationTypes.d.ts +13 -18
  323. package/dist/types/canvasTypes.d.ts +1 -1
  324. package/dist/types/generalTypes.d.ts +37 -35
  325. package/dist/types/interactionTypes.d.ts +7 -9
  326. package/dist/types/legendTypes.d.ts +2 -2
  327. package/dist/types/networkTypes.d.ts +40 -30
  328. package/dist/types/ordinalTypes.d.ts +27 -18
  329. package/dist/types/xyTypes.d.ts +13 -16
  330. package/dist/useLegacyUnmountCallback.d.ts +2 -1
  331. package/dist/visualizationLayerBehavior/axis.d.ts +3 -5
  332. package/dist/visualizationLayerBehavior/general.d.ts +8 -12
  333. package/dist/xy.js +7944 -0
  334. package/dist/xy.js.map +1 -0
  335. package/dist/xy.min.js +1 -0
  336. package/dist/xy.module.js +7903 -0
  337. package/dist/xy.module.js.map +1 -0
  338. package/dist/xy.module.min.js +1 -0
  339. package/package.json +116 -66
  340. package/dist/AnnotationLayer/helpers.d.ts +0 -6
  341. package/dist/AnnotationLayer/index.d.ts +0 -2
  342. package/dist/Mark/Mark.d.ts +0 -3
  343. package/dist/Mark/Mark.types.d.ts +0 -10
  344. package/dist/Mark/constants/markTransition.d.ts +0 -10
  345. package/dist/Mark/markBehavior/drawing.d.ts +0 -13
  346. package/dist/SpanOrDiv.d.ts +0 -10
  347. package/dist/components/Annotation.d.ts +0 -3
  348. package/dist/components/AnnotationLayer/AnnotationLayer.d.ts +0 -26
  349. package/dist/components/Axis/Axis.d.ts +0 -7
  350. package/dist/components/Axis/axisTitle.d.ts +0 -10
  351. package/dist/components/Axis/index.d.ts +0 -2
  352. package/dist/components/Axis/summaryGraphic.d.ts +0 -17
  353. package/dist/components/Brush.d.ts +0 -12
  354. package/dist/components/DividedLine.d.ts +0 -16
  355. package/dist/components/FacetController.d.ts +0 -12
  356. package/dist/components/Frame.d.ts +0 -2
  357. package/dist/components/InteractionLayer.d.ts +0 -3
  358. package/dist/components/Legend.d.ts +0 -3
  359. package/dist/components/Mark/Mark.d.ts +0 -3
  360. package/dist/components/Mark/Mark.types.d.ts +0 -10
  361. package/dist/components/Mark/markBehavior/drawing.d.ts +0 -13
  362. package/dist/components/MiniMap.d.ts +0 -14
  363. package/dist/components/MinimapXYFrame.d.ts +0 -10
  364. package/dist/components/NetworkFrame.d.ts +0 -4
  365. package/dist/components/OrdinalFrame.d.ts +0 -4
  366. package/dist/components/ResponsiveFrame.d.ts +0 -22
  367. package/dist/components/ResponsiveMinimapXYFrame.d.ts +0 -6
  368. package/dist/components/ResponsiveNetworkFrame.d.ts +0 -6
  369. package/dist/components/ResponsiveOrdinalFrame.d.ts +0 -6
  370. package/dist/components/ResponsiveXYFrame.d.ts +0 -6
  371. package/dist/components/SpanOrDiv.d.ts +0 -10
  372. package/dist/components/SparkFrame.d.ts +0 -14
  373. package/dist/components/SparkNetworkFrame.d.ts +0 -5
  374. package/dist/components/SparkOrdinalFrame.d.ts +0 -5
  375. package/dist/components/SparkXYFrame.d.ts +0 -5
  376. package/dist/components/TooltipPositioner/index.d.ts +0 -7
  377. package/dist/components/VisualizationLayer.d.ts +0 -33
  378. package/dist/components/XYFrame.d.ts +0 -4
  379. package/dist/components/annotationLayerBehavior/annotationHandling.d.ts +0 -19
  380. package/dist/components/annotationLayerBehavior/d3labeler.d.ts +0 -9
  381. package/dist/components/annotationRules/baseRules.d.ts +0 -25
  382. package/dist/components/annotationRules/networkframeRules.d.ts +0 -48
  383. package/dist/components/annotationRules/orframeRules.d.ts +0 -105
  384. package/dist/components/annotationRules/xyframeRules.d.ts +0 -117
  385. package/dist/components/batchWork.d.ts +0 -6
  386. package/dist/components/constants/coordinateNames.d.ts +0 -8
  387. package/dist/components/constants/frame_props.d.ts +0 -4
  388. package/dist/components/constants/jsx.d.ts +0 -19
  389. package/dist/components/data/dataFunctions.d.ts +0 -46
  390. package/dist/components/data/multiAccessorUtils.d.ts +0 -1
  391. package/dist/components/data/unflowedFunctions.d.ts +0 -1
  392. package/dist/components/generic_utilities/functions.d.ts +0 -1
  393. package/dist/components/index.d.ts +0 -125
  394. package/dist/components/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
  395. package/dist/components/processing/InteractionItems.d.ts +0 -12
  396. package/dist/components/processing/network.d.ts +0 -114
  397. package/dist/components/processing/ordinal.d.ts +0 -102
  398. package/dist/components/processing/xyDrawing.d.ts +0 -135
  399. package/dist/components/semiotic.d.ts +0 -35
  400. package/dist/components/store/TooltipStore.d.ts +0 -2
  401. package/dist/components/store/createStore.d.ts +0 -1
  402. package/dist/components/svg/SvgHelper.d.ts +0 -37
  403. package/dist/components/svg/areaDrawing.d.ts +0 -31
  404. package/dist/components/svg/ckmeans.d.ts +0 -69
  405. package/dist/components/svg/frameFunctions.d.ts +0 -119
  406. package/dist/components/svg/lineDrawing.d.ts +0 -99
  407. package/dist/components/svg/networkDrawing.d.ts +0 -134
  408. package/dist/components/svg/pieceDrawing.d.ts +0 -13
  409. package/dist/components/svg/pieceLayouts.d.ts +0 -71
  410. package/dist/components/svg/summaryLayouts.d.ts +0 -74
  411. package/dist/components/types/annotationTypes.d.ts +0 -140
  412. package/dist/components/types/canvasTypes.d.ts +0 -9
  413. package/dist/components/types/generalTypes.d.ts +0 -236
  414. package/dist/components/types/interactionTypes.d.ts +0 -74
  415. package/dist/components/types/legendTypes.d.ts +0 -20
  416. package/dist/components/types/networkTypes.d.ts +0 -165
  417. package/dist/components/types/ordinalTypes.d.ts +0 -103
  418. package/dist/components/types/xyTypes.d.ts +0 -118
  419. package/dist/components/useBoundingRect.d.ts +0 -2
  420. package/dist/components/useDerivedStateFromProps.d.ts +0 -1
  421. package/dist/components/useLegacyUnmountCallback.d.ts +0 -1
  422. package/dist/components/visualizationLayerBehavior/axis.d.ts +0 -38
  423. package/dist/components/visualizationLayerBehavior/general.d.ts +0 -84
  424. package/dist/setupTests.d.ts +0 -1
@@ -0,0 +1,181 @@
1
+ import * as React from "react";
2
+ import type { NetworkFrameProps } from "../../types/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
+ /**
10
+ * Array of nodes (optional - will be inferred from edges if not provided)
11
+ * @example
12
+ * ```ts
13
+ * [{id: 'A', category: 'Group1'}, {id: 'B', category: 'Group2'}]
14
+ * ```
15
+ */
16
+ nodes?: TNode[];
17
+ /**
18
+ * Array of edges with source, target, and value
19
+ * @example
20
+ * ```ts
21
+ * [
22
+ * {source: 'A', target: 'B', value: 100},
23
+ * {source: 'B', target: 'A', value: 80},
24
+ * {source: 'A', target: 'A', value: 50}
25
+ * ]
26
+ * ```
27
+ */
28
+ edges: TEdge[];
29
+ /**
30
+ * Field name or function to access source node identifier
31
+ * @default "source"
32
+ */
33
+ sourceAccessor?: ChartAccessor<TEdge, string>;
34
+ /**
35
+ * Field name or function to access target node identifier
36
+ * @default "target"
37
+ */
38
+ targetAccessor?: ChartAccessor<TEdge, string>;
39
+ /**
40
+ * Field name or function to access edge value (width)
41
+ * @default "value"
42
+ */
43
+ valueAccessor?: ChartAccessor<TEdge, number>;
44
+ /**
45
+ * Field name or function to access node identifier
46
+ * @default "id"
47
+ */
48
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
49
+ /**
50
+ * Field name or function to determine node color
51
+ * @example
52
+ * ```ts
53
+ * colorBy="category"
54
+ * colorBy={d => d.group}
55
+ * ```
56
+ */
57
+ colorBy?: ChartAccessor<TNode, string>;
58
+ /**
59
+ * Color scheme for nodes or custom colors array
60
+ * @default "category10"
61
+ */
62
+ colorScheme?: string | string[];
63
+ /**
64
+ * Edge color strategy
65
+ * - "source": color edges by source node
66
+ * - "target": color edges by target node
67
+ * - function: custom coloring function
68
+ * @default "source"
69
+ */
70
+ edgeColorBy?: "source" | "target" | ((d: any) => string);
71
+ /**
72
+ * Padding angle between adjacent groups (in radians)
73
+ * @default 0.01
74
+ */
75
+ padAngle?: number;
76
+ /**
77
+ * Width of the outer arc (node) in pixels
78
+ * @default 20
79
+ */
80
+ groupWidth?: number;
81
+ /**
82
+ * Sort function for groups (nodes) around the circle
83
+ * @example
84
+ * ```ts
85
+ * sortGroups={(a, b) => b.value - a.value}
86
+ * ```
87
+ */
88
+ sortGroups?: (a: any, b: any) => number;
89
+ /**
90
+ * Label accessor for nodes
91
+ * @default Uses nodeIdAccessor
92
+ */
93
+ nodeLabel?: ChartAccessor<TNode, string>;
94
+ /**
95
+ * Show labels around circumference
96
+ * @default true
97
+ */
98
+ showLabels?: boolean;
99
+ /**
100
+ * Enable hover annotations
101
+ * @default true
102
+ */
103
+ enableHover?: boolean;
104
+ /**
105
+ * Edge opacity
106
+ * @default 0.5
107
+ */
108
+ edgeOpacity?: number;
109
+ /**
110
+ * Tooltip configuration
111
+ */
112
+ tooltip?: TooltipProp;
113
+ /**
114
+ * Additional NetworkFrame props for advanced customization
115
+ * For full control, consider using NetworkFrame directly
116
+ * @see https://semiotic.nteract.io/guides/network-frame
117
+ */
118
+ frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
119
+ }
120
+ /**
121
+ * ChordDiagram - Visualize directed relationships with circular chord layout
122
+ *
123
+ * A simplified wrapper around NetworkFrame for creating chord diagrams.
124
+ * Perfect for showing flow and relationships between entities, especially
125
+ * when there are reciprocal connections and self-loops.
126
+ *
127
+ * @example
128
+ * ```tsx
129
+ * // Simple chord diagram
130
+ * <ChordDiagram
131
+ * edges={[
132
+ * {source: 'A', target: 'B', value: 100},
133
+ * {source: 'B', target: 'A', value: 80},
134
+ * {source: 'A', target: 'A', value: 50}
135
+ * ]}
136
+ * colorBy={(d) => d.id}
137
+ * />
138
+ * ```
139
+ *
140
+ * @example
141
+ * ```tsx
142
+ * // With custom styling and padding
143
+ * <ChordDiagram
144
+ * edges={edges}
145
+ * nodes={nodes}
146
+ * colorBy="category"
147
+ * edgeColorBy="source"
148
+ * padAngle={0.05}
149
+ * groupWidth={30}
150
+ * />
151
+ * ```
152
+ *
153
+ * @example
154
+ * ```tsx
155
+ * // With sorting and labels
156
+ * <ChordDiagram
157
+ * edges={edges}
158
+ * sortGroups={(a, b) => b.value - a.value}
159
+ * nodeLabel="name"
160
+ * showLabels={true}
161
+ * />
162
+ * ```
163
+ *
164
+ * @remarks
165
+ * This component wraps {@link NetworkFrame} with sensible defaults for chord diagrams.
166
+ * Chord diagrams work best when there are asymmetric relationships and self-loops.
167
+ *
168
+ * **Data Requirements:**
169
+ * - Edges must have source, target, and value properties
170
+ * - Self-loops (source === target) are displayed as curved arcs
171
+ * - Reciprocal edges show the asymmetry in relationships
172
+ *
173
+ * **Breadcrumb to advanced usage:**
174
+ * - Use the `frameProps` prop to pass any NetworkFrame prop
175
+ * - See NetworkFrame documentation: https://semiotic.nteract.io/guides/network-frame
176
+ * - All NetworkFrame props are available via `frameProps`
177
+ *
178
+ * @param props - ChordDiagram configuration
179
+ * @returns Rendered chord diagram
180
+ */
181
+ 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;
@@ -0,0 +1,103 @@
1
+ import * as React from "react";
2
+ import type { NetworkFrameProps } from "../../types/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>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ /**
10
+ * Hierarchical data structure with children and values.
11
+ * @example
12
+ * ```ts
13
+ * {
14
+ * name: 'root',
15
+ * children: [
16
+ * {name: 'A', value: 100},
17
+ * {name: 'B', children: [{name: 'B1', value: 50}, {name: 'B2', value: 30}]}
18
+ * ]
19
+ * }
20
+ * ```
21
+ */
22
+ data: TNode;
23
+ /**
24
+ * Field name or function to access children array
25
+ * @default "children"
26
+ */
27
+ childrenAccessor?: ChartAccessor<TNode, TNode[]>;
28
+ /**
29
+ * Field name or function to access node value for sizing
30
+ * @default "value"
31
+ */
32
+ valueAccessor?: Accessor<number>;
33
+ /**
34
+ * Field name or function to access node identifier
35
+ * @default "name"
36
+ */
37
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
38
+ /**
39
+ * Field name or function to determine node color
40
+ */
41
+ colorBy?: ChartAccessor<TNode, string | number>;
42
+ /**
43
+ * Color scheme for nodes or custom colors array
44
+ * @default "category10"
45
+ */
46
+ colorScheme?: string | string[];
47
+ /**
48
+ * Color nodes by hierarchy depth level
49
+ * @default false
50
+ */
51
+ colorByDepth?: boolean;
52
+ /**
53
+ * Show labels on circles
54
+ * @default true
55
+ */
56
+ showLabels?: boolean;
57
+ /**
58
+ * Node label accessor
59
+ * @default Uses nodeIdAccessor
60
+ */
61
+ nodeLabel?: ChartAccessor<TNode, string>;
62
+ /**
63
+ * Circle fill opacity (helps see nesting)
64
+ * @default 0.7
65
+ */
66
+ circleOpacity?: number;
67
+ /**
68
+ * Enable hover annotations
69
+ * @default true
70
+ */
71
+ enableHover?: boolean;
72
+ /**
73
+ * Tooltip configuration
74
+ */
75
+ tooltip?: TooltipProp;
76
+ /**
77
+ * Additional NetworkFrame props for advanced customization
78
+ * For full control, consider using NetworkFrame directly
79
+ */
80
+ frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
81
+ }
82
+ /**
83
+ * CirclePack - Visualize hierarchical data as nested circles.
84
+ *
85
+ * A simplified wrapper around NetworkFrame with circlepack layout.
86
+ * Each circle's area is proportional to its value.
87
+ *
88
+ * @example
89
+ * ```tsx
90
+ * <CirclePack
91
+ * data={{
92
+ * name: 'root',
93
+ * children: [
94
+ * {name: 'A', value: 100},
95
+ * {name: 'B', value: 200},
96
+ * {name: 'C', value: 150}
97
+ * ]
98
+ * }}
99
+ * colorByDepth
100
+ * />
101
+ * ```
102
+ */
103
+ export declare function CirclePack<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: CirclePackProps<TNode, TEdge>): React.JSX.Element;
@@ -0,0 +1,192 @@
1
+ import * as React from "react";
2
+ import type { NetworkFrameProps } from "../../types/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
+ /**
10
+ * Array of nodes. Each node should have an id property.
11
+ * @example
12
+ * ```ts
13
+ * [{id: 'A', label: 'Node A'}, {id: 'B', label: 'Node B'}]
14
+ * ```
15
+ */
16
+ nodes: TNode[];
17
+ /**
18
+ * Array of edges connecting nodes.
19
+ * @example
20
+ * ```ts
21
+ * [{source: 'A', target: 'B'}, {source: 'B', target: 'C'}]
22
+ * ```
23
+ */
24
+ edges: TEdge[];
25
+ /**
26
+ * Field name or function to access node IDs
27
+ * @default "id"
28
+ */
29
+ nodeIDAccessor?: ChartAccessor<TNode, string>;
30
+ /**
31
+ * Field name or function to access edge source IDs
32
+ * @default "source"
33
+ */
34
+ sourceAccessor?: ChartAccessor<TEdge, string>;
35
+ /**
36
+ * Field name or function to access edge target IDs
37
+ * @default "target"
38
+ */
39
+ targetAccessor?: ChartAccessor<TEdge, string>;
40
+ /**
41
+ * Field name or function to determine node labels
42
+ * @example
43
+ * ```ts
44
+ * nodeLabel="label" // Use label field
45
+ * nodeLabel={d => d.name} // Use function
46
+ * ```
47
+ */
48
+ nodeLabel?: ChartAccessor<TNode, string>;
49
+ /**
50
+ * Field name or function to determine node color
51
+ * @example
52
+ * ```ts
53
+ * colorBy="group"
54
+ * colorBy={d => d.value > 10 ? 'red' : 'blue'}
55
+ * ```
56
+ */
57
+ colorBy?: ChartAccessor<TNode, string>;
58
+ /**
59
+ * Color scheme for categorical data or custom colors array
60
+ * @default "category10"
61
+ */
62
+ colorScheme?: string | string[];
63
+ /**
64
+ * Field name, number, or function to determine node size
65
+ * @example
66
+ * ```ts
67
+ * nodeSize={5} // Fixed size
68
+ * nodeSize="importance" // Use field
69
+ * nodeSize={d => d.connections * 2} // Use function
70
+ * ```
71
+ */
72
+ nodeSize?: number | ChartAccessor<TNode, number>;
73
+ /**
74
+ * Min and max radius for nodes when using dynamic sizing
75
+ * @default [5, 20]
76
+ */
77
+ nodeSizeRange?: [number, number];
78
+ /**
79
+ * Field name, number, or function to determine edge width
80
+ * @default 1
81
+ */
82
+ edgeWidth?: number | ChartAccessor<TEdge, number>;
83
+ /**
84
+ * Edge color
85
+ * @default "#999"
86
+ */
87
+ edgeColor?: string;
88
+ /**
89
+ * Edge opacity
90
+ * @default 0.6
91
+ */
92
+ edgeOpacity?: number;
93
+ /**
94
+ * Number of force simulation iterations
95
+ * @default 300
96
+ */
97
+ iterations?: number;
98
+ /**
99
+ * Strength of the force simulation
100
+ * Lower values create looser layouts
101
+ * @default 0.1
102
+ */
103
+ forceStrength?: number;
104
+ /**
105
+ * Enable node labels
106
+ * @default false
107
+ */
108
+ showLabels?: boolean;
109
+ /**
110
+ * Enable hover annotations
111
+ * @default true
112
+ */
113
+ enableHover?: boolean;
114
+ /**
115
+ * Show legend
116
+ * @default true (when colorBy is specified)
117
+ */
118
+ showLegend?: boolean;
119
+ /**
120
+ * Tooltip configuration
121
+ */
122
+ tooltip?: TooltipProp;
123
+ /**
124
+ * Additional NetworkFrame props for advanced customization
125
+ * For full control, consider using NetworkFrame directly
126
+ * @see https://semiotic.nteract.io/guides/network-frame
127
+ */
128
+ frameProps?: Partial<Omit<NetworkFrameProps, "nodes" | "edges" | "size">>;
129
+ }
130
+ /**
131
+ * ForceDirectedGraph - Visualize network relationships with force-directed layout
132
+ *
133
+ * A simplified wrapper around NetworkFrame for creating force-directed graphs.
134
+ * Perfect for visualizing connections, communities, and network structures.
135
+ *
136
+ * @example
137
+ * ```tsx
138
+ * // Simple force-directed graph
139
+ * <ForceDirectedGraph
140
+ * nodes={[
141
+ * {id: 'A', label: 'Node A'},
142
+ * {id: 'B', label: 'Node B'},
143
+ * {id: 'C', label: 'Node C'}
144
+ * ]}
145
+ * edges={[
146
+ * {source: 'A', target: 'B'},
147
+ * {source: 'B', target: 'C'}
148
+ * ]}
149
+ * />
150
+ * ```
151
+ *
152
+ * @example
153
+ * ```tsx
154
+ * // With color and size encoding
155
+ * <ForceDirectedGraph
156
+ * nodes={nodes}
157
+ * edges={edges}
158
+ * colorBy="group"
159
+ * nodeSize="connections"
160
+ * nodeSizeRange={[5, 25]}
161
+ * showLabels={true}
162
+ * iterations={500}
163
+ * />
164
+ * ```
165
+ *
166
+ * @example
167
+ * ```tsx
168
+ * // Advanced: Override NetworkFrame props
169
+ * <ForceDirectedGraph
170
+ * nodes={nodes}
171
+ * edges={edges}
172
+ * frameProps={{
173
+ * networkType: { type: "force", iterations: 500, edgeStrength: 2 },
174
+ * customNodeIcon: ({ d }) => <circle r={10} fill="gold" />
175
+ * }}
176
+ * />
177
+ * ```
178
+ *
179
+ * @remarks
180
+ * This component wraps {@link NetworkFrame} with sensible defaults for force-directed graphs.
181
+ * For more advanced features like custom layouts, hierarchical networks, or complex interactions,
182
+ * use NetworkFrame directly.
183
+ *
184
+ * **Breadcrumb to advanced usage:**
185
+ * - Use the `frameProps` prop to pass any NetworkFrame prop
186
+ * - See NetworkFrame documentation: https://semiotic.nteract.io/guides/network-frame
187
+ * - All NetworkFrame props are available via `frameProps`
188
+ *
189
+ * @param props - ForceDirectedGraph configuration
190
+ * @returns Rendered force-directed graph
191
+ */
192
+ 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;
@@ -0,0 +1,195 @@
1
+ import * as React from "react";
2
+ import type { NetworkFrameProps } from "../../types/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
+ /**
10
+ * Array of nodes (optional - will be inferred from edges if not provided)
11
+ * @example
12
+ * ```ts
13
+ * [{id: 'A', category: 'Source'}, {id: 'B', category: 'Target'}]
14
+ * ```
15
+ */
16
+ nodes?: TNode[];
17
+ /**
18
+ * Array of edges (links) with source, target, and value
19
+ * @example
20
+ * ```ts
21
+ * [
22
+ * {source: 'A', target: 'B', value: 100},
23
+ * {source: 'B', target: 'C', value: 80}
24
+ * ]
25
+ * ```
26
+ */
27
+ edges: TEdge[];
28
+ /**
29
+ * Field name or function to access source node identifier
30
+ * @default "source"
31
+ */
32
+ sourceAccessor?: ChartAccessor<TEdge, string>;
33
+ /**
34
+ * Field name or function to access target node identifier
35
+ * @default "target"
36
+ */
37
+ targetAccessor?: ChartAccessor<TEdge, string>;
38
+ /**
39
+ * Field name or function to access edge value (flow width)
40
+ * @default "value"
41
+ */
42
+ valueAccessor?: ChartAccessor<TEdge, number>;
43
+ /**
44
+ * Field name or function to access node identifier
45
+ * @default "id"
46
+ */
47
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
48
+ /**
49
+ * Field name or function to determine node color
50
+ * @example
51
+ * ```ts
52
+ * colorBy="category"
53
+ * colorBy={d => d.type}
54
+ * ```
55
+ */
56
+ colorBy?: ChartAccessor<TNode, string>;
57
+ /**
58
+ * Color scheme for nodes or custom colors array
59
+ * @default "category10"
60
+ */
61
+ colorScheme?: string | string[];
62
+ /**
63
+ * Edge color strategy
64
+ * - "source": color edges by source node
65
+ * - "target": color edges by target node
66
+ * - "gradient": gradient from source to target
67
+ * - function: custom coloring function
68
+ * @default "source"
69
+ */
70
+ edgeColorBy?: "source" | "target" | "gradient" | ((d: any) => string);
71
+ /**
72
+ * Layout orientation
73
+ * @default "horizontal"
74
+ */
75
+ orientation?: "horizontal" | "vertical";
76
+ /**
77
+ * Node alignment strategy
78
+ * - "justify": spread nodes evenly
79
+ * - "left": align nodes to the left
80
+ * - "right": align nodes to the right
81
+ * - "center": center nodes
82
+ * @default "justify"
83
+ */
84
+ nodeAlign?: "justify" | "left" | "right" | "center";
85
+ /**
86
+ * Padding between nodes (ratio of node height)
87
+ * @default 0.05
88
+ */
89
+ nodePaddingRatio?: number;
90
+ /**
91
+ * Fixed width of nodes in pixels
92
+ * @default 15
93
+ */
94
+ nodeWidth?: number;
95
+ /**
96
+ * Label accessor for nodes
97
+ * @default Uses nodeIdAccessor
98
+ */
99
+ nodeLabel?: ChartAccessor<TNode, string>;
100
+ /**
101
+ * Show node labels
102
+ * @default true
103
+ */
104
+ showLabels?: boolean;
105
+ /**
106
+ * Enable hover annotations
107
+ * @default true
108
+ */
109
+ enableHover?: boolean;
110
+ /**
111
+ * Edge opacity
112
+ * @default 0.5
113
+ */
114
+ edgeOpacity?: number;
115
+ /**
116
+ * Sort function for edges
117
+ * @example
118
+ * ```ts
119
+ * edgeSort={(a, b) => b.value - a.value}
120
+ * ```
121
+ */
122
+ edgeSort?: (a: any, b: any) => number;
123
+ /**
124
+ * Tooltip configuration
125
+ */
126
+ tooltip?: TooltipProp;
127
+ /**
128
+ * Additional NetworkFrame props for advanced customization
129
+ * For full control, consider using NetworkFrame directly
130
+ * @see https://semiotic.nteract.io/guides/network-frame
131
+ */
132
+ frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
133
+ }
134
+ /**
135
+ * SankeyDiagram - Visualize flow and magnitude of movement between nodes
136
+ *
137
+ * A simplified wrapper around NetworkFrame for creating Sankey diagrams.
138
+ * Perfect for showing material, energy, cost, or any other quantity
139
+ * flowing through a system.
140
+ *
141
+ * @example
142
+ * ```tsx
143
+ * // Simple Sankey diagram
144
+ * <SankeyDiagram
145
+ * edges={[
146
+ * {source: 'A', target: 'B', value: 100},
147
+ * {source: 'A', target: 'C', value: 50},
148
+ * {source: 'B', target: 'D', value: 80}
149
+ * ]}
150
+ * />
151
+ * ```
152
+ *
153
+ * @example
154
+ * ```tsx
155
+ * // With custom styling and orientation
156
+ * <SankeyDiagram
157
+ * edges={edges}
158
+ * nodes={nodes}
159
+ * colorBy="category"
160
+ * edgeColorBy="gradient"
161
+ * orientation="vertical"
162
+ * nodeAlign="center"
163
+ * />
164
+ * ```
165
+ *
166
+ * @example
167
+ * ```tsx
168
+ * // With sorting and padding
169
+ * <SankeyDiagram
170
+ * edges={edges}
171
+ * nodeWidth={20}
172
+ * nodePaddingRatio={0.1}
173
+ * edgeSort={(a, b) => b.value - a.value}
174
+ * />
175
+ * ```
176
+ *
177
+ * @remarks
178
+ * This component wraps {@link NetworkFrame} with sensible defaults for Sankey diagrams.
179
+ * Sankey diagrams are used for directed acyclic graphs (DAGs).
180
+ *
181
+ * **Data Requirements:**
182
+ * - Edges must have source, target, and value properties
183
+ * - Graph should be acyclic (no cycles)
184
+ * - If cycles are detected, consider using a force-directed layout instead
185
+ *
186
+ * **Breadcrumb to advanced usage:**
187
+ * - Use the `frameProps` prop to pass any NetworkFrame prop
188
+ * - See NetworkFrame documentation: https://semiotic.nteract.io/guides/network-frame
189
+ * - All NetworkFrame props are available via `frameProps`
190
+ * - For circular Sankey diagrams, use the `customSankey` prop via frameProps
191
+ *
192
+ * @param props - SankeyDiagram configuration
193
+ * @returns Rendered Sankey diagram
194
+ */
195
+ 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;