semiotic 2.0.2 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/CLAUDE.md +530 -0
  2. package/README.md +190 -37
  3. package/ai/cli.js +48 -0
  4. package/ai/dist/ai/componentRegistry.js +45 -0
  5. package/ai/dist/ai/mcp-server.js +99 -0
  6. package/ai/dist/ai/renderHOCToSVG.js +77 -0
  7. package/ai/dist/src/components/Annotation.js +358 -0
  8. package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
  9. package/ai/dist/src/components/Axis/Axis.js +373 -0
  10. package/ai/dist/src/components/Axis/axisTitle.js +14 -0
  11. package/ai/dist/src/components/Axis/index.js +7 -0
  12. package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
  13. package/ai/dist/src/components/Brush.js +84 -0
  14. package/ai/dist/src/components/DividedLine.js +65 -0
  15. package/ai/dist/src/components/FacetController.js +259 -0
  16. package/ai/dist/src/components/Frame.js +139 -0
  17. package/ai/dist/src/components/InteractionLayer.js +328 -0
  18. package/ai/dist/src/components/Legend.js +140 -0
  19. package/ai/dist/src/components/MiniMap.js +75 -0
  20. package/ai/dist/src/components/MinimapXYFrame.js +99 -0
  21. package/ai/dist/src/components/NetworkFrame.js +335 -0
  22. package/ai/dist/src/components/OrdinalFrame.js +437 -0
  23. package/ai/dist/src/components/ResponsiveFrame.js +68 -0
  24. package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
  25. package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
  26. package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
  27. package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
  28. package/ai/dist/src/components/SparkFrame.js +113 -0
  29. package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
  30. package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
  31. package/ai/dist/src/components/SparkXYFrame.js +11 -0
  32. package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
  33. package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
  34. package/ai/dist/src/components/VisualizationLayer.js +395 -0
  35. package/ai/dist/src/components/XYFrame.js +524 -0
  36. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
  37. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
  38. package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
  39. package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
  40. package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
  41. package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
  42. package/ai/dist/src/components/batchWork.js +35 -0
  43. package/ai/dist/src/components/charts/index.js +96 -0
  44. package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
  45. package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
  46. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
  47. package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
  48. package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
  49. package/ai/dist/src/components/charts/network/Treemap.js +177 -0
  50. package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
  51. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
  52. package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
  53. package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
  54. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
  55. package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
  56. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
  57. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
  58. package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
  59. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
  60. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
  61. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
  62. package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
  63. package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
  64. package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
  65. package/ai/dist/src/components/charts/shared/hooks.js +49 -0
  66. package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
  67. package/ai/dist/src/components/charts/shared/types.js +2 -0
  68. package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
  69. package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
  70. package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
  71. package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
  72. package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
  73. package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
  74. package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
  75. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
  76. package/ai/dist/src/components/constants/coordinateNames.js +11 -0
  77. package/ai/dist/src/components/constants/frame_props.js +251 -0
  78. package/ai/dist/src/components/constants/jsx.js +71 -0
  79. package/ai/dist/src/components/data/dataFunctions.js +473 -0
  80. package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
  81. package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
  82. package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
  83. package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
  84. package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
  85. package/ai/dist/src/components/generic_utilities/functions.js +5 -0
  86. package/ai/dist/src/components/index.js +145 -0
  87. package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
  88. package/ai/dist/src/components/processing/InteractionItems.js +223 -0
  89. package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
  90. package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
  91. package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
  92. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
  93. package/ai/dist/src/components/processing/layouts/index.js +32 -0
  94. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
  95. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
  96. package/ai/dist/src/components/processing/layouts/types.js +2 -0
  97. package/ai/dist/src/components/processing/network.js +771 -0
  98. package/ai/dist/src/components/processing/networkDefaults.js +39 -0
  99. package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
  100. package/ai/dist/src/components/processing/ordinal.js +889 -0
  101. package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
  102. package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
  103. package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
  104. package/ai/dist/src/components/processing/xyDrawing.js +484 -0
  105. package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
  106. package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
  107. package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
  108. package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
  109. package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
  110. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
  111. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
  112. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
  113. package/ai/dist/src/components/realtime/renderers/types.js +2 -0
  114. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
  115. package/ai/dist/src/components/realtime/types.js +2 -0
  116. package/ai/dist/src/components/semiotic-ai.js +66 -0
  117. package/ai/dist/src/components/semiotic-network.js +30 -0
  118. package/ai/dist/src/components/semiotic-ordinal.js +28 -0
  119. package/ai/dist/src/components/semiotic-realtime.js +37 -0
  120. package/ai/dist/src/components/semiotic-server.js +8 -0
  121. package/ai/dist/src/components/semiotic-xy.js +41 -0
  122. package/ai/dist/src/components/semiotic.js +101 -0
  123. package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
  124. package/ai/dist/src/components/store/TooltipStore.js +13 -0
  125. package/ai/dist/src/components/store/createStore.js +77 -0
  126. package/ai/dist/src/components/svg/SvgHelper.js +308 -0
  127. package/ai/dist/src/components/svg/areaDrawing.js +312 -0
  128. package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
  129. package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
  130. package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
  131. package/ai/dist/src/components/svg/ckmeans.js +238 -0
  132. package/ai/dist/src/components/svg/contourLayout.js +73 -0
  133. package/ai/dist/src/components/svg/contourRenderer.js +53 -0
  134. package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
  135. package/ai/dist/src/components/svg/frameFunctions.js +579 -0
  136. package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
  137. package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
  138. package/ai/dist/src/components/svg/lineDrawing.js +427 -0
  139. package/ai/dist/src/components/svg/networkDrawing.js +207 -0
  140. package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
  141. package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
  142. package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
  143. package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
  144. package/ai/dist/src/components/svg/summaryAxis.js +48 -0
  145. package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
  146. package/ai/dist/src/components/svg/swarmLayout.js +128 -0
  147. package/ai/dist/src/components/types/annotationTypes.js +2 -0
  148. package/ai/dist/src/components/types/canvasTypes.js +2 -0
  149. package/ai/dist/src/components/types/generalTypes.js +2 -0
  150. package/ai/dist/src/components/types/interactionTypes.js +2 -0
  151. package/ai/dist/src/components/types/legendTypes.js +2 -0
  152. package/ai/dist/src/components/types/networkTypes.js +2 -0
  153. package/ai/dist/src/components/types/ordinalTypes.js +2 -0
  154. package/ai/dist/src/components/types/xyTypes.js +2 -0
  155. package/ai/dist/src/components/useBoundingRect.js +24 -0
  156. package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
  157. package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
  158. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
  159. package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
  160. package/ai/dist/src/setupTests.js +4 -0
  161. package/ai/examples.md +394 -0
  162. package/ai/schema.json +1178 -0
  163. package/ai/system-prompt.md +38 -0
  164. package/dist/Annotation.d.ts +3 -0
  165. package/dist/AnnotationLayer/AnnotationLayer.d.ts +25 -0
  166. package/dist/Axis/Axis.d.ts +7 -0
  167. package/dist/Axis/axisTitle.d.ts +10 -0
  168. package/dist/Axis/index.d.ts +2 -0
  169. package/dist/Axis/summaryGraphic.d.ts +17 -0
  170. package/dist/Brush.d.ts +12 -0
  171. package/dist/DividedLine.d.ts +16 -0
  172. package/dist/FacetController.d.ts +12 -0
  173. package/dist/Frame.d.ts +2 -0
  174. package/dist/InteractionLayer.d.ts +3 -0
  175. package/dist/Legend.d.ts +3 -0
  176. package/dist/MiniMap.d.ts +14 -0
  177. package/dist/MinimapXYFrame.d.ts +10 -0
  178. package/dist/NetworkFrame.d.ts +8 -0
  179. package/dist/OrdinalFrame.d.ts +8 -0
  180. package/dist/ResponsiveFrame.d.ts +22 -0
  181. package/dist/ResponsiveMinimapXYFrame.d.ts +3 -0
  182. package/dist/ResponsiveNetworkFrame.d.ts +3 -0
  183. package/dist/ResponsiveOrdinalFrame.d.ts +3 -0
  184. package/dist/ResponsiveXYFrame.d.ts +3 -0
  185. package/dist/SparkFrame.d.ts +14 -0
  186. package/dist/SparkNetworkFrame.d.ts +5 -0
  187. package/dist/SparkOrdinalFrame.d.ts +5 -0
  188. package/dist/SparkXYFrame.d.ts +5 -0
  189. package/dist/Tooltip/Tooltip.d.ts +141 -0
  190. package/dist/TooltipPositioner/index.d.ts +7 -0
  191. package/dist/VisualizationLayer.d.ts +33 -0
  192. package/dist/XYFrame.d.ts +8 -0
  193. package/dist/annotationLayerBehavior/annotationHandling.d.ts +19 -0
  194. package/dist/annotationLayerBehavior/d3labeler.d.ts +9 -0
  195. package/dist/annotationRules/baseRules.d.ts +25 -0
  196. package/dist/annotationRules/networkframeRules.d.ts +48 -0
  197. package/dist/annotationRules/orframeRules.d.ts +103 -0
  198. package/dist/annotationRules/xyframeRules.d.ts +117 -0
  199. package/dist/batchWork.d.ts +6 -0
  200. package/dist/charts/index.d.ts +62 -0
  201. package/dist/charts/network/ChordDiagram.d.ts +181 -0
  202. package/dist/charts/network/CirclePack.d.ts +103 -0
  203. package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
  204. package/dist/charts/network/SankeyDiagram.d.ts +195 -0
  205. package/dist/charts/network/TreeDiagram.d.ts +200 -0
  206. package/dist/charts/network/Treemap.d.ts +98 -0
  207. package/dist/charts/ordinal/BarChart.d.ts +119 -0
  208. package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
  209. package/dist/charts/ordinal/DonutChart.d.ts +95 -0
  210. package/dist/charts/ordinal/DotPlot.d.ts +128 -0
  211. package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
  212. package/dist/charts/ordinal/PieChart.d.ts +83 -0
  213. package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
  214. package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
  215. package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
  216. package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
  217. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
  218. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
  219. package/dist/charts/shared/ChartError.d.ts +19 -0
  220. package/dist/charts/shared/colorUtils.d.ts +62 -0
  221. package/dist/charts/shared/formatUtils.d.ts +82 -0
  222. package/dist/charts/shared/hooks.d.ts +20 -0
  223. package/dist/charts/shared/legendUtils.d.ts +32 -0
  224. package/dist/charts/shared/types.d.ts +58 -0
  225. package/dist/charts/shared/validateChartData.d.ts +41 -0
  226. package/dist/charts/shared/validateProps.d.ts +18 -0
  227. package/dist/charts/xy/AreaChart.d.ts +127 -0
  228. package/dist/charts/xy/BubbleChart.d.ts +157 -0
  229. package/dist/charts/xy/Heatmap.d.ts +153 -0
  230. package/dist/charts/xy/LineChart.d.ts +193 -0
  231. package/dist/charts/xy/Scatterplot.d.ts +50 -0
  232. package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
  233. package/dist/constants/coordinateNames.d.ts +8 -0
  234. package/dist/constants/frame_props.d.ts +13 -0
  235. package/dist/constants/jsx.d.ts +19 -0
  236. package/dist/data/dataFunctions.d.ts +45 -0
  237. package/dist/data/multiAccessorUtils.d.ts +1 -0
  238. package/dist/data/networkPipelineCache.d.ts +27 -0
  239. package/dist/data/ordinalPipelineCache.d.ts +33 -0
  240. package/dist/data/unflowedFunctions.d.ts +1 -0
  241. package/dist/data/xyPipelineCache.d.ts +35 -0
  242. package/dist/generic_utilities/functions.d.ts +1 -0
  243. package/dist/index.d.ts +133 -0
  244. package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +20 -0
  245. package/dist/network.js +8520 -0
  246. package/dist/network.js.map +1 -0
  247. package/dist/network.min.js +1 -0
  248. package/dist/network.module.js +8484 -0
  249. package/dist/network.module.js.map +1 -0
  250. package/dist/network.module.min.js +1 -0
  251. package/dist/ordinal.js +9276 -0
  252. package/dist/ordinal.js.map +1 -0
  253. package/dist/ordinal.min.js +1 -0
  254. package/dist/ordinal.module.js +9242 -0
  255. package/dist/ordinal.module.js.map +1 -0
  256. package/dist/ordinal.module.min.js +1 -0
  257. package/dist/processing/InteractionItems.d.ts +13 -0
  258. package/dist/processing/hierarchyUtils.d.ts +16 -0
  259. package/dist/processing/layouts/chordLayout.d.ts +2 -0
  260. package/dist/processing/layouts/forceLayout.d.ts +3 -0
  261. package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
  262. package/dist/processing/layouts/index.d.ts +8 -0
  263. package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
  264. package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
  265. package/dist/processing/layouts/types.d.ts +17 -0
  266. package/dist/processing/network.d.ts +111 -0
  267. package/dist/processing/networkDefaults.d.ts +36 -0
  268. package/dist/processing/networkLayoutHelpers.d.ts +54 -0
  269. package/dist/processing/ordinal.d.ts +102 -0
  270. package/dist/processing/ordinalConstants.d.ts +33 -0
  271. package/dist/processing/ordinalOverlays.d.ts +33 -0
  272. package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
  273. package/dist/processing/xyDrawing.d.ts +140 -0
  274. package/dist/realtime/BinAccumulator.d.ts +8 -0
  275. package/dist/realtime/IncrementalExtent.d.ts +13 -0
  276. package/dist/realtime/RealtimeFrame.d.ts +4 -0
  277. package/dist/realtime/RingBuffer.d.ts +19 -0
  278. package/dist/realtime/renderers/barRenderer.d.ts +2 -0
  279. package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
  280. package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
  281. package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
  282. package/dist/realtime/renderers/types.d.ts +9 -0
  283. package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
  284. package/dist/realtime/types.d.ts +113 -0
  285. package/dist/realtime.js +1598 -0
  286. package/dist/realtime.js.map +1 -0
  287. package/dist/realtime.min.js +1 -0
  288. package/dist/realtime.module.js +1566 -0
  289. package/dist/realtime.module.js.map +1 -0
  290. package/dist/realtime.module.min.js +1 -0
  291. package/dist/semiotic-ai.d.ts +28 -0
  292. package/dist/semiotic-ai.js +18722 -0
  293. package/dist/semiotic-ai.js.map +1 -0
  294. package/dist/semiotic-ai.min.js +1 -0
  295. package/dist/semiotic-ai.module.js +18668 -0
  296. package/dist/semiotic-ai.module.js.map +1 -0
  297. package/dist/semiotic-ai.module.min.js +1 -0
  298. package/dist/semiotic-network.d.ts +19 -0
  299. package/dist/semiotic-ordinal.d.ts +18 -0
  300. package/dist/semiotic-realtime.d.ts +23 -0
  301. package/dist/semiotic-server.d.ts +1 -0
  302. package/dist/semiotic-xy.d.ts +24 -0
  303. package/dist/semiotic.d.ts +51 -0
  304. package/dist/semiotic.js +18723 -12996
  305. package/dist/semiotic.js.map +1 -0
  306. package/dist/semiotic.min.js +1 -0
  307. package/dist/semiotic.module.js +18666 -12965
  308. package/dist/semiotic.module.js.map +1 -0
  309. package/dist/semiotic.module.min.js +1 -0
  310. package/dist/server/renderToStaticSVG.d.ts +9 -0
  311. package/dist/server.js +8360 -0
  312. package/dist/server.js.map +1 -0
  313. package/dist/server.min.js +1 -0
  314. package/dist/server.module.js +8331 -0
  315. package/dist/server.module.js.map +1 -0
  316. package/dist/server.module.min.js +1 -0
  317. package/dist/store/TooltipStore.d.ts +2 -0
  318. package/dist/store/createStore.d.ts +1 -0
  319. package/dist/svg/SvgHelper.d.ts +33 -0
  320. package/dist/svg/areaDrawing.d.ts +21 -0
  321. package/dist/svg/boxplotRenderer.d.ts +15 -0
  322. package/dist/svg/bucketizedRenderer.d.ts +16 -0
  323. package/dist/svg/ckbinsRenderer.d.ts +20 -0
  324. package/dist/svg/ckmeans.d.ts +69 -0
  325. package/dist/svg/contourLayout.d.ts +6 -0
  326. package/dist/svg/contourRenderer.d.ts +12 -0
  327. package/dist/svg/edgeGenerators.d.ts +51 -0
  328. package/dist/svg/frameFunctions.d.ts +108 -0
  329. package/dist/svg/graphAlgorithms.d.ts +14 -0
  330. package/dist/svg/hexbinLayout.d.ts +7 -0
  331. package/dist/svg/lineDrawing.d.ts +99 -0
  332. package/dist/svg/networkDrawing.d.ts +16 -0
  333. package/dist/svg/nodeGenerators.d.ts +58 -0
  334. package/dist/svg/pieceDrawing.d.ts +12 -0
  335. package/dist/svg/pieceLayouts.d.ts +53 -0
  336. package/dist/svg/sankeyLinks.d.ts +3 -0
  337. package/dist/svg/summaryAxis.d.ts +6 -0
  338. package/dist/svg/summaryLayouts.d.ts +53 -0
  339. package/dist/svg/swarmLayout.d.ts +13 -0
  340. package/dist/types/annotationTypes.d.ts +135 -0
  341. package/dist/types/canvasTypes.d.ts +9 -0
  342. package/dist/types/generalTypes.d.ts +238 -0
  343. package/dist/types/interactionTypes.d.ts +72 -0
  344. package/dist/types/legendTypes.d.ts +20 -0
  345. package/dist/types/networkTypes.d.ts +175 -0
  346. package/dist/types/ordinalTypes.d.ts +112 -0
  347. package/dist/types/xyTypes.d.ts +115 -0
  348. package/dist/useBoundingRect.d.ts +2 -0
  349. package/dist/useDerivedStateFromProps.d.ts +1 -0
  350. package/dist/useLegacyUnmountCallback.d.ts +2 -0
  351. package/dist/visualizationLayerBehavior/axis.d.ts +36 -0
  352. package/dist/visualizationLayerBehavior/general.d.ts +80 -0
  353. package/dist/xy.js +7944 -0
  354. package/dist/xy.js.map +1 -0
  355. package/dist/xy.min.js +1 -0
  356. package/dist/xy.module.js +7903 -0
  357. package/dist/xy.module.js.map +1 -0
  358. package/dist/xy.module.min.js +1 -0
  359. package/package.json +116 -65
