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,82 @@
1
+ /**
2
+ * Format number with specified format string
3
+ *
4
+ * @param value - Number to format
5
+ * @param formatString - D3 format string (e.g., ".2f", ",.0f", ".1%")
6
+ * @returns Formatted string
7
+ *
8
+ * @see https://github.com/d3/d3-format#format for format string options
9
+ */
10
+ export declare function formatNumber(value: number, formatString?: string): string;
11
+ /**
12
+ * Format date with specified format string
13
+ *
14
+ * @param value - Date to format
15
+ * @param formatString - D3 time format string (e.g., "%Y-%m-%d", "%b %d")
16
+ * @returns Formatted string
17
+ *
18
+ * @see https://github.com/d3/d3-time-format#timeFormat for format string options
19
+ */
20
+ export declare function formatDate(value: Date | number | string, formatString?: string): string;
21
+ /**
22
+ * Creates a formatting function based on the type
23
+ *
24
+ * @param type - Type of formatting: 'number', 'date', 'percent', or 'currency'
25
+ * @param options - Optional configuration for the formatter
26
+ * @returns Formatting function
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const fmt = formatAxis('number', { decimals: 2 })
31
+ * fmt(1234.567) // "1,234.57"
32
+ *
33
+ * const dateFmt = formatAxis('date', { format: '%b %Y' })
34
+ * dateFmt(new Date()) // "Jan 2024"
35
+ * ```
36
+ */
37
+ export declare function formatAxis(type?: "number" | "date" | "percent" | "currency", options?: {
38
+ decimals?: number;
39
+ format?: string;
40
+ currency?: string;
41
+ }): (d: any) => string;
42
+ /**
43
+ * Creates a tooltip content generator
44
+ *
45
+ * @param fields - Array of field names to display
46
+ * @param formatters - Optional map of field names to formatting functions
47
+ * @param labels - Optional map of field names to display labels
48
+ * @returns React element generator function
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const tooltip = createTooltip(
53
+ * ['category', 'value'],
54
+ * { value: d => formatNumber(d, ',.2f') },
55
+ * { category: 'Category', value: 'Value' }
56
+ * )
57
+ * ```
58
+ */
59
+ export declare function createTooltip(fields: string[], formatters?: Record<string, (v: any) => string>, labels?: Record<string, string>): (d: any) => JSX.Element;
60
+ /**
61
+ * Formats large numbers with K/M/B suffixes
62
+ *
63
+ * @param value - Number to format
64
+ * @param decimals - Number of decimal places
65
+ * @returns Formatted string with suffix
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * formatLargeNumber(1234) // "1.2K"
70
+ * formatLargeNumber(1234567) // "1.2M"
71
+ * formatLargeNumber(1234567890) // "1.2B"
72
+ * ```
73
+ */
74
+ export declare function formatLargeNumber(value: number, decimals?: number): string;
75
+ /**
76
+ * Truncates text to specified length with ellipsis
77
+ *
78
+ * @param text - Text to truncate
79
+ * @param maxLength - Maximum length before truncation
80
+ * @returns Truncated text
81
+ */
82
+ export declare function truncateText(text: string, maxLength?: number): string;
@@ -0,0 +1,20 @@
1
+ import type { Accessor } from "./types";
2
+ /**
3
+ * Default fill color used when no colorBy is specified
4
+ */
5
+ export declare const DEFAULT_COLOR = "#007bff";
6
+ /**
7
+ * Resolve an accessor (string key or function) into a function.
8
+ * Used across chart components to normalize `valueAccessor`, `categoryAccessor`, etc.
9
+ */
10
+ export declare function resolveAccessor<T = any>(accessor: string | ((d: Record<string, any>, i?: number) => T)): (d: Record<string, any>) => T;
11
+ /**
12
+ * Hook to create a color scale from data and colorBy configuration.
13
+ * Returns undefined when colorBy is absent or is a function accessor.
14
+ */
15
+ export declare function useColorScale(data: Array<Record<string, any>>, colorBy: Accessor<string> | undefined, colorScheme?: string | string[]): ((v: string) => string) | undefined;
16
+ /**
17
+ * Hook to sort data by a value accessor.
18
+ * Used by BarChart and DotPlot.
19
+ */
20
+ export declare function useSortedData(data: Array<Record<string, any>>, sort: boolean | "asc" | "desc" | ((a: Record<string, any>, b: Record<string, any>) => number), valueAccessor: Accessor<number>): Array<Record<string, any>>;
@@ -0,0 +1,32 @@
1
+ import type { Accessor } from "./types";
2
+ /**
3
+ * Create a legend configuration for HOC components
4
+ *
5
+ * @param data - Array of data points
6
+ * @param colorBy - Field or function to determine color categories
7
+ * @param colorScale - Optional d3 color scale function
8
+ * @param getColor - Function to get color for a data point
9
+ * @param strokeColor - Optional stroke color for legend items
10
+ * @param strokeWidth - Optional stroke width for legend items
11
+ * @returns Legend configuration object for Semiotic frames
12
+ */
13
+ export declare function createLegend({ data, colorBy, colorScale, getColor, strokeColor, strokeWidth }: {
14
+ data: Array<Record<string, any>>;
15
+ colorBy: Accessor<string>;
16
+ colorScale?: ((v: string) => string);
17
+ getColor: (d: Record<string, any>, accessor: Accessor<string>, scale?: ((v: string) => string)) => string;
18
+ strokeColor?: string;
19
+ strokeWidth?: number;
20
+ }): {
21
+ legendGroups: {
22
+ styleFn: (d: {
23
+ color: string;
24
+ }) => Record<string, string | number>;
25
+ type: "fill";
26
+ items: {
27
+ label: string;
28
+ color: string;
29
+ }[];
30
+ label: string;
31
+ }[];
32
+ };
@@ -0,0 +1,58 @@
1
+ import type { MarginType } from "../../types/generalTypes";
2
+ /**
3
+ * Base props shared across all chart components
4
+ */
5
+ export interface BaseChartProps {
6
+ /** Chart width in pixels. Default: 600 */
7
+ width?: number;
8
+ /** Chart height in pixels. Default: 400 */
9
+ height?: number;
10
+ /** Margin around the chart. Can be number (same on all sides) or object specifying each side */
11
+ margin?: MarginType;
12
+ /** CSS class name for the chart container */
13
+ className?: string;
14
+ /** Chart title displayed at the top */
15
+ title?: string;
16
+ }
17
+ /**
18
+ * Axis configuration props
19
+ */
20
+ export interface AxisConfig {
21
+ /** Label for the x-axis */
22
+ xLabel?: string;
23
+ /** Label for the y-axis */
24
+ yLabel?: string;
25
+ /** Format function for x-axis tick labels */
26
+ xFormat?: (d: any) => string;
27
+ /** Format function for y-axis tick labels */
28
+ yFormat?: (d: any) => string;
29
+ }
30
+ /**
31
+ * Accessor type - can be a property name or a function
32
+ * @deprecated Use DataAccessor from generalTypes for generic type safety
33
+ */
34
+ export type Accessor<T = any> = string | ((d: any, i?: number) => T);
35
+ /**
36
+ * Generic accessor type that provides autocomplete when TDatum is specified
37
+ */
38
+ export type ChartAccessor<TDatum, T> = (keyof TDatum & string) | ((d: TDatum, i?: number) => T);
39
+ /**
40
+ * Color configuration
41
+ */
42
+ export interface ColorConfig {
43
+ /** Field name or function to determine color */
44
+ colorBy?: Accessor<string>;
45
+ /** Color scheme name (e.g., "blues", "category10") */
46
+ colorScheme?: string;
47
+ /** Custom color palette */
48
+ colors?: string[];
49
+ }
50
+ /**
51
+ * Size configuration
52
+ */
53
+ export interface SizeConfig {
54
+ /** Field name or function to determine size */
55
+ sizeBy?: Accessor<number>;
56
+ /** Min and max size range */
57
+ sizeRange?: [number, number];
58
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Validates chart data and accessors at render time.
3
+ * Returns null if data is valid, or an error message string if not.
4
+ *
5
+ * Validation is intentionally lightweight — it checks the first data point
6
+ * to catch common mistakes (wrong field names, missing data) without
7
+ * iterating the entire dataset.
8
+ */
9
+ type AccessorLike = string | ((...args: any[]) => any);
10
+ interface ArrayDataValidation {
11
+ componentName: string;
12
+ data: any[] | undefined | null;
13
+ accessors?: Record<string, AccessorLike | undefined>;
14
+ requiredProps?: Record<string, any>;
15
+ }
16
+ interface ObjectDataValidation {
17
+ componentName: string;
18
+ data: any | undefined | null;
19
+ dataLabel?: string;
20
+ }
21
+ interface NetworkDataValidation {
22
+ componentName: string;
23
+ nodes?: any[] | undefined | null;
24
+ edges?: any[] | undefined | null;
25
+ nodesRequired?: boolean;
26
+ edgesRequired?: boolean;
27
+ accessors?: Record<string, AccessorLike | undefined>;
28
+ }
29
+ /**
30
+ * Validate array-based chart data (LineChart, BarChart, Scatterplot, etc.)
31
+ */
32
+ export declare function validateArrayData({ componentName, data, accessors, requiredProps, }: ArrayDataValidation): string | null;
33
+ /**
34
+ * Validate object/hierarchical data (TreeDiagram, Treemap, CirclePack)
35
+ */
36
+ export declare function validateObjectData({ componentName, data, dataLabel, }: ObjectDataValidation): string | null;
37
+ /**
38
+ * Validate network data (ForceDirectedGraph, ChordDiagram, SankeyDiagram)
39
+ */
40
+ export declare function validateNetworkData({ componentName, nodes, edges, nodesRequired, edgesRequired, accessors, }: NetworkDataValidation): string | null;
41
+ export {};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Static props validation for AI code-generation pipelines.
3
+ *
4
+ * Validates component name, required props, prop types, enum values,
5
+ * unknown props (typo detection), and data shape via the existing
6
+ * validateArrayData / validateObjectData / validateNetworkData helpers.
7
+ */
8
+ export interface ValidationResult {
9
+ valid: boolean;
10
+ errors: string[];
11
+ }
12
+ /**
13
+ * Validate props for a Semiotic HOC chart component.
14
+ *
15
+ * Checks: component name, required props, prop types, enum values,
16
+ * unknown prop names (typo detection), and data shape + accessor validity.
17
+ */
18
+ export declare function validateProps(componentName: string, props: Record<string, any>): ValidationResult;
@@ -0,0 +1,127 @@
1
+ import * as React from "react";
2
+ import type { XYFrameProps } from "../../types/xyTypes";
3
+ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * AreaChart component props
7
+ */
8
+ export interface AreaChartProps<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
+ * // Multiple areas with grouping
14
+ * [{x: 1, y: 10, category: 'A'}, {x: 2, y: 20, category: 'A'}, {x: 1, y: 15, category: 'B'}]
15
+ * ```
16
+ */
17
+ data: TDatum[];
18
+ /**
19
+ * Field name or function to access x values
20
+ * @default "x"
21
+ */
22
+ xAccessor?: ChartAccessor<TDatum, number>;
23
+ /**
24
+ * Field name or function to access y values
25
+ * @default "y"
26
+ */
27
+ yAccessor?: ChartAccessor<TDatum, number>;
28
+ /**
29
+ * Field name or function to group data into multiple areas
30
+ * @example
31
+ * ```ts
32
+ * areaBy="category" // Group by category field
33
+ * areaBy={d => d.group} // Use function
34
+ * ```
35
+ */
36
+ areaBy?: ChartAccessor<TDatum, string>;
37
+ /**
38
+ * Field name in area objects that contains coordinate arrays
39
+ * Used when data is in area objects format
40
+ * @default "coordinates"
41
+ */
42
+ lineDataAccessor?: string;
43
+ /**
44
+ * Field name or function to determine area color
45
+ * @example
46
+ * ```ts
47
+ * colorBy="category"
48
+ * colorBy={d => d.label}
49
+ * ```
50
+ */
51
+ colorBy?: ChartAccessor<TDatum, string>;
52
+ /**
53
+ * Color scheme for categorical data or custom colors array
54
+ * @default "category10"
55
+ */
56
+ colorScheme?: string | string[];
57
+ /**
58
+ * Curve interpolation type
59
+ * @default "monotoneX"
60
+ */
61
+ curve?: "linear" | "monotoneX" | "monotoneY" | "step" | "stepAfter" | "stepBefore" | "basis" | "cardinal" | "catmullRom";
62
+ /**
63
+ * Area opacity
64
+ * @default 0.7
65
+ */
66
+ areaOpacity?: number;
67
+ /**
68
+ * Show line on top of area
69
+ * @default true
70
+ */
71
+ showLine?: boolean;
72
+ /**
73
+ * Line stroke width when showLine is true
74
+ * @default 2
75
+ */
76
+ lineWidth?: number;
77
+ /**
78
+ * Enable hover annotations
79
+ * @default true
80
+ */
81
+ enableHover?: boolean;
82
+ /**
83
+ * Show grid lines
84
+ * @default false
85
+ */
86
+ showGrid?: boolean;
87
+ /**
88
+ * Show legend for multiple areas
89
+ * @default true (when multiple areas)
90
+ */
91
+ showLegend?: boolean;
92
+ /**
93
+ * Tooltip configuration
94
+ */
95
+ tooltip?: TooltipProp;
96
+ /**
97
+ * Additional XYFrame props for advanced customization
98
+ * For full control, consider using XYFrame directly
99
+ * @see https://semiotic.nteract.io/guides/xy-frame
100
+ */
101
+ frameProps?: Partial<Omit<XYFrameProps, "lines" | "size">>;
102
+ }
103
+ /**
104
+ * AreaChart - Visualize quantities over continuous intervals with overlapping filled areas
105
+ *
106
+ * Each series fills from its line down to the baseline. Multiple series overlap
107
+ * with transparency so all shapes remain visible.
108
+ *
109
+ * For stacked areas use {@link StackedAreaChart}.
110
+ *
111
+ * @example
112
+ * ```tsx
113
+ * <AreaChart
114
+ * data={[
115
+ * {x: 1, y: 10, category: 'A'},
116
+ * {x: 2, y: 20, category: 'A'},
117
+ * {x: 1, y: 15, category: 'B'},
118
+ * {x: 2, y: 25, category: 'B'}
119
+ * ]}
120
+ * areaBy="category"
121
+ * colorBy="category"
122
+ * xLabel="Time"
123
+ * yLabel="Value"
124
+ * />
125
+ * ```
126
+ */
127
+ export declare function AreaChart<TDatum extends Record<string, any> = Record<string, any>>(props: AreaChartProps<TDatum>): React.JSX.Element;
@@ -0,0 +1,157 @@
1
+ import * as React from "react";
2
+ import type { XYFrameProps } from "../../types/xyTypes";
3
+ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * BubbleChart component props
7
+ */
8
+ export interface BubbleChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps, AxisConfig {
9
+ /**
10
+ * Array of data points. Each point should have x, y, and size properties.
11
+ * @example
12
+ * ```ts
13
+ * [{x: 1, y: 10, size: 50, category: 'A'}, {x: 2, y: 20, size: 30, 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 determine bubble size (required)
29
+ * @example
30
+ * ```ts
31
+ * sizeBy="population"
32
+ * sizeBy={d => Math.sqrt(d.value)}
33
+ * ```
34
+ */
35
+ sizeBy: ChartAccessor<TDatum, number>;
36
+ /**
37
+ * Min and max radius for bubbles
38
+ * @default [5, 40]
39
+ */
40
+ sizeRange?: [number, number];
41
+ /**
42
+ * Field name or function to determine bubble color
43
+ * @example
44
+ * ```ts
45
+ * colorBy="category"
46
+ * colorBy={d => d.value > 10 ? 'red' : 'blue'}
47
+ * ```
48
+ */
49
+ colorBy?: ChartAccessor<TDatum, string>;
50
+ /**
51
+ * Color scheme for categorical data or custom colors array
52
+ * @default "category10"
53
+ */
54
+ colorScheme?: string | string[];
55
+ /**
56
+ * Bubble opacity
57
+ * @default 0.6
58
+ */
59
+ bubbleOpacity?: number;
60
+ /**
61
+ * Bubble stroke width
62
+ * @default 1
63
+ */
64
+ bubbleStrokeWidth?: number;
65
+ /**
66
+ * Bubble stroke color
67
+ * @default "white"
68
+ */
69
+ bubbleStrokeColor?: string;
70
+ /**
71
+ * Enable hover annotations
72
+ * @default true
73
+ */
74
+ enableHover?: boolean;
75
+ /**
76
+ * Show grid lines
77
+ * @default false
78
+ */
79
+ showGrid?: boolean;
80
+ /**
81
+ * Show legend
82
+ * @default true (when colorBy is specified)
83
+ */
84
+ showLegend?: boolean;
85
+ /**
86
+ * Tooltip configuration
87
+ */
88
+ tooltip?: TooltipProp;
89
+ /**
90
+ * Additional XYFrame props for advanced customization
91
+ * For full control, consider using XYFrame directly
92
+ * @see https://semiotic.nteract.io/guides/xy-frame
93
+ */
94
+ frameProps?: Partial<Omit<XYFrameProps, "points" | "size">>;
95
+ }
96
+ /**
97
+ * BubbleChart - Visualize three dimensions of data using x, y, and size
98
+ *
99
+ * A simplified wrapper around XYFrame for creating bubble charts. Perfect for
100
+ * showing relationships between three continuous variables or comparing
101
+ * magnitudes across categories.
102
+ *
103
+ * @example
104
+ * ```tsx
105
+ * // Simple bubble chart
106
+ * <BubbleChart
107
+ * data={[
108
+ * {x: 1, y: 10, size: 50, name: 'A'},
109
+ * {x: 2, y: 20, size: 30, name: 'B'},
110
+ * {x: 3, y: 15, size: 70, name: 'C'}
111
+ * ]}
112
+ * sizeBy="size"
113
+ * xLabel="Time"
114
+ * yLabel="Value"
115
+ * />
116
+ * ```
117
+ *
118
+ * @example
119
+ * ```tsx
120
+ * // With color encoding
121
+ * <BubbleChart
122
+ * data={data}
123
+ * sizeBy="population"
124
+ * colorBy="continent"
125
+ * sizeRange={[5, 50]}
126
+ * bubbleOpacity={0.7}
127
+ * xLabel="GDP per Capita"
128
+ * yLabel="Life Expectancy"
129
+ * />
130
+ * ```
131
+ *
132
+ * @example
133
+ * ```tsx
134
+ * // Advanced: Override XYFrame props
135
+ * <BubbleChart
136
+ * data={data}
137
+ * sizeBy="value"
138
+ * frameProps={{
139
+ * customPointMark: ({ d }) => <circle r={d.r} fill="gold" />
140
+ * }}
141
+ * />
142
+ * ```
143
+ *
144
+ * @remarks
145
+ * This component wraps {@link XYFrame} with sensible defaults for bubble charts.
146
+ * For more advanced features like custom marks, annotations, or complex interactions,
147
+ * use XYFrame directly.
148
+ *
149
+ * **Breadcrumb to advanced usage:**
150
+ * - Use the `frameProps` prop to pass any XYFrame prop
151
+ * - See XYFrame documentation: https://semiotic.nteract.io/guides/xy-frame
152
+ * - All XYFrame props are available via `frameProps`
153
+ *
154
+ * @param props - BubbleChart configuration
155
+ * @returns Rendered bubble chart
156
+ */
157
+ export declare function BubbleChart<TDatum extends Record<string, any> = Record<string, any>>(props: BubbleChartProps<TDatum>): React.JSX.Element;
@@ -0,0 +1,153 @@
1
+ import * as React from "react";
2
+ import type { XYFrameProps } from "../../types/xyTypes";
3
+ import type { BaseChartProps, ChartAccessor } from "../shared/types";
4
+ import { type TooltipProp } from "../../Tooltip/Tooltip";
5
+ /**
6
+ * Heatmap component props
7
+ */
8
+ export interface HeatmapProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
9
+ /**
10
+ * Array of data points with x, y, and value properties.
11
+ * @example
12
+ * ```ts
13
+ * [{x: 1, y: 1, value: 10}, {x: 1, y: 2, value: 20}, {x: 2, y: 1, value: 15}]
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 access cell values
29
+ * @default "value"
30
+ */
31
+ valueAccessor?: ChartAccessor<TDatum, number>;
32
+ /**
33
+ * Label for the x-axis
34
+ */
35
+ xLabel?: string;
36
+ /**
37
+ * Label for the y-axis
38
+ */
39
+ yLabel?: string;
40
+ /**
41
+ * Format function for x-axis tick labels
42
+ */
43
+ xFormat?: (d: any) => string;
44
+ /**
45
+ * Format function for y-axis tick labels
46
+ */
47
+ yFormat?: (d: any) => string;
48
+ /**
49
+ * Color scheme for the heatmap
50
+ * @default "blues"
51
+ */
52
+ colorScheme?: "blues" | "reds" | "greens" | "viridis" | "custom";
53
+ /**
54
+ * Custom color scale (used when colorScheme is "custom")
55
+ * @example
56
+ * ```ts
57
+ * customColorScale={scaleSequential(interpolatePlasma).domain([0, 100])}
58
+ * ```
59
+ */
60
+ customColorScale?: any;
61
+ /**
62
+ * Show values in cells
63
+ * @default false
64
+ */
65
+ showValues?: boolean;
66
+ /**
67
+ * Format function for cell value labels
68
+ */
69
+ valueFormat?: (d: number) => string;
70
+ /**
71
+ * Cell border color
72
+ * @default "#fff"
73
+ */
74
+ cellBorderColor?: string;
75
+ /**
76
+ * Cell border width
77
+ * @default 1
78
+ */
79
+ cellBorderWidth?: number;
80
+ /**
81
+ * Enable hover annotations
82
+ * @default true
83
+ */
84
+ enableHover?: boolean;
85
+ /**
86
+ * Tooltip configuration
87
+ */
88
+ tooltip?: TooltipProp;
89
+ /**
90
+ * Additional XYFrame props for advanced customization
91
+ * For full control, consider using XYFrame directly
92
+ * @see https://semiotic.nteract.io/guides/xy-frame
93
+ */
94
+ frameProps?: Partial<Omit<XYFrameProps, "summaries" | "size">>;
95
+ }
96
+ /**
97
+ * Heatmap - Visualize matrix data with color-encoded cells
98
+ *
99
+ * A simplified wrapper around XYFrame for creating heatmaps. Perfect for
100
+ * showing patterns, correlations, and distributions in 2D data.
101
+ *
102
+ * @example
103
+ * ```tsx
104
+ * // Simple heatmap
105
+ * <Heatmap
106
+ * data={[
107
+ * {x: 1, y: 1, value: 10},
108
+ * {x: 1, y: 2, value: 20},
109
+ * {x: 2, y: 1, value: 15},
110
+ * {x: 2, y: 2, value: 25}
111
+ * ]}
112
+ * xLabel="Time"
113
+ * yLabel="Category"
114
+ * />
115
+ * ```
116
+ *
117
+ * @example
118
+ * ```tsx
119
+ * // With custom color scheme and value labels
120
+ * <Heatmap
121
+ * data={data}
122
+ * colorScheme="viridis"
123
+ * showValues={true}
124
+ * valueFormat={d => d.toFixed(1)}
125
+ * />
126
+ * ```
127
+ *
128
+ * @example
129
+ * ```tsx
130
+ * // Advanced: Custom color scale
131
+ * <Heatmap
132
+ * data={data}
133
+ * colorScheme="custom"
134
+ * customColorScale={
135
+ * scaleSequential(interpolatePlasma).domain([0, 100])
136
+ * }
137
+ * />
138
+ * ```
139
+ *
140
+ * @remarks
141
+ * This component wraps {@link XYFrame} with sensible defaults for heatmaps.
142
+ * For more advanced features like hexbins, contours, or custom summaries,
143
+ * use XYFrame directly.
144
+ *
145
+ * **Breadcrumb to advanced usage:**
146
+ * - Use the `frameProps` prop to pass any XYFrame prop
147
+ * - See XYFrame documentation: https://semiotic.nteract.io/guides/xy-frame
148
+ * - All XYFrame props are available via `frameProps`
149
+ *
150
+ * @param props - Heatmap configuration
151
+ * @returns Rendered heatmap
152
+ */
153
+ export declare function Heatmap<TDatum extends Record<string, any> = Record<string, any>>(props: HeatmapProps<TDatum>): React.JSX.Element;