@@ -0,0 +1,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;
@@ -0,0 +1,200 @@
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
+ * TreeDiagram component props
7
+ */
8
+ export interface TreeDiagramProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ /**
10
+ * Hierarchical data structure
11
+ * @example
12
+ * ```ts
13
+ * {
14
+ * name: 'root',
15
+ * children: [
16
+ * {name: 'A', children: [{name: 'A1'}, {name: 'A2'}]},
17
+ * {name: 'B'}
18
+ * ]
19
+ * }
20
+ * ```
21
+ */
22
+ data: TNode;
23
+ /**
24
+ * Tree layout algorithm
25
+ * - "tree": standard tree layout
26
+ * - "cluster": cluster (dendrogram) layout
27
+ * - "partition": partition (icicle/sunburst) layout
28
+ * - "treemap": treemap layout (@deprecated — use the standalone {@link Treemap} component instead)
29
+ * - "circlepack": circle packing layout (@deprecated — use the standalone {@link CirclePack} component instead)
30
+ * @default "tree"
31
+ */
32
+ layout?: "tree" | "cluster" | "partition" | "treemap" | "circlepack";
33
+ /**
34
+ * Projection orientation
35
+ * - "vertical": top to bottom
36
+ * - "horizontal": left to right
37
+ * - "radial": radial layout (circular)
38
+ * @default "vertical"
39
+ */
40
+ orientation?: "vertical" | "horizontal" | "radial";
41
+ /**
42
+ * Field name or function to access children array
43
+ * @default "children"
44
+ */
45
+ childrenAccessor?: ChartAccessor<TNode, TNode[]>;
46
+ /**
47
+ * Field name or function to access node value for sizing
48
+ * Used by treemap and circlepack layouts
49
+ * @default "value"
50
+ */
51
+ valueAccessor?: Accessor<number>;
52
+ /**
53
+ * Field name or function to access node identifier
54
+ * @default "name"
55
+ */
56
+ nodeIdAccessor?: ChartAccessor<TNode, string>;
57
+ /**
58
+ * Field name or function to determine node color
59
+ * @example
60
+ * ```ts
61
+ * colorBy="category"
62
+ * colorBy={d => d.depth}
63
+ * ```
64
+ */
65
+ colorBy?: ChartAccessor<TNode, string | number>;
66
+ /**
67
+ * Color scheme for nodes or custom colors array
68
+ * @default "category10"
69
+ */
70
+ colorScheme?: string | string[];
71
+ /**
72
+ * Color nodes by depth level
73
+ * @default false
74
+ */
75
+ colorByDepth?: boolean;
76
+ /**
77
+ * Edge style
78
+ * - "line": straight lines
79
+ * - "curve": curved lines
80
+ * @default "curve"
81
+ */
82
+ edgeStyle?: "line" | "curve";
83
+ /**
84
+ * Label accessor for nodes
85
+ * @default Uses nodeIdAccessor
86
+ */
87
+ nodeLabel?: ChartAccessor<TNode, string>;
88
+ /**
89
+ * Show node labels
90
+ * @default true
91
+ */
92
+ showLabels?: boolean;
93
+ /**
94
+ * Node size for tree/cluster layouts
95
+ * @default 5
96
+ */
97
+ nodeSize?: number;
98
+ /**
99
+ * Enable hover annotations
100
+ * @default true
101
+ */
102
+ enableHover?: boolean;
103
+ /**
104
+ * Tooltip configuration
105
+ */
106
+ tooltip?: TooltipProp;
107
+ /**
108
+ * Additional NetworkFrame props for advanced customization
109
+ * For full control, consider using NetworkFrame directly
110
+ * @see https://semiotic.nteract.io/guides/network-frame
111
+ */
112
+ frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
113
+ }
114
+ /**
115
+ * TreeDiagram - Visualize hierarchical data structures
116
+ *
117
+ * A simplified wrapper around NetworkFrame for creating tree diagrams.
118
+ * Perfect for organizational charts, file systems, taxonomies, and
119
+ * any hierarchical data.
120
+ *
121
+ * @example
122
+ * ```tsx
123
+ * // Simple tree
124
+ * <TreeDiagram
125
+ * data={{
126
+ * name: 'Root',
127
+ * children: [
128
+ * {name: 'A', children: [{name: 'A1'}, {name: 'A2'}]},
129
+ * {name: 'B'}
130
+ * ]
131
+ * }}
132
+ * />
133
+ * ```
134
+ *
135
+ * @example
136
+ * ```tsx
137
+ * // Horizontal cluster (dendrogram)
138
+ * <TreeDiagram
139
+ * data={hierarchicalData}
140
+ * layout="cluster"
141
+ * orientation="horizontal"
142
+ * colorByDepth={true}
143
+ * />
144
+ * ```
145
+ *
146
+ * @example
147
+ * ```tsx
148
+ * // Radial tree
149
+ * <TreeDiagram
150
+ * data={hierarchicalData}
151
+ * layout="tree"
152
+ * orientation="radial"
153
+ * colorBy="category"
154
+ * nodeSize={8}
155
+ * />
156
+ * ```
157
+ *
158
+ * @example
159
+ * ```tsx
160
+ * // Treemap with sizing
161
+ * <TreeDiagram
162
+ * data={hierarchicalData}
163
+ * layout="treemap"
164
+ * valueAccessor="size"
165
+ * colorBy="type"
166
+ * />
167
+ * ```
168
+ *
169
+ * @example
170
+ * ```tsx
171
+ * // Circle pack
172
+ * <TreeDiagram
173
+ * data={hierarchicalData}
174
+ * layout="circlepack"
175
+ * valueAccessor="value"
176
+ * colorByDepth={true}
177
+ * />
178
+ * ```
179
+ *
180
+ * @remarks
181
+ * This component wraps {@link NetworkFrame} with sensible defaults for tree diagrams.
182
+ * Different layouts are suited for different use cases:
183
+ * - **tree/cluster**: Good for organizational structures, phylogenetic trees
184
+ * - **treemap**: Good for showing proportional sizes (disk usage, budget allocation)
185
+ * - **partition**: Good for hierarchical proportions (icicle or sunburst charts)
186
+ * - **circlepack**: Good for nested hierarchies with size encoding
187
+ *
188
+ * **Data Requirements:**
189
+ * - Data must be hierarchical JSON with a children property (or custom accessor)
190
+ * - For treemap/circlepack, nodes should have a value property for sizing
191
+ *
192
+ * **Breadcrumb to advanced usage:**
193
+ * - Use the `frameProps` prop to pass any NetworkFrame prop
194
+ * - See NetworkFrame documentation: https://semiotic.nteract.io/guides/network-frame
195
+ * - All NetworkFrame props are available via `frameProps`
196
+ *
197
+ * @param props - TreeDiagram configuration
198
+ * @returns Rendered tree diagram
199
+ */
200
+ export declare function TreeDiagram<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: TreeDiagramProps<TNode, TEdge>): React.JSX.Element;
@@ -0,0 +1,98 @@
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
+ * Treemap component props
7
+ */
8
+ export interface TreemapProps<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 treemap cells
54
+ * @default true
55
+ */
56
+ showLabels?: boolean;
57
+ /**
58
+ * Node label accessor
59
+ * @default Uses nodeIdAccessor
60
+ */
61
+ nodeLabel?: ChartAccessor<TNode, string>;
62
+ /**
63
+ * Enable hover annotations
64
+ * @default true
65
+ */
66
+ enableHover?: boolean;
67
+ /**
68
+ * Tooltip configuration
69
+ */
70
+ tooltip?: TooltipProp;
71
+ /**
72
+ * Additional NetworkFrame props for advanced customization
73
+ * For full control, consider using NetworkFrame directly
74
+ */
75
+ frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
76
+ }
77
+ /**
78
+ * Treemap - Visualize hierarchical data as nested rectangles.
79
+ *
80
+ * A simplified wrapper around NetworkFrame with treemap layout.
81
+ * Each rectangle's area is proportional to its value.
82
+ *
83
+ * @example
84
+ * ```tsx
85
+ * <Treemap
86
+ * data={{
87
+ * name: 'root',
88
+ * children: [
89
+ * {name: 'A', value: 100},
90
+ * {name: 'B', value: 200},
91
+ * {name: 'C', value: 150}
92
+ * ]
93
+ * }}
94
+ * colorBy="name"
95
+ * />
96
+ * ```
97
+ */
98
+ export declare function Treemap<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: TreemapProps<TNode, TEdge>): React.JSX.Element;